Pith. sign in

REVIEW 3 major objections 6 minor 33 references

AIR: Unifying Individual and Collective Exploration in Cooperative Multi-Agent Reinforcement Learning

T0 review · 3 major / 6 minor · reviewed 2026-08-11 · deepseek-v4-flash

Pith's one-line read The paper claims that one lightweight identity classifier, together with an adaptively signed temperature, can make value-based cooperative MARL agents explore both as individuals and as a coordinated team, unifying two previously…

desk verdict A promising, lightweight exploration idea with strong benchmark results, but the paper's central theoretical proof does not survive contact with the Dec-POMDP setting. read the letter →

arxiv 2412.15700 v2 pith:Q2N36Q7D submitted 2024-12-20 cs.AI cs.LGcs.MA

classification cs.AIcs.LGcs.MA
keywords cooperativemulti-agentreinforcementlearningvalue-basedexplorationidentityclassifierbehavioraldiversityadaptivetemperaturevaluedecompositionDec-POMDPexploration-exploitationtrade-off
verification ladder T0 review T1 audit T2 compute T3 formal

The pith

A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.

The reading

Value-based multi-agent reinforcement learners have no explicit policy, so common entropy-based exploration does not transfer to them. AIR adds just a lightweight identity classifier to a value-decomposition learner, and this single module is claimed to cover both exploration modes. The agent selects actions by maximizing $Q_k(\tau,u) - \alpha \log q_\zeta(z_k|\tau,u)$, where the sign of $\alpha$ chooses individual exploration or collective behavioral diversity. The paper derives that the classifier's posterior tracks action-selection probabilities, which is what lets one mechanism stand in for a missing policy distribution. If the derivation holds, cooperative value-based agents can switch exploration modes adaptively with almost no added model size.

What carries the argument

The central object is the identity classifier $q_\zeta(z|\tau,u)$ together with the modified action-value $\tilde{Q}_k(\tau,u)=Q_k(\tau,u)-\alpha\log q_\zeta(z_k|\tau,u)$. The classifier maps trajectory-action pairs to an agent identity, and because the identity posterior is proportional to the product of action-selection probabilities, $\log q_\zeta$ acts as a surrogate policy log-probability for agents that have no explicit policy. The sign of $\alpha$ toggles between exploration modes, while the dual-gradient update of $\alpha$ against a running-mean entropy target $\bar{H}$ adjusts both the mode and the intensity online.

What would settle it

Train AIR in a Dec-POMDP where all agents use identical policies and only their observation channels differ; if the classifier still identifies agents well above chance, the observation function does not cancel as Lemma 3 requires and the stated mechanism for exploration control is not established.

Watch

Extended reading notes

Core claim

The central claim is that individual exploration and collective exploration are two sides of the same identity-recognition objective, so they can be unified rather than stacked. AIR trains a centralized classifier $q_\zeta(z_k|\tau,u)$ to infer which agent generated a trajectory-action pair, while a decentralized action selector uses the rule $u = \arg\max_u [Q_k(\tau,u) - \alpha \log q_\zeta(z_k|\tau,u)]$. Positive $\alpha$ raises the estimated value of actions the classifier deems unlikely for the agent, producing individual exploration of low-probability actions; negative $\alpha$ rewards actions that make the agent's identity easy to recognize, producing collective behavioral diversity. Lemma 3 derives $p(z_k|\tau_T,u_T)$ as a ratio of products of action-selection probabilities, which is the theoretical bridge from classifier confidence to exploration. The optimal temperature is updated by dual gradient descent on a constrained expected-entropy objective, so the mode and degree of exploration adjust themselves during training.

Load-bearing premise

The derivation assumes the observation function is the same for every agent and cancels out of the identity posterior, so the classifier reads action-selection probability rather than perceptual differences; if observations alone reveal which agent is acting, this link breaks.

Editorial extensions

If this is right

  • A single scalar sign change turns the same network into an individual explorer or a collective diversity driver, removing the need to select an exploration module in advance.
  • Because $\alpha$ adapts online, an agent can over-explore unfamiliar actions early in training and later shift to coordinated, role-differentiated behavior.
  • The method adds only a classifier and a temperature to QMIX, so its relative model size stays close to QMIX while matching or beating larger exploration baselines.
  • On SMAC, AIR reaches the highest win rates in five of six hard scenarios, including maps where the comparison exploration methods fail.

Reading between the lines

Editorial extensions of the paper, not claims the author makes directly.

  • Because the extra module is only a classifier, the same identity-recognition trick could be ported to actor-critic MARL, where the policy log-probability already exists and the classifier would act as a cheap diversity regularizer.
  • The theory implies a continuum from pure individual exploration to pure collective diversity as $\alpha$ moves from positive to negative; a natural testable extension is scheduling $\alpha$ by episode return or classifier accuracy instead of the dual-gradient objective.
  • If observations leak agent identity, one remedy is to condition the classifier on actions alone or subtract an observation-only baseline; the paper does not test this variant, but the derivation in Lemma 3 suggests exactly where the leakage enters.
  • The SMACv2 results point to partially observable environments with randomized initializations as the natural stress test for a method that must explore broadly and coordinate at the same time.
Share X Bluesky LinkedIn Reddit HN

Editorial analysis

A structured set of objections, weighed in public.

Desk editor's note, referee report, and a circularity audit.

Referee Report

3 major / 6 minor

Summary. The paper proposes AIR, an exploration method for value-based cooperative MARL. AIR trains an identity classifier q_zeta on trajectory-action pairs and modifies Q-value-based action selection to u = argmax_u [Q_k(tau,u) - alpha log q_zeta(z_k|tau,u)], with an adaptive temperature alpha. The authors claim that this framework unifies individual exploration (alpha > 0) and collective exploration (alpha < 0), provide a theoretical derivation based on KL divergence, mutual information, and a dual temperature update, and evaluate the method on SMAC, SMACv2, and GRF, along with ablations and a case study.

Significance. If the theoretical results were sound, AIR would be a useful and elegant contribution: a single lightweight classifier plus a signed temperature that unifies two exploration modes in value-based CTDE methods. The empirical work is broad (SMAC, SMACv2, GRF), includes ablations and a case study, and the code is released. However, the central theoretical proof has a load-bearing error in Lemma 3, and the adaptive-temperature calibration is self-referential; these issues undermine the advertised 'theoretically prove' claim. The method may still be an effective empirical heuristic, but the main scientific contribution as written is not established.

major comments (3)
  1. [Appendix A.3, Eq. (9)] The proof of Lemma 3 is invalid in the Dec-POMDP setting defined in the Preliminaries. The observation function O(o_t|s_t,k) is agent-specific, so the factor prod_t sum_{s_t} P(s_t)O(o_t|s_t,k) is not common to all agents and cannot be cancelled from the numerator and denominator as the proof does. Moreover, writing this factor as a product of per-timestep marginal sums ignores the transition structure of the state sequence. Consequently Eq. (9), which is the only link between the classifier posterior and action-selection probabilities, does not follow, and the sign-based interpretation of Eq. (10) is not theoretically supported.
  2. [Adaptive Temperature, Eq. (11) and Eq. (18)] The target entropy H is set to the running mean of -log q_zeta(z_k|tau_t,u_t), which is exactly the quantity whose expected value is being constrained by alpha. The constraint in Eq. (11) is then satisfied approximately by construction, and the dual update in Eq. (18) tracks the current entropy rather than enforcing an external target. The self-referential definition of H therefore removes the theoretical content from the temperature adaptation mechanism; any observed adaptive behavior, such as that in Figure 4, is not explained by the stated constrained-optimization argument.
  3. [Adaptive Temperature, Eq. (13)-(14)] The derivation of the optimal dual variable relies on strong duality, justified by the claim that 'the objective is linear and the constraint in Eq. 11 is a convex function with respect to q_zeta'. However, the primal variables are the agents' policies pi_k, not the classifier q_zeta, and the constraint E[-log q_zeta] is not generally linear or convex in pi_k. The step that replaces pi_k with q_zeta when the Q-function is fixed is also not formalized. Thus the derivation of alpha* is not a proof, even setting aside the circular choice of H.
minor comments (6)
  1. [Introduction] The acronym AIR is defined as 'Adaptive exploration via Individual Recognition' in the introduction but as 'Identity Recognition' in the title and abstract; the terminology should be made consistent.
  2. [Method, Eq. (8)] The gradient of the KL divergence is written without making explicit the expectation over z drawn from rho(z|tau,u); as printed, the expression is misleading because the log q_zeta term must be evaluated under the true posterior.
  3. [Appendix A.2, Lemma 2] The lemma mixes rho(s,a|z_k) with rho(tau,u|z) and uses 'proportional to' without identifying the constants; this makes the statement difficult to verify and should be rewritten.
  4. [Method, Eq. (7) and Eq. (10)] The sign of the alpha log q_zeta term differs between Eq. (7), which uses a positive temperature for collective exploration, and Eq. (10), which is called the standard form; the sign convention should be reconciled.
  5. [Appendix C] The hyperparameter table does not describe the classifier's input representation or architecture; such details are necessary for reproducibility.
  6. [Appendix D] The SMACv2 comparison uses AIR with a parallel runner while RODE and LDSA use an episode runner; the acknowledged mismatch should be controlled for or discussed more carefully.

Circularity Check

1 steps flagged · score 4.0 of 10

The adaptive temperature target H̄ is set to the running mean of the entropy term it controls, making the constrained temperature update self-referential; the rest of the derivation has independent content but includes a separate, non-circular correctness problem in Lemma 3.

  1. self definitional [Section 'Adaptive Temperature', Eq. 11 and text after Eq. 18]
    "s.t. E(τt,ut)∼ρk [− log qζ(zk|τt, ut)] ≥ H ∀t, where ... H is a minimum expected entropy. ... ¯H is a hyperparameter and is calculated as the running mean of − log qζ(zk|τt, ut) in practice."

    The constrained optimization (Eq. 11) states that the policy must keep E[-log qζ] above a minimum expected entropy H, with α as the dual variable enforcing that constraint. In practice, however, H (written as H̄ in Eq. 18) is set to the running mean of -log qζ, which is exactly the quantity α controls. In the dual objective J(α)=E[α log qζ + αH̄], the gradient with respect to α is E[log qζ] + H̄, which is approximately zero whenever H̄ tracks the current entropy. Thus α is calibrated against its own output rather than against any external target, and the claimed adaptive adjustment of exploration mode and degree reduces, by construction, to tracking a self-generated statistic. The theoretical content of the temperature update is therefore not an independent first-principles derivation.

full rationale

The main circularity is isolated to the adaptive temperature mechanism: the entropy target is defined as the running mean of the very entropy estimate that the temperature is supposed to regulate, so the dual gradient descent loop is self-referential rather than target-driven. This does not make the entire method circular, because the collective-exploration objective in Eqs. 4-7 is a standard mutual-information lower bound with independent mathematical content, and the empirical evaluation in SMAC, GRF, and SMACv2 is external evidence that is not derived from the fitted temperature. No load-bearing self-citations appear; the paper cites SAC and convex-optimization texts for standard techniques, and the only same-author citation (SORA) is a routine related-work reference. A separate non-circular correctness concern exists in Lemma 3 (Appendix A.3): the proof cancels agent-specific observation factors O(o|s,k) and state-marginal products that do not factor in a Dec-POMDP, so the claimed identity-classifier-to-policy relationship is not established. That is a mathematical-support problem, not a circular-by-construction reduction, so it does not raise the circularity score beyond 4.

Assumptions & free parameters 4 free parameters · 4 assumptions · 0 invented entities

The derivation rests on several unstated or conceded assumptions: agent-independent observation cancellation, strong duality without convexity, and a variational posterior without error control. These assumptions, not external benchmarks, carry the theoretical claim; the empirical section provides the only independent grounding.

free parameters (4)
  • Initial temperature α0 = not reported
    Algorithm 1 initializes α0 before training; its value changes the early balance between individual and collective exploration, but no value or sensitivity study is given.
  • Entropy target H (running mean of -log q_ζ) = running statistic over training
    In Eq 11 and 17 H is nominally the minimum expected entropy, but it is implemented as the running mean of the classifier's negative log-probability, so it depends on the agent's current behavior rather than an externally specified target.
  • Classifier hidden dimension = 64
    Dimension of hidden states in qζ is chosen by hand; it affects how accurately identities are recognized and thus the exploration signal.
  • Learning rate for α = 0.0005
    Controls adaptation speed of the temperature; standard hyperparameter but influences the dynamic switching behavior.
assumptions (4)
  • ad hoc to paper The observation function O(o|s,k) is assumed identical across agents and cancels in Lemma 3, so identity posterior depends only on action probabilities.
    Appendix A.3 writes O(ot|st) without agent index and cancels it; in a Dec-POMDP each agent has its own observation function, so this is an unstated assumption that makes Eq 9 valid.
  • domain assumption Strong duality and convexity hold for the constrained optimization in Eq 11-17.
    Used to derive α* in Eq 14 and 17; authors concede the assumptions are not strictly satisfied and follow SAC heuristically.
  • ad hoc to paper The variational classifier qζ closely approximates the true posterior, so the ELBO in Eq 6 is tight enough to support action modification.
    The exploration signal replaces the true posterior with qζ; no error bound or convergence guarantee is provided.
  • domain assumption Policies of agents are independent within a training step, so changing π_k does not affect the other-policy term in Eq 9.
    Invoked at the end of Appendix A.3 to conclude positive correlation; parameter sharing and shared replay can break this independence.

how reviews work

0 comments
Cite this review

Pith. "Pith review of AIR: Unifying Individual and Collective Exploration in Cooperative Multi-Agent Reinforcement Learning." pith.science (2026). https://pith.science/paper/Q2N36Q7D

@misc{pith2026241215700,
  author       = {Pith},
  title        = {Pith review of: AIR: Unifying Individual and Collective Exploration in Cooperative Multi-Agent Reinforcement Learning},
  year         = {2026},
  howpublished = {\url{https://pith.science/paper/Q2N36Q7D}},
  note         = {Machine review of arXiv:2412.15700}
}
read the original abstract

Exploration in cooperative multi-agent reinforcement learning (MARL) remains challenging for value-based agents due to the absence of an explicit policy. Existing approaches include individual exploration based on uncertainty towards the system and collective exploration through behavioral diversity among agents. However, the introduction of additional structures often leads to reduced training efficiency and infeasible integration of these methods. In this paper, we propose Adaptive exploration via Identity Recognition~(AIR), which consists of two adversarial components: a classifier that recognizes agent identities from their trajectories, and an action selector that adaptively adjusts the mode and degree of exploration. We theoretically prove that AIR can facilitate both individual and collective exploration during training, and experiments also demonstrate the efficiency and effectiveness of AIR across various tasks.

Figures

Figures reproduced from arXiv: 2412.15700 by the authors.

Figure 1
Figure 1. The importance of behavioral diversity in Google [PITH_FULL_IMAGE:figures/full_fig_p002_1.png] view at source ↗
Figure 2
Figure 2. Experiment results of AIR and baselines on SMAC. [PITH_FULL_IMAGE:figures/full_fig_p006_2.png] view at source ↗
Figure 3
Figure 3. Experiment results of AIR and baselines on GRF. [PITH_FULL_IMAGE:figures/full_fig_p006_3.png] view at source ↗
Figures from the paper (4 more)
Figure 4
Figure 4. Figure 4: The training session on SMAC corridor. Up: The curves that depict the changes of win rate and temperature value during training. Down: The 2D t-SNE visualizations of the agents’ trajectories at different training steps [PITH_FULL_IMAGE:figures/full_fig_p006_4.png]
Figure 5
Figure 5. Figure 5: The relative model sizes of algorithms. by the agents is very limited, with few noises distributed away from the cluster. The degree of individual exploration reaches the peak at around T = 1.5M, when all the agents visit a much wider region than they did at T = 300k s…
Figure 7
Figure 7. Figure 7: The experiment results of AIR and QMIX variants [PITH_FULL_IMAGE:figures/full_fig_p007_7.png]
Figure 8
Figure 8. Figure 8: Comparison of AIR against baselines and the highest win rate records (in blue dotted line) in SMACv2 scenarios. [PITH_FULL_IMAGE:figures/full_fig_p013_8.png]

Discussion (0). Continue with ORCID to comment.

Reference graph

Works this paper leans on

33 extracted references · 15 canonical work pages

  1. [1]

    Boyd, S.; and Vandenberghe, L. 2004. Convex optimization. Cambridge university press

  2. [2]

    Goodfellow, I.; Pouget-Abadie, J.; Mirza, M.; Xu, B.; Warde-Farley, D.; Ozair, S.; Courville, A.; and Bengio, Y. 2014. Generative adversarial nets. Advances in neural information processing systems, 27

  3. [3]

    G.; Chen, Y.; Du, Y.; Yang, L.; Knoll, A.; and Yang, Y

    Gu, S.; Kuba, J. G.; Chen, Y.; Du, Y.; Yang, L.; Knoll, A.; and Yang, Y. 2023. Safe multi-agent reinforcement learning for multi-robot control. Artificial Intelligence, 319: 103905

  4. [4]

    Haarnoja, T.; Tang, H.; Abbeel, P.; and Levine, S. 2017. Reinforcement learning with deep energy-based policies. In International conference on machine learning, 1352--1361. PMLR

  5. [5]

    Haarnoja, T.; Zhou, A.; Abbeel, P.; and Levine, S. 2018. Soft actor-critic: Off-policy maximum entropy deep reinforcement learning with a stochastic actor. In International conference on machine learning, 1861--1870. PMLR

  6. [6]

    A.; Wu, H.; and Liao, S.-w

    Hu, J.; Jiang, S.; Harding, S. A.; Wu, H.; and Liao, S.-w. 2021. Rethinking the implementation tricks and monotonicity constraint in cooperative multi-agent reinforcement learning. arXiv preprint arXiv:2102.03479

  7. [7]

    Kurach, K.; Raichuk, A.; Stańczyk, P.; Zając, M.; Bachem, O.; Espeholt, L.; Riquelme, C.; Vincent, D.; Michalski, M.; Bousquet, O.; and Gelly, S. 2020. Google Research Football: A Novel Reinforcement Learning Environment. arXiv:1907.11180

  8. [8]

    Li, C.; Wang, T.; Wu, C.; Zhao, Q.; Yang, J.; and Zhang, C. 2021. Celebrating diversity in shared multi-agent reinforcement learning. Advances in Neural Information Processing Systems, 34: 3991--4002

Show all 33 references
  1. [9]

    Mahajan, A.; Rashid, T.; Samvelyan, M.; and Whiteson, S. 2019. Maven: Multi-agent variational exploration. Advances in Neural Information Processing Systems, 32

  2. [10]

    Mei, Y.; Zhou, H.; and Lan, T. 2024. Projection-Optimal Monotonic Value Function Factorization in Multi-Agent Reinforcement Learning. In AAMAS, 2381--2383

  3. [11]

    A.; and Amato, C

    Oliehoek, F. A.; and Amato, C. 2016. A concise introduction to decentralized POMDPs. Springer

  4. [12]

    Rashid, T.; Farquhar, G.; Peng, B.; and Whiteson, S. 2020. Weighted qmix: Expanding monotonic value function factorisation for deep multi-agent reinforcement learning. Advances in neural information processing systems, 33: 10199--10210

  5. [13]

    Rashid, T.; Samvelyan, M.; Schroeder, C.; Farquhar, G.; Foerster, J.; and Whiteson, S. 2018. Qmix: Monotonic value function factorisation for deep multi-agent reinforcement learning. In International conference on machine learning, 4295--4304. PMLR

  6. [14]

    S.; Farquhar, G.; Nardelli, N.; Rudner, T

    Samvelyan, M.; Rashid, T.; De Witt, C. S.; Farquhar, G.; Nardelli, N.; Rudner, T. G.; Hung, C.-M.; Torr, P. H.; Foerster, J.; and Whiteson, S. 2019. The starcraft multi-agent challenge. arXiv preprint arXiv:1902.04043

  7. [15]

    Shamsoshoara, A.; Khaledi, M.; Afghah, F.; Razi, A.; and Ashdown, J. 2019. Distributed cooperative spectrum sharing in uav networks using multi-agent reinforcement learning. In 2019 16th IEEE Annual Consumer Communications & Networking Conference (CCNC), 1--6. IEEE

  8. [16]

    J.; Hostallero, D.; and Yi, Y

    Son, K.; Kim, D.; Kang, W. J.; Hostallero, D.; and Yi, Y. 2019. QTRAN: Learning to Factorize with Transformation for Cooperative Multi-Agent Reinforcement Learning. CoRR, abs/1905.05408

  9. [17]

    M.; Zambaldi, V.; Jaderberg, M.; Lanctot, M.; Sonnerat, N.; Leibo, J

    Sunehag, P.; Lever, G.; Gruslys, A.; Czarnecki, W. M.; Zambaldi, V.; Jaderberg, M.; Lanctot, M.; Sonnerat, N.; Leibo, J. Z.; Tuyls, K.; et al. 2017. Value-decomposition networks for cooperative multi-agent learning. arXiv preprint arXiv:1706.05296

  10. [18]

    Tampuu, A.; Matiisen, T.; Kodelja, D.; Kuzovkin, I.; Korjus, K.; Aru, J.; Aru, J.; and Vicente, R. 2017. Multiagent cooperation and competition with deep reinforcement learning. PloS one, 12(4): e0172395

  11. [19]

    Van der Maaten, L.; and Hinton, G. 2008. Visualizing data using t-SNE. Journal of machine learning research, 9(11)

  12. [20]

    Wang, J.; Ren, Z.; Liu, T.; Yu, Y.; and Zhang, C. 2020 a . Qplex: Duplex dueling multi-agent q-learning. arXiv preprint arXiv:2008.01062

  13. [21]

    Wang, T.; Dong, H.; Lesser, V.; and Zhang, C. 2020 b . Roma: Multi-agent reinforcement learning with emergent roles. arXiv preprint arXiv:2003.08039

  14. [22]

    Wang, T.; Gupta, T.; Mahajan, A.; Peng, B.; Whiteson, S.; and Zhang, C. 2020 c . Rode: Learning roles to decompose multi-agent tasks. arXiv preprint arXiv:2010.01523

  15. [23]

    Wang, T.; Wang, J.; Wu, Y.; and Zhang, C. 2019. Influence-based multi-agent exploration. arXiv preprint arXiv:1910.05512

  16. [24]

    Xu, Z.; Lyu, Y.; Pan, Q.; Hu, J.; Zhao, C.; and Liu, S. 2018. Multi-vehicle flocking control with deep deterministic policy gradient method. In 2018 IEEE 14th International Conference on Control and Automation (ICCA), 306--311. IEEE

  17. [25]

    Yang, M.; Zhao, J.; Hu, X.; Zhou, W.; Zhu, J.; and Li, H. 2022. Ldsa: Learning dynamic subtask assignment in cooperative multi-agent reinforcement learning. Advances in Neural Information Processing Systems, 35: 1698--1710

  18. [26]

    Yang, Y.; Hao, J.; Liao, B.; Shao, K.; Chen, G.; Liu, W.; and Tang, H. 2020. Qatten: A general framework for cooperative multiagent reinforcement learning. arXiv preprint arXiv:2002.03939

  19. [27]

    Zhang, S.; Cao, J.; Yuan, L.; Yu, Y.; and Zhan, D.-C. 2023 a . Self-motivated multi-agent exploration. arXiv preprint arXiv:2301.02083

  20. [28]

    Zhang, Z.; Han, S.; Wang, J.; and Miao, F. 2023 b . Spatial-temporal-aware safe multi-agent reinforcement learning of connected autonomous vehicles in challenging scenarios. In 2023 IEEE International Conference on Robotics and Automation (ICRA), 5574--5580. IEEE

  21. [29]

    Zhao, G.; Lin, K.; Chapman, D.; Metje, N.; and Hao, T. 2023. Optimizing energy efficiency of LoRaWAN-based wireless underground sensor networks: A multi-agent reinforcement learning approach. Internet of Things, 22: 100776

  22. [30]

    Zheng, L.; Chen, J.; Wang, J.; He, J.; Hu, Y.; Chen, Y.; Fan, C.; Gao, Y.; and Zhang, C. 2021. Episodic multi-agent reinforcement learning with curiosity-driven exploration. Advances in Neural Information Processing Systems, 34: 3757--3769

  23. [31]

    Zhou, G.; Xu, Z.; Zhang, Z.; and Fan, G. 2023. SORA: Improving Multi-agent Cooperation with a Soft Role Assignment Mechanism. In International Conference on Neural Information Processing, 319--331. Springer

  24. [32]

    , " * write output.state after.block = add.period write newline

    ENTRY address archivePrefix author booktitle chapter edition editor eid eprint howpublished institution isbn journal key month note number organization pages publisher school series title type volume year label extra.label sort.label short.list INTEGERS output.state before.all...

  25. [33]

    write newline

    " write newline "" before.all 'output.state := FUNCTION n.dashify 't := "" t empty not t #1 #1 substring "-" = t #1 #2 substring "--" = not "--" * t #2 global.max substring 't := t #1 #1 substring "-" = "-" * t #2 global.max substring 't := while if t #1 #1 substring * t #2 gl...

Pith tools

Reviewed August 11, 2026 · model on record in the stance chip above.