Abstract
The goal of this paper is to propose a framework for representing and reasoning about the rules of auction-based protocols. Such a framework is of interest for building digital marketplaces based on this type of mechanism. Hence the framework should fulfill two requirements: (i) it should enable bidders to express their preferences over combinations of items and (ii) it should allow the mechanism designer to describe the rules governing the market, namely the legality of bids, the allocative choice, and the payment rule. To do so, we define a logical language in the spirit of the Game Description Language, namely Auction Description Language with a set of functions \(\mathcal {F}_{\mathcal {B}}\) (ADL \([\mathcal {F}_{\mathcal {B}}]\)). ADL \([\mathcal {F}_{\mathcal {B}}]\) is the first language for describing auctions in a logical framework. With our approach, each stage in a protocol is seen as an independent direct revelation mechanism. Our contribution is three-fold: first, we illustrate the general dimension by representing different kinds of protocols. Second, we show how this machine-processable language enables reasoning about auction properties, including playability, termination, and classical conditions from mechanism design (e.g., budget-balance and individual rationality). Finally, we develop a model-checking algorithm for ADL \([\mathcal {F}_{\mathcal {B}}]\), with complexity in PTIME when the functions in \(\mathcal {F}_{\mathcal {B}}\) can be computed in polynomial time.
Similar content being viewed by others
Notes
Throughout the paper we use the terms “item” and “good” interchangeably.
A partial order is a relation that is reflexive, antisymmetric and transitive.
Notice \(f(.)\) may be 0-ary.
Quasilinearity of utilities refers to the fact that the utility function is a linear combination of the preference valuation function and the price paid by the agent. However, the preference function \(\vartheta _{\mathsf {i}}\) itself can be general.
We denote by \(\left\lfloor x \right\rfloor \) the greatest integer less than or equal to \(x \in \mathbb {R}\) and \(\left\lceil x \right\rceil \) the least integer greater than or equal to \(x \in \mathbb {R}\).
References
Alur, R., Henzinger, T. A., & Kupferman, O. (2002). Alternating-time temporal logic. Journal of the ACM, 49(5), 672–713.
Badica, A., & Badica, C. (2010). Specification and verification of an agent-based auction service. In G. A. Papadopoulos, W. Wojtkowski, G. Wojtkowski, S. Wrycza, & J. Zupancic (Eds.), Information systems development: Towards a service provision society (pp. 239–248). Boston: Springer.
Bădică, C., Ganzha, M., & Paprzycki, M. (2006). Rule-based automated price negotiation: Overview and experiment. In L. Rutkowski, R. Tadeusiewicz, L. A. Zadeh, & J. M. Żurada (Eds.), Artificial intelligence and soft computing—ICAISC 2006 (pp. 1050–1059). Berlin, Heidelberg: Springer Berlin Heidelberg.
Baral, C., & Uyan, C. (2001). Declarative specification and solution of combinatorial auctions using logic programming. In T. Eiter, W. Faber, & M. I. Truszczyński (Eds.), Logic programming and nonmotonic reasoning (pp. 186–199). Berlin: Springer Berlin Heidelberg.
Barthe, G., Gaboardi, M., Arias, E., Hsu, J., Roth, A., & Strub, P. Y. (2016). Computer-aided verification for mechanism design. In Conference on web and internet economics.
Belardinelli, F. (2014). Model checking auctions as artifact systems: Decidability via finite abstraction. In Proceedings of the European conference on artificial intelligence (ECAI’14) (pp. 81–86).
Bellosta, M.., Kornman, S., & Vanderpooten, D. (2005). A framework for multiple criteria English reverse auctions. In IEEE/WIC/ACM international conference on intelligent agent technology (pp. 633–639).
Bellosta, M. J., Kornman, S., & Vanderpooten, D. (2008). A unified framework for multiple criteria auction mechanisms. Web Intelligence and Agent Systems, 6(4), 401–419.
Boutilier, C., & Hoos, H. H. (2001). Bidding languages for combinatorial auctions. In B. Nebel (Ed.), Proceedings of the 7th international joint conference on artificial intelligence (IJCAI-01) (pp. 1211–1217). Seattle, Washington: Morgan Kaufmann.
Brihaye, T., Da Costa, A., Laroussinie, F., & Markey, N. (2009). Atl with strategy contexts and bounded memory. In International symposium on logical foundations of computer science (pp. 92–106). Springer.
Burghardt, J. (2002). Axiomatization of finite algebras. In Annual conference on artificial intelligence (pp. 222–234). Springer.
Caminati, M., Kerber, M., Lange, C., & Rowat, C. (2015). Sound auction specification and implementation. In ACM conference on economics and computation.
Cavallo, R., Parkes, D. C., Juda, A. I., Kirsch, A., Kulesza, A., Lahaie, S., Lubin, B., Michael, L., & Shneidman, J. (2005). TBBL: A tree-based bidding language for iterative combinatorial exchanges. In Multidisciplinary workshop on advances in preference handling, Edinburgh.
Chatterjee, K., Henzinger, T. A., & Piterman, N. (2010). Strategy logic. Information and Computation, 208(6), 677–693.
Chevaleyre, Y., Dunne, P. E., Endriss, U., Lang, J., Lemaître, M., Maudet, N., et al. (2006). Issues in multiagent resource allocation. Informatica, 30(1), 3–31.
Conitzer, V., & Sandholm, T. (2002). Complexity of mechanism design. In A. Darwiche, N. Friedman (Eds.), UAI’02, proceedings of the 18th conferences in uncertainty in artificial intelligence, University of Alberta, Edmonton, Alberta, Canada, August 1-4, 2002 (pp. 103–110). Morgan Kaufmann.
Cramton, P. (2011). Simultaneous ascending auctions, chap. 4. American Cancer Society.
Dobriceanu, A., Biscu, L., & Badica, C. (2007). Adding a declarative representation of negotiation mechanisms to an agent-based negotiation service. In 2007 IEEE/WIC/ACM international conferences on web intelligence and intelligent agent technology—workshops (pp. 471–474).
Feige, U., Feldman, M., Immorlica, N., Izsak, R., Lucier, B., & Syrgkanis, V. (2015). A unifying hierarchy of valuations with complements and substitutes. In Proceeding of the AAAI conference on artificial intelligence, vol. 29(1).
Finnsson, H. (2012). Generalized Monte-Carlo tree search extensions for general game playing. In Twenty-sixth AAAI conference on artificial intelligence.
Genesereth, M., & Thielscher, M. (2014). General game playing. Synthesis lectures on artificial intelligence and machine learning. Morgan & Claypool Publishers.
Giovannucci, A., Cerquides, J., Endriss, U., & Rodríguez-Aguilar, J. A. (2010). A graphical formalism for mixed multi-unit combinatorial auctions. Autonomous Agents and Multi-Agent Systems, 20(3), 342–368.
Green, J., & Laffont, J. J. (1979). Incentives in public decision-making. North-Holland: Elsevier.
Hudert, S., Eymann, T., Ludwig, H., & Wirtz, G. (2009). A negotiation protocol description language for automated service level agreement negotiations. In 2009 IEEE conference on commerce and enterprise computing, CEC 2009 (pp. 162–169).
Hudert, S., Ludwig, H., & Wirtz, G. (2009). Negotiating SLAs—An approach for a generic negotiation framework for WS-agreement. Journal of Grid Computing, 7(2), 225–246.
Jackson, M. O. (2009). Optimization and operations research -Volume III, chap. Mechanism Theory. EOLSS Publications.
Jiang, G., Perrussel, L., Zhang, D., Zhang, H., & Zhang, Y. (2019). Game equivalence and bisimulation for game description language. In A. C. Nayak & A. Sharma (Eds.), PRICAI 2019: Trends in artificial intelligence—16th Pacific Rim international conference on artificial intelligence (Vol. 11670, pp. 583–596). Berlin: Springer.
Jiang, G., Zhang, D., Perrussel, L., & Zhang, H. (2016). Epistemic GDL: A logic for representing and reasoning about imperfect information games. In IJCAI International Joint Conference on Artificial Intelligence.
Jiang, G., Zhang, D., Perrussel, L., & Zhang, H. (2021). Epistemic GDL: A logic for representing and reasoning about imperfect information games. Artificial Intelligence, 294, 103453.
de Jonge, D., & Zhang, D. (2021). GDL as a unifying domain description language for declarative automated negotiation. Autonomous Agents and Multi-Agent Systems, 35(1), 13.
Jonge, D. D., & Zhang, D. (2016). Using GDL to represent domain knowledge for automated negotiations. In N. Osman, C. Sierra (Eds.), Autonomous agents and multiagent systems: AAMAS 2016 workshops, visionary papers, Singapore, Singapore, May 9-10, 2016, Revised Selected Papers (pp. 134–153). Cham: Springer.
Jonge, D. D., & Zhang, D. (2017). Automated negotiations for general game playing. In K. Larson, M. Winikoff, S. Das, E. Durfee (Eds.), Proceedings of the 16th conference on autonomous agents and multiAgent systems, AAMAS 2017, São Paulo, Brazil, May 8-12, 2017 (pp. 371–379). ACM.
Kalagnanam, J., & Parkes, D. C. (2004). Auctions, bidding and exchange design. In D. Simchi-Levi, S. D. Wu, & Z. J. Shen (Eds.), Handbook of quantitative supply chain analysis: Modeling in the e-business era (pp. 143–212). Boston: Springer.
Kerber, M., Lange, C., & Rowat, C. (2016). An introduction to mechanized reasoning. Journal of Mathematical Economics, 66, 26–39.
Klemperer, P. (1999). Auction theory: A guide to the literature. Journal of Economic Surveys, 13(3), 227–286.
Krishna, V. (2009). Auction theory. London: Academic Press.
Larsen, G. K. H., van Foreest, N. D., & Scherpen, J. M. A. (2013). Distributed control of the power supply-demand balance. IEEE Transactions on Smart Grid, 4(2), 828–836.
Lee, H. G., & Lee, R. (1997). A hybrid approach of linear programming and logic modeling for the market core of sealed bid auctions. Annals of Operations Research, 75, 1997.
Lochner, K. M., & Wellman, M. P. (2004). Rule-based specification of auction mechanisms. In Proceedings of the third international joint conference on autonomous agents and multiagent systems, AAMAS 20042, 818–825.
Love, N., Genesereth, M., & Hinrichs, T. (2006). General game playing: Game description language specification. Technical Report, LG-2006-01, Stanford University, Stanford, CA.
Lubin, B., Juda, A. I., Cavallo, R., Lahaie, S., Shneidman, J., & Parkes, D. C. (2008). Ice: An expressive iterative combinatorial exchange. Journal of Artificial Intelligence Research, 33, 33–77.
Maubert, B., Mittelmann, M., Murano, A., & Perrussel, L. (2021). Strategic reasoning in automated mechanism design. In Proceedings of the eighteen conference on principles of knowledge representation and reasoning.
Meyer, T., Foo, N., Kwok, R., & Zhang, D. (2004). Logical foundations of negotiation: Outcome, concession and adaptation. Proceedings of the national conference on artificial intelligence (pp. 293–298).
Mishra, D., & Sharma, T. (2018). A simple budget-balanced mechanism. Social Choice and Welfare, 50(1), 147–170.
Mittelmann, M., Bouveret, S., & Perrussel, L. (2021). A general framework for the logical representation of combinatorial exchange protocols. In F. Dignum, A. Lomuscio, U. Endriss, A. Nowé, A. (Eds.), AAMAS’21: 20th international conference on autonomous agents and multiagent systems (pp. 1602–1604). ACM.
Mittelmann, M., & Perrussel, L. (2020). Auction description language (ADL): A general framework for representing auction-based markets. In G. de Giacomo (Eds.), ECAI 2020. Santiago de Compostela: IOS Press.
Mogavero, F., Murano, A., Perelli, G., & Vardi, M. (2014). Reasoning about strategies: On the model-checking problem. ACM Transactions on Computational Logic, 15(4), 2014.
Mogavero, F., Murano, A., Perelli, G., & Vardi, M. Y. (2014). Reasoning about strategies: On the model-checking problem. ACM Transaction on Computational Logic (TOCL), 15(4), 1–47.
Myerson, R. B., & Satterthwaite, M. A. (1983). Efficient mechanisms for bilateral trading. Journal of Economic Theory, 29(2), 265–281.
Nisan, N. (2000). Bidding and allocation in combinatorial auctions. In ACM conference on electronic commerce (pp. 1–12).
Nisan, N. (2004). Bidding languages. Combinatorial Auctions (pp. 1–19).
Nisan, N., Roughgarden, T., Tardos, É., & Vazirani, V. (2007). Algorithmic game theory. Cambridge: Cambridge University Press.
Parkes, D. C., Cavallo, R., Elprin, N., Juda, A., Lahaie, S., Lubin, B., Michael, L., Shneidman, J., & Sultan, H. (2005). ICE: An Iterative Combinatorial Exchange. In Proceedings of the 6th ACM conference on electronic commerce, EC’05 (pp. 249–258). Association for Computing Machinery, New York, NY, USA.
Parkes, D. C., & Ungar, L. H. (2001). Iterative combinatorial auctions: Achieving economic and computational efficiency. Philadelphia, PA: University of Pennsylvania.
Parsons, S., Rodriguez-Aguilar, J. A., & Klein, M. (2011). Auctions and bidding: A guide for computer scientists. ACM Computing Surveys, 43(2), 2011.
Pauly, M., & Wooldridge, M. (2003). Logic for mechanism design—A manifesto. In Workshop on game theory and decision theory in agent systems (GTDT).
Porello, D., & Endriss, U. (2010). Modelling combinatorial auctions in linear logic. In Proceedings of the twelfth international conference on principles of knowledge representation and reasoning, KR’10 (pp. 71–78). AAAI Press.
Rabe, F. (2006) First-order logic with dependent types. In International joint conference on automated reasoning (pp. 377–391). Springer.
Rolli, D., Luckner, S., Gimpel, H., & Weinhardt, C. (2006). A descriptive auction language. Electronic Markets, 16(1), 51–62.
Ruan, J., Van Der Hoek, W., & Wooldridge, M. (2009). Verification of games in the game description language. Journal of Logic and Computation, 19(6), 1127–1156.
Saffidine, A. (2014). The game description language is turing complete. IEEE Transactions on Computational Intelligence and AI in Games, 6(4), 320–324.
Sandholm, T. (2003). Automated mechanism design: A new application area for search algorithms. In F. Rossi (Ed.), Principles and Practice of Constraint Programming - CP 2003 (pp. 19–36). Berlin, Heidelberg: Springer Berlin Heidelberg.
Schobbens, P. Y. (2004). Alternating-time logic with imperfect recall. Electronic Notes in Theoretical Computer Science, 85(2), 82–93.
Thielscher, M. (2011). GDL-II. KI - Künstliche Intelligenz, 25(1), 63–66.
Thielscher, M. (2017). GDL-III: A description language for epistemic general game playing. In IJCAI international joint conference on artificial intelligence (pp. 1276–1282).
Thielscher, M., & Zhang, D. (2010). From general game descriptions to a market specification language for general trading agents (pp. 259–274). Springer Berlin Heidelberg.
Voorneveld, M. (2003). Characterization of pareto dominance. Operations Research Letters, 31(1), 7–11.
Wang, H., Tang, Y., Liu, J., & Chen, W. (2018). A search optimization method for rule learning in board games. In Pacific Rim international conference on artificial intelligence (pp. 174–181). Springer.
Wooldridge, M., Ågotnes, T., Dunne, P., & Van der Hoek, W. (2007). Logic for automated mechanism design-a progress report. In Proceedings of AAAI conference on artificial intelligence.
Wooldridge, M., & Parsons, S. (2000). Languages for negotiation. In Proceedings of the 14th European conference on artificial intelligence, ECAI’00 (pp. 393–397). IOS Press, NLD.
Wooldridge, M., & Parsons, S. (2000). On the use of logic in negotiation. In Proceedings of the autonomous agents workshop on agent communication languages and conversation protocols.
Xia, M., Stallaert, J., & Whinston, A. B. (2005). Solving the combinatorial double auction problem. European Journal of Operational Research, 164(1), 239–251.
Xu, H., Bates, C., & Shatz, S. (2009). Real-time model checking for shill detection in live online auctions. In Software engineering research and practice (pp. 134–140).
Xu, H., & Cheng, Y. T. (2007). Model checking bidding behaviors in internet concurrent auctions. International Journal of Computer Systems Science & Engineering, 22(4), 179–191.
Zhang, D. (2018). A logic for reasoning about game descriptions. In T. Mitrovic, B. Xue, & X. Li (Eds.), AI 2018: Advances in artificial intelligence (pp. 38–50). Cham: Springer.
Zhang, D. (2020). Behavioural equivalence of game descriptions. In Australasian joint conference on artificial intelligence (pp. 307–319). Springer.
Zhang, D., & Thielscher, M. (2015). A logic for reasoning about game strategies. In B. Bonet, S. Koenig (Eds.), Proceedings of the twenty-Ninth AAAI conference on artificial intelligence, January 25-30, 2015, Austin, Texas, USA (pp. 1671–1677). AAAI Press.
Zhang, D., & Thielscher, M. (2015). Representing and reasoning about game strategies. Journal of Philosophical Logic, 44(2), 203–236.
Acknowledgements
This research is supported by the ANR Project AGAPE ANR-18-CE23-0013. The authors would like to thank the reviewers for carefully reading of the manuscript and for providing insightful comments.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Appendix A: Technical Proof
Appendix A: Technical Proof
Proposition 1
Let \(\text {M}\) be an ST-model, for each agent \(\mathsf {i}\in \text {N}\) and each action \(\upbeta \in \mathcal {B}\),
-
1.
\(\text {M}\models does_\mathsf {i}(\upbeta ) \rightarrow \lnot does_\mathsf {i}(\upbeta ')\), for any \(\upbeta ' \in \mathcal {B}\) such that \(\upbeta ' \ne \upbeta \)
-
2.
\(\text {M}\models \bigvee _{\upbeta ' \in \mathcal {B}} does_\mathsf {i}(\upbeta ')\)
-
3.
\(\text {M}\models does_\mathsf {i}(\upbeta ) \rightarrow legal_\mathsf {i}(\upbeta )\)
-
4.
\(\text {M}\models \lnot \bigcirc initial\)
-
5.
\(\text {M}\models terminal\wedge \varphi \rightarrow \bigcirc \varphi \), for any \(\varphi \in \mathcal {L}_{\textsf {{ADL}}[\mathcal {F}_{\mathcal {B}}]}\)
-
6.
\(\text {M}\models initial\rightarrow \lnot terminal\)
Proof
Let \(\text {M}\) be an ST-model, \(\updelta \) be a path, \(t\ge 0\) be an stage in \(\updelta \), \(\mathsf {i}\in \text {N}\) be an agent and \(\upbeta \in \mathcal {B}\) be an action. For Statement 1, assume \(\text {M}, \updelta , t\models does_\mathsf {i}(\upbeta )\) iff \(\uptheta _{\mathsf {i}} (\updelta , t) = \upbeta \). Then for any \(\upbeta ' \in \mathcal {B}\) such that \(\upbeta ' \ne \upbeta \), \(\uptheta _{\mathsf {i}} (\updelta , t) \ne \upbeta '\) and \(\text {M}, \updelta , t\models \lnot does_\mathsf {i}(\upbeta ')\).
Statement 2 follows from the definition of \(\updelta \), since \(\theta _\mathsf {i}(\updelta , t) \in \text {L}(\delta [t], \mathsf {i})\) and \(\text {L}(\delta [t], \mathsf {i}) \subseteq \mathcal {B}\), we have \(\text {M}, \delta , t\models \bigvee _{\upbeta ' \in \mathcal {B}} does_\mathsf {i}(\upbeta ')\).
Let us verify Statement 3. Assume \(\text {M}, \updelta , t\models does_\mathsf {i}(\upbeta )\), then \(\uptheta _{\mathsf {i}} (\updelta , t) = \upbeta \) and by the definition of \(\updelta \), \(\upbeta \in \text {L}(\updelta [t], \mathsf {i})\) and \(\text {M}, \updelta , t\models legal_\mathsf {i}(\upbeta )\).
We consider Statement 4. By the path definition, for all \(t> 0\), \(\delta [t] \ne \bar{\text {w}}\). Thus, \(\delta [t+1] \ne \bar{\text {w}}\) and \(\text {M}, \delta , t+1 \models \lnot initial\). It follows that \(\text {M}, \delta , t\models \lnot \bigcirc initial\).
We now verify Statement 5. Assume \(\text {M}\models terminal\wedge \varphi \), for some \(\varphi \in \mathcal {L}_{\textsf {{ADL}}[\mathcal {F}_{\mathcal {B}}]}\). Then \(\updelta [t] \in \text {T}\) and \(\delta [t+1] = \delta [t]\). Thus, \(\text {M}, \delta , t+1 \models \varphi \) and \(\text {M}, \delta , t\models \bigcirc \varphi \).
Finally, we consider Statement 6. Assume for the sake of contradiction that \(\text {M}, \updelta , t\models initial\wedge terminal\). Then, \(\updelta [t] = \bar{\text {w}}\) and \(\updelta [t] \in \text {T}\). By the path definition, it should be the case that \(t= 0\). Due to the loop on terminal states, it follows that \(\text {w}_{0} = \text {w}_{1}\), which is a contradiction with the path requirement \(\text {w}_{t'} \ne \text {w}_0\), for any \(t' \ge 1\).
Lemma 1
\(\text {M}_{sa}\) is an ST-model and it is a model of \(\Sigma _{sa}\).
Proof
(Sketch) It is routine to check that \(\text {M}_{sa}\) is actually an ST-model. Given a path \(\updelta \), any stage \(t\) of \(\updelta \) in \(\text {M}_{sa}\), we need to show that \(\text {M}_{sa},\updelta , t \models \varphi \), for each \(\varphi \in \Sigma _{sa}\). Let us verify Rule 1. Assume \(\text {M}_{sa}, \updelta , t\models initial\) iff \(\updelta [t]= \bar{\text {w}}\). By the definition of \(\bar{\text {w}}\), \(\uppi _{{\Upphi }}\) and \(\uppi _{\text {Y}}\), we have \(\uppi _{\text {Y}}(\bar{\text {w}}, price) = \mathsf {start}\), \(\uppi _{\text {Y}}(\bar{\text {w}}, price_j) = \mathsf {start}\), \(bid_{\mathsf {i},j} \not \in \uppi _{{\Upphi }}(\bar{\text {w}})\) and \(trade_{\mathsf {i},j} = 0\), for all \(\mathsf {i}\in \text {N}\) and \(j\in \text {G}\). Thus, \(\text {M}_{sa}, \updelta , t\models initial\) iff \(\text {M}_{sa}, \updelta , t\models price = \mathsf {start} \) \( \wedge \bigwedge _{j\in \text {G}} ( price_j= \) \(\mathsf {start} \wedge \bigwedge _{\mathsf {i}\in \text {N}} (\lnot bid_{\mathsf {i},j} \wedge trade_{\mathsf {i},j} = 0))\).
Now we verify Rule 2. Let \(j\in \text {G}\) be a good type. Assume \(\text {M}_{sa}, \updelta , t\models sold_j\) iff \(sold_j \in \uppi _{{\Upphi }}(\updelta [t])\) iff \(\uppi _{\text {Y}}(\updelta [t], trade_{\mathsf {i},j}) = 1\) for some \(j\in \text {G}\) iff \(\text {M}_{sa}, \updelta , t\models \bigvee _{\mathsf {i}\in \text {N}} trade_{\mathsf {i},j} = 1\).
Next, we consider Rule 3. Assume \(\text {M}_{sa}, \updelta , t\models terminal\) iff \(\updelta [t]\ne \bar{\text {w}}\) and for all \(j\in \text {G}\), either \(\text {M}_{sa}, \updelta , t\models trade_{r,j} = 1\) for some \(\mathsf {r}\in \text {N}\) or \(\text {M}_{sa}, \updelta , t\models \lnot bid_{\mathsf {i},j}\) for all \(\mathsf {i}\in \text {N}\). By Rule 2, \(\text {M}_{sa}, \updelta , t\models terminal\) iff \(\text {M}_{sa}, \updelta , t\models \lnot initial \wedge \bigwedge _{j\in \text {G}} (sold_j \vee \bigwedge _{j\in \text {G}} \lnot bid_{\mathsf {i},j})\).
Now we verify Rule 9. Let \(\mathsf {i}\in \text {N}\) and \(j\in \text {G}\). Assume \(\text {M}_{sa}, \updelta , t\models (does_\mathsf {i}(p_1, \ldots , p_\mathsf {m}) \wedge p_j\ne 0) \vee (bid_{\mathsf {i},j} \wedge terminal)\), for some \(p_1, \ldots , p_\mathsf {m}\in \text {I}_{\succeq 0}\). We next prove for the two cases. First, assume \(\text {M}_{sa}, \updelta , t\models bid_{\mathsf {i},j} \wedge terminal\). Then \(bid_{\mathsf {i},j} \in \uppi _{{\Upphi }}(\updelta [t])\) and \(\updelta [t]\in \text {T}\). By the update function, \(\updelta [t+1] = \updelta [t]\) and \(\text {M}_{sa}, \updelta , t+1 \models bid_{\mathsf {i},j}\), i.e., \(\text {M}_{sa}, \updelta , t\models \bigcirc bid_{\mathsf {i},j}\). In the second case, assume \(does_\mathsf {i}(p_1, \ldots ,p_\mathsf {m}) \wedge p_j\ne 0\). By the update function, \(bid_{\mathsf {i},j}\in \uppi _{{\Upphi }}(\updelta [t+1])\) and thus \(\text {M}_{sa}, \updelta , t\models \bigcirc bid_{\mathsf {i},j}\).
The remaining rules are verified in a similar way.
Proposition 2
For each \(j\in \text {G}\) and each \(\mathsf {i}, \mathsf {r}\in \text {N}\) such that \(\mathsf {i}\ne \mathsf {r}\),
-
1.
\(\text {M}_{sa}\models trade_{\mathsf {i},j} = 0 \vee trade_{\mathsf {r},j} = 0\)
-
2.
\(\text {M}_{sa}\models sold_j\rightarrow \bigcirc sold_j\)
-
3.
\(\text {M}_{sa}\models \lnot sold_j\rightarrow price = price_j\)
Proof
Given a path \(\updelta \) in \(\text {M}_{sa}\), any stage \(t\) of \(\updelta \) and a good type \(j\in \text {G}\), let \(\mathsf {i}, \mathsf {r}\in \text {N}\), such that \(\mathsf {i}\ne \mathsf {r}\). Let us consider Statement 1. If \(\updelta [t]= \bar{\text {w}}\), then \(\text {M}_{sa}, \updelta , t\models trade_{\mathsf {i},j} =0 \wedge trade_{\mathsf {r},j} =0\) (see Rule 1). Otherwise, by the path definition, \(\updelta [j] = \text {U}(\updelta [t-1], \uptheta (\updelta , t-1))\). Let us suppose for the sake of contradiction that \(\text {M}_{sa}, \updelta , t\not \models trade_{\mathsf {i},j} = 0 \vee trade_{\mathsf {r}, j} = 0\). Since \(\text {W}\) construction defines \(trade_{\mathsf {i},j}, trade_{\mathsf {r}, j} \in \{0,1\}\), we have \(\text {M}_{sa}, \updelta , t\models trade_{\mathsf {i},j} = 1 \wedge trade_{\mathsf {r}, j} = 1\). Thus, \(\text {M}_{sa}, \updelta , t-1 \models \bigcirc trade_{\mathsf {i},j}\). By Rule 4, \(\text {M}_{sa}, \updelta , t-1 \models \bigcirc (bid_{\mathsf {i},j} \wedge \bigwedge _{\mathsf {s}\in \text {N}{\setminus } \{\mathsf {i}\}} \lnot bid_{\mathsf {s},j})\). Thereby, \(\text {M}_{sa}, \updelta , t-1 \not \models \bigcirc (bid_{\mathsf {r}, j} \wedge \bigwedge _{\mathsf {s}\in \text {N}{\setminus } \{\mathsf {r}\}} \lnot bid_{\mathsf {s},j})\) and \(\text {M}_{sa}, \updelta \), \(t-1 \not \models \bigcirc trade_{\mathsf {r}, j=1}\). Thus, \(\text {M}_{sa}, \updelta , t\not \models trade_{\mathsf {r}, j} = 1\), which is a contradiction.
For Statement 2. Assume \(\text {M}_{sa}, \delta , t\models sold_j\). Then, \(\text {M}_{sa}, \delta , t\models trade_{\mathsf {i}, j} = 1\) for some agent \(\mathsf {i}\in \text {N}\). From Rule 6, \(\theta _\mathsf {i}(\delta , t) = (p_1, \dots , p_\mathsf {m})\) with \(p_j= \uppi _{\text {Y}}(\delta [t], price_j)\) and \(\theta _\mathsf {r}(\delta , t) = (p_1', \dots , p_\mathsf {m}')\) with \(p_j' = 0\), for all agent \(\mathsf {r}\ne \mathsf {i}\). By Rule 9, we have \(\text {M}_{sa}, \delta , t\models bid_{\mathsf {i}, j} \wedge \bigwedge _{\mathsf {r}\in \text {N}{\setminus } \{\mathsf {i}\}} \lnot bid_{\mathsf {r},j}\). Thus, it follows from Rules 2 and 4 that \(\text {M}_{sa}, \delta , t\models \bigcirc trade_{\mathsf {i}, j} = 1\) and \(\text {M}_{sa}, \delta , t\models \bigcirc sold_j\).
For Statement 3, notice all prices in the initial state have the same value (Rule 1) and the current price and the price for unsold items are increased by the same amount in each turn (Rule 7 and 8). Assume \(\text {M}_{sa}, \delta , t\models \lnot sold_j\). Since \(\text {M}_{sa} \models sold_j\rightarrow \bigcirc sold_j\), there is no stage \(t'<t\) such that \(\text {M}_{sa}, \delta , t' \models sold_j\) and thus \(\text {M}_{sa}, \delta , t\models price = price_j\).
Proposition 3
\(\text {M}_{sa}\models \bigcirc wbb\) and \(\text {M}_{sa}\not \models \bigcirc sbb\)
Proof
Suppose a path \(\updelta \) in \(\text {M}_{sa}\) and a stage \(t\) in \(\updelta \). Note that each trade can be either 0 or 1 and the price for a good is at least 0, i.e., \(\uppi _{\text {Y}}(\updelta [t], trade_{\mathsf {i},j}) \in \{0, 1\}\) and \(\uppi _{\text {Y}}(\updelta [t], price_j) \in \text {I}_{\succeq 0}\). It follows from Rule 10 that \(\text {M}_{sa}, \updelta , t\models payment_{\mathsf {i}} \ge 0\) for each agent \(\mathsf {i}\) and \(\text {M}_{sa}, \updelta , t\models \text {sum}_{\mathsf {i}\in \text {N}}(payment_\mathsf {i}) \ge 0\). Thus, \(\text {M}_{sa} \models \bigcirc wbb\).
We will prove \(\text {M}_{sa}\) is not strongly budget-balanced with a counter-example. Given an agent \(\mathsf {i}\), let \(\updelta \) be a path in \(\text {M}_{sa}\) such that \(\theta _\mathsf {i}(\updelta , 0) = (\mathsf {start}, 0, \dots , 0)\) and \(\theta _\mathsf {s}(\updelta , 0) = (0, \dots , 0)\) for each agent \(\mathsf {s}\ne \mathsf {i}\). Since \((\mathsf {start}, 0, \dots , 0) \in \text {L}(\updelta [0], \mathsf {i})\) and \((0, \dots , 0) \in \text {L}(\text {w}, \mathsf {s})\), there exists such path in \(\text {M}_{sa}\). Since \(\updelta [0] \not \in \text {T}\), \(\uppi _{\text {Y}}(\updelta [0], price) = \uppi _{\text {Y}}(\updelta [0], price_j) = \mathsf {start}\) and \(sold_j\not \in \uppi _{{\Upphi }}(\updelta [0])\) for each \(j\), it follows from Rules 7 and 8, that all prices are increased by the constant \(\mathsf {inc}>0\), that is \(\text {M}_{sa}, \updelta , 1 \models price = \text {sum}(\mathsf {start}, \mathsf {inc}) \wedge \bigwedge _{j\in \text {G}} price_j= \text {sum}(\mathsf {start}, \mathsf {inc})\). By Rule 9, we have that agent \(\mathsf {i}\) is only bidding for the good 1, that is, \(\text {M}_{sa}, \updelta , 1 \models bid_{\mathsf {i},1} \wedge \bigwedge _{j\in \text {G}{\setminus }\{1\}} \lnot bid_{\mathsf {i}, j}\). All other agents are not bidding for any good, i.e., \(\text {M}_{sa}, \updelta , 1 \models \bigwedge _{j\in \text {G}} \lnot bid_{\mathsf {s}, j}\), for each \(\mathsf {s}\ne \mathsf {i}\). From Rules 4 and 10, we have \(\text {M}_{sa}, \updelta , 1 \models trade_{\mathsf {i}, 1} =1 \wedge payment_\mathsf {i}= price_1 \wedge \bigwedge _{\mathsf {s}\in \text {N}{\setminus }\{\mathsf {i}\}}\text {p}_\mathsf {s}=0\). Since \(\uppi _{\text {Y}}(\updelta [1], price_1) >0\), we have \(\text {M}_{sa}, \updelta , 1 \not \models \text {sum}_{\mathsf {s}\in \text {N}}(payment_\mathsf {s}) =0\) and \(\text {M}_{sa}\not \models \bigcirc sbb\).
Proposition 4
Given a joint action \(\varvec{\upbeta } \in \mathcal {B}^\mathsf {n}\),
-
1.
\(\text {M}_{sa} \not \models does(\varvec{\upbeta }) \rightarrow \bigcirc e\textit{f}(\varvec{\upbeta })\)
-
2.
\(\text {M}_{sa} \models does(\varvec{\upbeta }) \rightarrow \bigcirc (terminal\rightarrow e\textit{f}(\varvec{\upbeta }))\)
Proof
Given a path \(\delta \) in \(\text {M}_{sa}\), we first consider Statement 1. We prove \(\text {M}_{sa}\) is not efficient with a counter-example. Our purpose is to show that there exists a joint action \(\varvec{\upbeta }\) such that \(\text {M}_{sa}, \delta , 0 \models does(\varvec{\upbeta }) \wedge \lnot \bigcirc e\textit{f}(\varvec{\upbeta })\). That is, \(\text {M}_{sa}, \delta , 0 \models does(\varvec{\upbeta }) \wedge \lnot \bigcirc \text {sum}_{\mathsf {i}\in \text {N}}(v_\mathsf {i}(\upbeta _\mathsf {i}, \varvec{(trade_{j})}_{j\in \text {G}})) = \max _{\varvec{\uplambda }\in \Uplambda }(\text {sum}_{\mathsf {i}\in \text {N}}(v_\mathsf {i}(\upbeta _\mathsf {i}, \varvec{\uplambda })))\).
As we consider the initial state of \(\delta \), \(\text {M}_{sa}, \delta , 0 \models price = \mathsf {start} \wedge \bigwedge _{j\in \text {G}} price_j= \mathsf {start} \wedge \bigwedge _{\mathsf {i}\in \text {N}} (\lnot bid_{\mathsf {i}, j} \wedge trade_{\mathsf {i}, j} = 0)\). Thus, no good was sold, that is, \(\text {M}_{sa}, \delta , 0 \models \bigwedge _{j\in \text {G}}\lnot sold_j\). Let \(\mathsf {i}\) and \(\mathsf {r}\) be two distinct agents in \(\text {N}\) with \(\mathsf {i}\ne \mathsf {r}\). From the definition of \(\text {L}\), \(\text {L}(\delta [0], \mathsf {i})= \text {L}(\delta [0], \mathsf {r})\) and \((p_1, \dots , p_\mathsf {m}) \in \text {L}(\delta [0], \mathsf {i})\) if \(p_j= 0\) or \(p_j= \text {sum}(\mathsf {start},\mathsf {inc})\) for each good \(j\).
Let us assume \(\text {M}_{sa}, \delta , 0 \models does(\varvec{\upbeta })\) for \(\varvec{\upbeta } \in \mathcal {B}^\mathsf {n}\) such that \(\upbeta _\mathsf {i}=\upbeta _\mathsf {r}= (\mathsf {start}+\mathsf {inc}, 0, \dots , 0)\) and \(\upbeta _\mathsf {s}=(0, \dots , 0)\) for each \(\mathsf {s}\in \text {N}{\setminus }\{\mathsf {i}, \mathsf {r}\}\). Since \(\upbeta _\mathsf {i}\in \text {L}(\delta [0], \mathsf {i})\), \(\upbeta _\mathsf {r}\in \text {L}(\delta [0], \mathsf {r})\) and \(\upbeta _\mathsf {s}\in \text {L}(\delta [0], \mathsf {s})\), there exists such path in \(\text {M}_{sa}\). Thus, \(\text {M}_{sa}, \delta , 1 \models bid_{\mathsf {i}, 1} \wedge bid_{\mathsf {r}, 1}\). Notice \(bid_{\mathsf {i}', j}\) does not hold in \(\delta [1]\) for any other pair \((\mathsf {i}', j) \ne (\mathsf {i}, 1)\) and \((\mathsf {i}', j) \ne (\mathsf {s}, 1)\). From Rules 4 and 5, we have \(\text {M}_{sa}, \delta , 1 \models \bigwedge _{\mathsf {i}' \in \text {N}, j\in \text {G}} trade_{\mathsf {i}', j} = 0\).
Recall the valuation of each agent \(\mathsf {i}'\) is \(v_\mathsf {i}' ((p_1, \ldots , p_\mathsf {m}), \varvec{\uplambda }) = \sum _{j\in \text {G}} \uplambda _{\mathsf {i}', j} \cdot p_j\) for a trade \(\varvec{\uplambda }\in \text {I}^{\mathsf {n}\mathsf {m}}\) and a bid \((p_1, \ldots , p_\mathsf {m}) \in \mathcal {B}\). Since each trade has the value 0 in \(\delta [1]\), it follows that \(\text {M}_{sa}, \delta , 1 \models \text {sum}_{\mathsf {i}\in \text {N}}(v_\mathsf {i}(\upbeta _\mathsf {i}, \varvec{(trade_{j})}_{j\in \text {G}})) =0\).
However, let \(\varvec{\uplambda }\in \text {I}^{\mathsf {n}\mathsf {m}}\) be a trade such that \(\uplambda _{\mathsf {i}, 1}=1\) and \(\uplambda _{\mathsf {i}', j}=0\) for all other pair \((\mathsf {i}', j) \ne (\mathsf {i},1)\). It is easy to see that \(\varvec{\uplambda }\in \Uplambda \). The value of this trade for \(\mathsf {i}\) is \(v_\mathsf {i}(\upbeta _\mathsf {i}, \varvec{\uplambda }) = \mathsf {start}+\mathsf {inc}\) and \(v_\mathsf {i}'(\upbeta _\mathsf {i}', \varvec{\uplambda }) = 0\) for each \(\mathsf {i}'\ne \mathsf {i}\). Thus, we have \(\sum _{\mathsf {i}\in \text {N}}(v_\mathsf {i}(\upbeta _\mathsf {i}, \varvec{\uplambda })) = \mathsf {start}+\mathsf {inc}\), \(\text {M}_{sa}, \delta , 1 \models \lnot \text {sum}_{\mathsf {i}\in \text {N}}(v_\mathsf {i}(\upbeta _\mathsf {i}, \varvec{(trade_{j})}_{j\in \text {G}})) =\max _{\varvec{\uplambda }\in \Uplambda }(\text {sum}_{\mathsf {i}\in \text {N}}(v_\mathsf {i}(\upbeta _\mathsf {i}\), \(\varvec{\uplambda })))\) and \(\text {M}_{sa}, \delta , 0 \models \lnot \bigcirc e\textit{f}(\varvec{\upbeta })\).
For Statement 2, let \(\varvec{\upbeta } \in \mathcal {B}^\mathsf {n}\) be a joint action and \(t\ge 0\) be a stage of \(\delta \). From the definition of \(\text {M}_{sa}\) we have that each trade can be only 0 or 1. That is, if \(\varvec{\uplambda }\in \Uplambda \) then \(\uplambda _{\mathsf {i}, j} \in \{0,1\}\) for each agent \(\mathsf {i}\) and good \(j\). Assume \(\text {M}_{sa} \models does(\varvec{\upbeta }) \) and \(\text {M}_{sa}, \delta , t\models \bigcirc terminal\). We intend to show that \(\text {M}_{sa} \models \bigcirc e\textit{f}(\varvec{\upbeta })\), i.e., \(\text {M}_{sa}, \delta , t\models \bigcirc \text {sum}_{\mathsf {i}\in \text {N}}(v_\mathsf {i}(\upbeta _\mathsf {i}, \varvec{(trade_{j})}_{j\in \text {G}})) = \max _{\varvec{\uplambda }\in \Uplambda }(\text {sum}_{\mathsf {i}\in \text {N}}(v_\mathsf {i}(\upbeta _\mathsf {i}, \varvec{\uplambda }))))\).
We focus on the case where \(\delta [t] \not \in \text {T}\). Let \(\mathsf {i}\) be an agent in \(\text {N}\) and let \((p_1, \dots , p_\mathsf {m})\) denote \(\mathsf {i}\)’s action in \(\varvec{\upbeta }\). Recall function \(v_{\mathsf {i}}((p_1, \dots , p_\mathsf {m}), \varvec{\uplambda }) = \sum _{j\in \text {G}} p_j\cdot \uplambda _{\mathsf {i}, j}\), for a trade \(\varvec{\uplambda }\in \text {I}^{\mathsf {n}\mathsf {m}}\). Since the value for each good in \(v_\mathsf {i}\) depends only on its reported value in \(\mathsf {i}\)’s bid and its trade for \(\mathsf {i}\), we show that the part of \(v_{\mathsf {i}}((p_1, \dots , p_\mathsf {m}), \varvec{\uplambda })\) corresponding to each good \(j\) (i.e., \(p_j\cdot \uplambda _{\mathsf {i},j}\)) is maximized when \(\uplambda _{\mathsf {i}, j} = \uppi _{\text {Y}}(\delta [t], trade_{\mathsf {i}, j})\).
From the definition of \(\mathcal {B}\), we have that the reported value for \(j\) in \(\mathsf {i}\)’s bid is at least zero, i.e., \(p_j\ge 0\). We check for two cases:
-
1.
If \(p_j= 0\), then \(\uplambda _{\mathsf {i}j}\cdot p_j= 0\), for any trade \(\varvec{\uplambda }\in \Uplambda \). Thus, \(\text {M}_{sa}, \delta , t+1 \models \text {times}(p_j, trade_{\mathsf {i}, j}) = \max ( \text {times}(p_j, 0), \text {times}(p_j, 1) )\);
-
2.
If \(p_j> 0\), then \(\text {M}_{sa}, \delta , t+1 \models bid_{\mathsf {i}, j}\). Since \(\delta [t+1]\in \text {T}\), it should be the case that \(\text {M}_{sa}, \delta , t+1 \models sold_j\). From Rule 2, we know the trade for good \(j\) is one for some agent, i.e., \(\text {M}_{sa}, \delta , t+1 \models \bigvee _{\mathsf {r}\in \text {N}} trade_{\mathsf {r}, j} = 1\). Because \(\text {M}_{sa}, \delta , t+1 \models bid_{\mathsf {i}, j}\), it should be the case that the agent who have a trade for \(j\) is \(\mathsf {i}\) (see Rules 4 and 5), that is, \(\text {M}_{sa}, \delta , t+1 \models trade_{\mathsf {i}, j}=1\). Hence, \(\text {M}_{sa}, \delta , t+1 \models \text {times}(p_j, 1) = \max (\text {times}(p_j, 0), \text {times}(p_j, 1))\).
It follows that
or simply, \(\text {M}_{sa}, \delta , t\models \bigcirc ef(\varvec{\upbeta })\).
The case where \(\delta [t] \in \text {T}\), follows from the loop on the path definition.
Proposition 5
\(\text {M}_{sa}\) is strategyproof.
Proof
Given a path \(\delta \) in \(\text {M}_{sa}\) and a stage \(t\ge 0\) in \(\delta \), such that \(\text {L}(\delta [t], \mathsf {i}) \approx _\mathsf {i}V_\mathsf {i}\). Let \(\varvec{\vartheta } \in \prod _{\mathsf {i}\in \text {N}}V_\mathsf {i}\) be a preference profile and \(\delta _{\varvec{\vartheta }}\) denote a path such that \(\delta [0,t] = \delta _{\varvec{\vartheta }}[0,t]\) and \(\theta (\delta _{\varvec{\vartheta }}, t) = \varvec{\upbeta _\vartheta }\). We let \(\vartheta '_{\mathsf {i}} \in V_\mathsf {i}\) denote a preference of agent \(\mathsf {i}\), \(\varvec{\vartheta '} = (\vartheta _\mathsf {i}', \vartheta _{-\mathsf {i}})\) and \(\delta _{\varvec{\vartheta '}}\) be a path such that \(\delta [0,t] = \delta _{\varvec{\vartheta '}}[0,t]\), \(\theta _\mathsf {i}(\delta _{\varvec{\vartheta '}}, t) = \upbeta _{\vartheta '_\mathsf {i}}\) and \(\theta _\mathsf {r}(\delta _{\varvec{\vartheta '}}, t) = \upbeta _{\vartheta _\mathsf {r}}\) for each agent \(\mathsf {r}\ne \mathsf {i}\).
In the stage \(t\) of \(\delta _{{\varvec{\vartheta }}}\), the agents report their (truthful) preferences \(\varvec{\vartheta }\), i.e., \(\text {M}_{sa}, \delta _{\varvec{\vartheta }}, t\models does(\varvec{\upbeta _\vartheta })\). On the other hand, in the stage \(t\) of \(\delta _{\varvec{\vartheta '}}\), the agent \(\mathsf {i}\) reports her (untruthful) preference \(\vartheta '_\mathsf {i}\) and each agent \(\mathsf {r}\ne \mathsf {i}\) reports \(\vartheta _\mathsf {r}\), i.e., \(\text {M}_{sa}, \delta _{\varvec{\vartheta '}}, t\models does_\mathsf {i}(\upbeta _{\vartheta _\mathsf {r}'}) \wedge \bigwedge _{\mathsf {r}\in \text {N}{\setminus }\{\mathsf {i}\}} does_\mathsf {r}(\upbeta _{\vartheta _\mathsf {r}})\).
For some \(x\in \text {I}\), we have to show \(\text {M}_{sa},\delta _{\varvec{\vartheta }}, t\models \bigcirc \text {sub}(v_{\mathsf {i}}(\upbeta _{\vartheta _\mathsf {i}}, \varvec{(trade_{j})}_{j\in \text {G}})\), \(payment_\mathsf {i}) = x\) and \(\text {M}_{sa},\delta _{\varvec{\vartheta '}}, t\models \bigcirc \text {sub}(v_{\mathsf {i}}(\upbeta _{\vartheta _\mathsf {i}}, \varvec{(trade_{j})}_{j\in \text {G}}), payment_\mathsf {i}) \le x\).
That is, agent \(\mathsf {i}\)’s utility in \(\delta _{\varvec{\vartheta '}}\) is not better than in \(\delta _{\varvec{\vartheta }}\). Remind the legal actions in \(\delta [t]\) represent her preference space, i.e., \(\text {L}(\delta [t], \mathsf {i}) \approx _\mathsf {i}V_\mathsf {i}\). Notice the value of a bid \((p_1, \ldots , p_\mathsf {m})\) given a trade \(\varvec{\uplambda }\) is \(v_\mathsf {i}((p_1, \ldots , p_\mathsf {m}), \varvec{\uplambda }) = \sum _{j\in \text {G}} \uplambda _{\mathsf {i}, j} \cdot p_j\). Similarly, the payment in \(\delta [t]\) is \(\uppi _{\text {Y}}(\delta [t], payment_\mathsf {i}) = \sum _{j\in \text {G}} \uppi _{\text {Y}}(\delta [t], trade_{\mathsf {i}, j}) \cdot \uppi _{\text {Y}}(\delta [t], price_j)\). Since there is no dependence among goods in \(v_\mathsf {i}\) and in \(\mathsf {i}\)’s payment, we consider the part of \(\mathsf {i}\)’s utility corresponding to \(j\) in \(\delta _{\varvec{\vartheta }}\) and \(\delta _{\varvec{\vartheta '}}\). Thus, we need to show that
-
(i)
\(\text {M}_{sa}, \delta _{\varvec{\vartheta }}, t\models \bigcirc \text {sub}(\text {times}(trade_{\mathsf {i}, j}, p_j), \text {times}(trade_{\mathsf {i}, j}, price_j)) = x_j\)
-
(ii)
\(\text {M}_{sa}, \delta _{\varvec{\vartheta '}}, t\models \bigcirc \text {sub}(\text {times}(trade_{\mathsf {i}, j}, p_j), \text {times}(trade_{\mathsf {i}, j}, price_j)) \le x_j\)
for some \(x_j\in \text {I}\) and each good \(j\in \text {G}\).
We denote \(\upbeta _{\vartheta _{\mathsf {i}}} = (p_1, \dots , p_\mathsf {m})\) and \(\upbeta _{\vartheta '_{\mathsf {i}}} = (p_1', \dots , p_\mathsf {m}')\). According to the legality definition, the values of \(p_j\) and \(p_j'\) can be either the price of \(j\) in \(\delta [t]\), zero, or the price in \(\delta [t]\) incremented by \(\mathsf {inc}>0\). Let us consider each case:
-
Assume \(p_j= \uppi _{\text {Y}}(\delta [t],price_j)\) iff \(\text {M}_{sa}, \delta , t\models trade_{\mathsf {i}, j} = 1\) (w.r.t the definition of \(\text {L}\)). That is, \(p_j= \uppi _{\text {Y}}(\delta [t],price_j)\) when good \(j\) was already bought by agent \(\mathsf {i}\). Thus, it is not legal for \(\mathsf {i}\) to bid any other value for \(j\), i.e., \((p_1', \dots , p_j') \in \text {L}(\delta [t], \mathsf {i})\) iff \(p_j= p_j'\). Thereby, it is easy to see that \(\text {M}_{sa}, \delta _{\varvec{\vartheta }}, t\models \bigcirc \text {sub}(\text {times}(trade_{\mathsf {i}, j}, p_j), \text {times}(trade_{\mathsf {i}, j}, price_j)) = p_j\) and also \(\text {M}_{sa}, \delta _{\varvec{\vartheta '}}, t\models \bigcirc \text {sub}(\text {times}(trade_{\mathsf {i}, j}, p_j), \text {times}(trade_{\mathsf {i}, j}, price_j))= p_j\).
-
Assume agent \(\mathsf {i}\) declines to raise her bid for good \(j\), that is, \(p_j= 0\). By Rules 5 and 9, we have \(\text {M}_{sa}, \delta _{\varvec{\vartheta }}, t\models \bigcirc trade_{\mathsf {i}, j} = 0\) and \(\text {M}_{sa}, \delta _{\varvec{\vartheta }}, t\models \bigcirc \text {sub}(\text {times}(trade_{\mathsf {i}, j}, p_j), \text {times}(trade_{\mathsf {i}, j}, price_j))= 0\). By the legality definition, it should be the case that \(\text {M}_{sa}, \delta , t\models \lnot trade_{\mathsf {i}, j}=0\) and \(p_j'\) is either 0 or \(\uppi _{{\Upphi }}(\delta [t], price)+\mathsf {inc}\). If \(p_j'=0\), then \(\text {M}_{sa}, \delta _{\varvec{\vartheta '}}, t\models \bigcirc \text {sub}(\text {times}(trade_{\mathsf {i}, j}, p_j)\), \(\text {times}(trade_{\mathsf {i}, j}, price_j))= 0\). Otherwise, the value of \(trade_{\mathsf {i}, j}\) in \(\delta _{\varvec{\vartheta '}}[t+1]\) will be either 0 or 1, depending on the joint bid \(\varvec{\upbeta _{\vartheta '}}\).
-
If \(\text {M}_{sa}, \delta _{\varvec{\vartheta '}}, t\models \bigcirc trade_{\mathsf {i}, j} = 1\), then \(\text {M}_{sa}, \delta _{\varvec{\vartheta '}}, t\models \bigcirc \text {sub}(\text {times}(trade_{\mathsf {i}, j}, p_j)\), \(\text {times}(trade_{\mathsf {i}, j}, price_j))= \text {sub}(0, price_j)\). Since \(\uppi _{\text {Y}}(\delta _{\varvec{\vartheta '}}[t+1], price_j)\ge 0\), we have \(\text {sub}(\text {times}(trade_{\mathsf {i}, j}, p_j)\), \(\text {times}(trade_{\mathsf {i}, j}, price_j))\le 0\).
-
Otherwise, the trade for good \(j\) is zero (i.e., \(\text {M}_{sa}, \delta _{\varvec{\vartheta '}}, t\models \bigcirc trade_{\mathsf {i}, j} = 0\)) and \(\text {M}_{sa}, \delta _{\varvec{\vartheta '}}, t\models \bigcirc \text {sub}(\text {times}(trade_{\mathsf {i}, j}, p_j), \text {times}(trade_{\mathsf {i}, j}, price_j))= 0\).
-
-
The proof for the case \(p_j= \uppi _{\text {Y}}(\delta [t], price)+\mathsf {inc}\) is similar to the previous case.
It follows that \(\text {M}_{sa},\delta _{\varvec{\vartheta }}, t\models \bigcirc \text {sub}(v_{\mathsf {i}}(\upbeta _{\vartheta _\mathsf {i}}, \varvec{(trade_{j})}_{j\in \text {G}})\), \(payment_\mathsf {i}) = x\) and \(\text {M}_{sa},\delta _{\varvec{\vartheta '}}, t\models \bigcirc \text {sub}(v_{\mathsf {i}}(\upbeta _{\vartheta _\mathsf {i}}, \varvec{(trade_{j})}_{j\in \text {G}}), payment_\mathsf {i}) \le x\), where \(x\in \text {I}\).
Lemma 2
For each agent \(\mathsf {i}\in \text {N}\), each bid-tree \(\upbeta \in \mathcal {L}_{\textsf {{TBBL}}}\) and each \(\varvec{\uplambda }\in \text {I}^{\mathsf {n}\mathsf {m}}\), \( v_\mathsf {i}(\text {noop}, \varvec{\uplambda }) = 0\).
Proof
Remind \(\text {noop}\) denotes a leaf bid \(\langle 0,j,0\rangle \), where \(j\in \text {G}\). Thus, \(b_\mathsf {i}(\text {noop}) = 0\). Let \(\varvec{\uplambda }\in \text {I}^{\mathsf {n}\mathsf {m}}\). The value of \(\varvec{\uplambda }\) given \(\text {noop}\), i.e., \(v_\mathsf {i}(\text {noop}, \varvec{\uplambda })\), is the maximal sum of \(b_\mathsf {i}(\upbeta )\cdot \text {sat}_\mathsf {i}(\upbeta )\) in a solution \(\text {sat}_\mathsf {i}\), for all \(\upbeta \in \text {Node}(\text {noop})\). Since \(\text {Node}(\text {noop}) = \{\text {noop}\}\) and \(b_\mathsf {i}(\text {noop})=0\), for any solution \(\text {sat}_\mathsf {i}\), \(v_\mathsf {i}(\text {noop}, \varvec{\uplambda }) = 0\).
Lemma 3
\(\text {M}_{vcg}\) is an ST-model and it is a model of \(\Sigma _{vcg}\).
Proof
(Sketch) It is routine to check that \(\text {M}_{vcg}\) is actually an ST-model. Given a path \(\updelta \) in \(\text {M}_{vcg}\) and a stage t of \(\updelta \), we need to show that \(\text {M}_{vcg},\updelta , t \models \varphi \), for each \(\varphi \in \Sigma _{vcg}\).
Let us verify Rule 1. Assume \(\text {M}_{vcg}, \updelta , t \models initial\), then \(\updelta [t]= \bar{\text {w}}\), i.e., \(\updelta [t]= \langle 1, 0, \ldots , 0, 0, \ldots , 0 \rangle \). By the definitions of \(\uppi _{\text {Y}}\) and \(\uppi _{{\Upphi }}\), \(\uppi _{{\Upphi }}(\bar{\text {w}}) = \{bidRound\}\), \(\uppi _{\text {Y}}(\bar{\text {w}}, payment_\mathsf {i}) = 0\) and \(\uppi _{\text {Y}}(\bar{\text {w}}, trade_{\mathsf {i},j}) = 0\) for all \(\mathsf {i}\in \text {N}\) and \(j\in \text {G}\). Thus, \(\text {M}_{vcg}, \updelta , t \models bidRound\wedge \bigwedge _{\mathsf {i}\in \text {N}} payment_\mathsf {i}= 0 \wedge \bigwedge _{j\in \text {G}} trade_{\mathsf {i},j} = 0\).
Now we verify Rule 4. Assume \(\text {M}_{vcg}, \updelta , t \models initial\), then \(\updelta [t]= \bar{\text {w}}\) and for all \(\mathsf {i}\in \text {N}\) and \(\upbeta \in \mathcal {B}\), \((\bar{\text {w}}, i, \upbeta ) \in \text {L}\). Thus, \(\text {M}_{vcg}, \updelta , t \models legal_\mathsf {i}(\upbeta )\).
Then we consider Rule 5. \(\text {M}_{vcg}, \updelta , t \models does(\varvec{\upbeta }) \wedge initial\), for \(\varvec{\upbeta } \in \mathcal {B}^\mathsf {m}\), i.e., \(\text {M}_{vcg}, \updelta , t \models \bigwedge _{\mathsf {i}\in \text {N}} does(\upbeta _\mathsf {i})\) and \(\text {M}_{vcg}, \updelta , t \models initial\). Thus, \(\uptheta _{\mathsf {i}} (\updelta , t) = \upbeta _\mathsf {i}\) for all \(\mathsf {i}\in \text {N}\). The update function \(\text {U}\) defines \(\updelta [t+1]\) such that \(\uppi _{\text {Y}}(\updelta [t+1], trade_{\mathsf {i},j}) = \text {WD}_{\uplambda _{\mathsf {i},j}}(\varvec{\upbeta }, \mathsf {X})\), for each \(\mathsf {i}\in \text {N}\) and \(j\in \text {G}\). Thus, \(\text {M}_{vcg}, \updelta , t+1 \models \bigwedge _{\mathsf {i}\in \text {N}, j\in \text {G}} trade_{\mathsf {i},j} = \text {WD}_{\uplambda _{\mathsf {i},j}}(\varvec{\upbeta }, \mathsf {X})\) and also \(\text {M}_{vcg}, \updelta , t \models \bigcirc (\bigwedge _{\mathsf {i}\in \text {N}, j\in \text {G}} trade_{\mathsf {i},j} = \text {WD}_{\uplambda _{\mathsf {i},j}}(\varvec{\upbeta }, \mathsf {X} ))\). Using the abbreviation, \(\text {M}_{vcg}, \updelta \), \(t \models \bigcirc (\bigwedge _{\mathsf {i}\in \text {N}} trade_\mathsf {i}= \text {WD}_{\uplambda _{\mathsf {i}}}(\varvec{\upbeta }\), \( \mathsf {X} ))\).
The remaining rules are verified in a similar way.
Lemma 4
For each agent \(\mathsf {i}\in \text {N}\), \(\text {M}_{vcg} \models initial \wedge does_\mathsf {i}(\text {noop}) \rightarrow \bigcirc payment_\mathsf {i}= 0 \wedge \bigwedge _{j\in \text {G}} trade_{\mathsf {i}, j} \ge 0\)
Proof
Straightforward from Lemma 2, Rule 6 from \(\Sigma _{vcg}\) and Rule R2 from the definition of \(b_\mathsf {i}\).
Proposition 6
\(\text {M}_{vcg} \not \models \bigcirc sbb\) and \(\text {M}_{vcg} \not \models \bigcirc wbb\).
Proof
We show \(\text {M}_{vcg} \not \models \bigcirc wbb\) and \(\text {M}_{vcg} \not \models \bigcirc sbb\) by showing a counter example. Given two distinct agents \(\mathsf {i}, \mathsf {r}\) in \(\text {N}\) and a good \(j\) in \(\text {G}\), let \(\updelta \) be a path in \(\text {M}_{vcg}\) such that \(\theta _{\mathsf {i}}(\delta , 0) = \langle 1, j, 5 \rangle \) and \(\theta _{\mathsf {r}}(\delta , 0) = \langle -1, j, -3 \rangle \). For any other agent \(\mathsf {s}\in \text {N}{\setminus }\{\mathsf {i}, \mathsf {r}\}\), \(\theta _{\mathsf {s}}(\delta , 0) = noop\). Since this actions are legal in the initial state \(\delta [0]\), there exists such path.
By Rule 5 and the definition of function \(\text {WD}_{\varvec{\uplambda }}\), we have that \(\text {M}_{vcg}, \delta , 1 \models (trade_{\mathsf {i}, j} = 1 \wedge trade_{\mathsf {r}, j} = -1)\) and \(\text {M}_{vcg}, \delta , 1 \models trade_{\mathsf {s}, j'} = 0\) for all pairs \((\mathsf {s}, j') \ne (\mathsf {i}, j)\) and \((\mathsf {s}, j') \ne (\mathsf {r}, j)\). That is, the good \(j\) is sold by \(\mathsf {r}\) and bought by \(\mathsf {i}\). The social welfare of all agents other than \(\mathsf {i}\) is \(-3\) and the social welfare of all agents other than \(\mathsf {r}\) is 5. If either \(\mathsf {i}\) or \(\mathsf {r}\) did not participate, there would be no trade and the social welfare would be zero. Thus, by Rule 6, the payments for \(\mathsf {i}\) and \(\mathsf {r}\) are 3 and \(-5\), resp., that is, \(\text {M}_{vcg}, \delta , 1 \models payment_{\mathsf {i}} = 3 \wedge payment_{\mathsf {r}} = -5\). The other agents’ do not have payments on \(\delta [1]\), i.e., \(\text {M}_{vcg}, \delta , 1 \models \bigwedge _{\mathsf {s}\in \text {N}{\setminus }\{\mathsf {i}, \mathsf {r}\}}payment_{\mathsf {s}} = 0\). Then, \(\text {M}_{vcg}, \delta , 1 \models \text {sum}_{\mathsf {i}\in \text {N}}(payment_\mathsf {i}) <0\). Thus we have that \(\text {M}_{vcg}, \delta , 0 \not \models \bigcirc sbb\) and \(\text {M}_{vcg}, \delta , 0 \not \models \bigcirc wbb\).
Proposition 7
Given a joint action \(\varvec{\upbeta } \in \mathcal {B}^\mathsf {n}\), \(\text {M}_{vcg} \models does(\varvec{\upbeta }) \rightarrow \bigcirc e\textit{f}(\varvec{\upbeta })\)
Proof
(Sketch) Since \(\text {M}_{vcg} \models initial \rightarrow \bigcirc terminal\) and \(\updelta [t+1] = \updelta [t]\) whenever \(\updelta [t]\in \text {T}\), it suffices to show that \(\text {M}_{vcg}, \delta , 0 \models does(\varvec{\upbeta }) \rightarrow \bigcirc e\textit{f}(\varvec{\upbeta })\), for any joint action \(\varvec{\upbeta } \in \mathcal {B}^\mathsf {n}\). Assume \(\text {M}_{vcg}, \delta , 0 \models does(\varvec{\upbeta })\), by Rule 5 we have that \(\text {M}_{vcg}, \delta , 1 \models \bigwedge _{\mathsf {i}\in \text {N}, j\in \text {G}} trade_{\mathsf {i}, j} = \text {WD}_{\uplambda _{\mathsf {i}, j}}( \varvec{\upbeta }, \mathsf {X})\). By the definition of the winner determination function \(\text {WD}_{\varvec{\uplambda }}(\varvec{\upbeta },\mathsf {X})\) (and consequently function \(\text {WD}_{\uplambda _{\mathsf {i}, j}}\) for each agent \(\mathsf {i}\) and good \(j\)), we have that the trade \((\uppi _{\text {Y}}(\delta [1], trade_{\mathsf {i}, j}))_{j\in \text {G}, \mathsf {i}\in \text {N}}\) maximizes the cumulative value among the agents. That is, \(\text {M}_{vcg}, \delta , 1 \models \text {sum}_{\mathsf {i}\in \text {N}}(v_\mathsf {i}(\upbeta _\mathsf {i}\), \(\varvec{(trade_{j})}_{j\in \text {G}})) = \max _{\varvec{\uplambda }\in \Uplambda }(\text {sum}_{\mathsf {i}\in \text {N}}(v_\mathsf {i}(\upbeta _\mathsf {i}, \varvec{\uplambda })))\) and \(\text {M}_{vcg}, \delta , 0 \models does(\varvec{\upbeta }) \rightarrow \bigcirc e\textit{f}(\varvec{\upbeta })\).
Proposition 8
Given a joint action \(\varvec{\upbeta } \in \mathcal {B}^\mathsf {n}\), if \(\vartheta _\mathsf {i}(\varvec{\uplambda }) \ge 0\) for all \(\varvec{\uplambda }\in \text {I}^{\mathsf {n}\mathsf {m}}\), \(\vartheta _\mathsf {i}\in V_\mathsf {i}\) and \(\mathsf {i}\in \text {N}\), then \(\text {M}_{vcg} \models does(\varvec{\upbeta }) \rightarrow \bigcirc ir(\varvec{\upbeta })\).
Proof
Let \(\varvec{\upbeta }\in \mathcal {B}^\mathsf {n}\) be a joint action and \(\delta \) be a path in \(\text {M}_{vcg}\). Since \(\text {M}_{vcg} \models initial \rightarrow \bigcirc terminal\) and \(\updelta [t+1] = \updelta [t]\) whenever \(\updelta [t]\in \text {T}\), it suffices to show that \(\text {M}_{vcg}, \delta , 0 \models does(\varvec{\upbeta }) \rightarrow \bigcirc ir(\varvec{\upbeta })\). Assume \(\text {M}_{vcg}, \delta , 0 \models does(\varvec{\upbeta })\) and that the preferences represented by \(\text {L}(\delta [1], \mathsf {i})\) are non-negative for every agent and possible trade. That is, \(v_{\mathsf {i}}(\upbeta , \varvec{\uplambda }) \ge 0\) for any bid \(\upbeta \), trade \(\varvec{\uplambda }\) and agent \(\mathsf {i}\).
Let \(\varvec{\uplambda }= \varvec{(\uplambda _{j})}_{j\in \text {G}}\) denote the trade performed after the agents report \(\varvec{\upbeta }\), where \(\uplambda _{\mathsf {i}, j} = \uppi _{\text {Y}}(\delta [1], trade_{\mathsf {i}, j}) = \text {WD}_{\uplambda _{\mathsf {i}, j}}(\varvec{\upbeta }, \mathsf {X})\) for each good \(j\) and agent \(\mathsf {i}\). We denote by \(\varvec{\uplambda }^{-\mathsf {i}} = \text {WD}_{\varvec{\uplambda }}^{-\mathsf {i}}(\varvec{\upbeta }, \mathsf {X})\) the trade that would happen if \(\mathsf {i}\) did not participate.
The utility of agent \(\mathsf {i}\) in \(\delta [1]\) is \(u_\mathsf {i}= v(\upbeta _\mathsf {i}, \varvec{\uplambda })- \uppi _{\text {Y}}(\delta [1],payment_\mathsf {i})\). According to the payment definition (Rule 6), agent \(\mathsf {i}\)’s utility in \(\delta [1]\) is
or
or simply
Thus, agent \(\mathsf {i}\)’s utility is non-negative if
Assume for contradiction that this is not the case, that is,
Since \(v_{\mathsf {r}}(\upbeta _\mathsf {r}, \varvec{\uplambda }^{-\mathsf {i}})\ge 0\), then we have
which is a contradiction since \(\varvec{\uplambda }\) is the efficient trade (see Proposition 7). Thus, \(\text {M}_{vcg}, \delta , 1 \models \bigwedge _{\mathsf {r}\in \text {N}} \text {sub}(v_{\mathsf {r}}(\upbeta _\mathsf {r}, \varvec{(trade_{j})}_{j\in \text {G}}), payment_\mathsf {r})\ge 0\) and \(\text {M}_{vcg}, \delta , 0 \models \bigcirc ir(\varvec{\upbeta })\).
Lemma 5
\(\text {M}_{ice}\) is an ST-model and it is a model of \(\Sigma \).
Proof
The proof is similar to those for Lemmas 1 and 3.
Proposition 9
\(\text {M}_{ice}\not \models \bigcirc sbb\) and \(\text {M}_{ice} \models \bigcirc wbb\).
Proof
(Sketch) Considering strong budget-balance, notice the path \(\delta \) illustrated at Fig. 7 is a counterexample. For instance, in the last stage we have \(\text {M}_{ice}, \delta , 3 \models \text {sum}_{\mathsf {i}\in \text {N}} (payment_\mathsf {i})= 3\) and thus \(\text {M}_{ice} \not \models \bigcirc \text {sum}_{\mathsf {i}\in \text {N}}(payment_\mathsf {i}) = 0\) and \(\text {M}_{ice} \not \models \bigcirc sbb\).
Now we consider weak budget-balance. Let \(\delta \) be a path in \(\text {M}_{ice}\), \(t\ge 0\) a stage in \(\delta \) and \(\mathsf {i}\in \text {N}\). By the definition of \(v_\mathsf {i}\), we have that an empty trade is valuated zero, i.e., \(v_\mathsf {i}(\theta _\mathsf {i}(\delta , 0), (0, \dots , 0)) = 0\). Thus, \(\sum _{\mathsf {r}\in \text {N}}v_\mathsf {r}(\theta _\mathsf {r}(\delta , 0), (0, \dots , 0)) = 0\). Notice the empty trade \((0, \cdots , 0)\) satisfies Constraints C1–C4 from the winner determination. Among the trades satisfying those constraints, \(\text {WD}^\varepsilon \) selects the trade \(\varvec{(\uplambda _{j})}_{j\in \text {G}}\) that maximizes the cumulative value among all agents, Thus, the cumulative value cannot be smaller than zero. Since the agents’ pay the value of their bids, it follows that \(\text {M}_{ice}, \delta , t\models \bigcirc \text {sub}_{\mathsf {i}\in \text {N}}(payment_\mathsf {i}) \ge 0\).
Proposition 10
Given a joint action \(\varvec{\upbeta } \in \mathcal {B}^\mathsf {n}\), \(\text {M}_{ice}\models does(\varvec{\upbeta }) \rightarrow \bigcirc ir(\varvec{\upbeta })\).
Proof
The proof is straightforward since \(\text {M}_{ice} \models does_\mathsf {i}(\upbeta _\mathsf {i}) \rightarrow \bigcirc payment_\mathsf {i}= v_\mathsf {i}(\upbeta _\mathsf {i}\), \(\varvec{(trade_{j})}_{j\in \text {G}})\), for each \(\mathsf {i}\in \text {N}\) and \(\upbeta _\mathsf {i}\in \mathcal {B}\).
Proposition 11
Given a joint action \(\varvec{\upbeta } \in \mathcal {B}^\mathsf {n}\), \(\text {M}_{ice}\models does(\varvec{\upbeta }) \rightarrow \bigcirc e\textit{f}(\varvec{\upbeta })\)
Proof
(Sketch) The proof is similar to the proof for Proposition 11.
Proposition 12
\(\text {M}_{ice}\) is not strategyproof.
Proof
(Sketch) We show \(\text {M}_{ice}\) is not strategyproof with a counterexample. Assume the path \(\delta \) illustrated in Fig. 7 and consider stage 2. We have \(\theta _\mathsf {s}(\delta , 2) = \langle 1, \mathsf {a}, 18, 18 \rangle \). Since the agents pay their reported valuation, in \(\delta [3]\), the utility of agent \(\mathsf {s}\) given her bid is zero, i.e., \(\text {M}_{ice}, \delta , 3 \models \text {sub}(v_\mathsf {s}(\langle 1, \mathsf {a}, 18, 18 \rangle , \varvec{(trade_{j})}_{j\in \text {G}}), payment_\mathsf {s}) = 0\). Let \(\delta '\) be a path in \(\text {M}_{ice}\) defined exactly like \(\delta \), except by the actions performed by \(\mathsf {s}\) in each stage \(t\ge 2\), which is defined as \(\theta _\mathsf {s}(\delta , t) = \langle 1, \mathsf {a}, 16, 16 \rangle \). Then, \(\text {M},\delta ', 3 \models \bigcirc \text {sub}(v_{\mathsf {i}}(\langle 1, \mathsf {a}, 18, 18 \rangle , \varvec{(trade_{j})}_{j\in \text {G}}), payment_\mathsf {s}) =2\) and \(\text {M},\delta ', 3 \not \models \bigcirc \text {sub}(v_{\mathsf {s}}(\langle 1, \mathsf {a}, 18, 18 \rangle , \varvec{(trade_{j})}_{j\in \text {G}}), payment_\mathsf {s}) \le 0\).
Rights and permissions
About this article
Cite this article
Mittelmann, M., Bouveret, S. & Perrussel, L. Representing and reasoning about auctions. Auton Agent Multi-Agent Syst 36, 20 (2022). https://doi.org/10.1007/s10458-022-09547-9
Accepted:
Published:
DOI: https://doi.org/10.1007/s10458-022-09547-9