Pith. sign in

REVIEW 4 major objections 6 minor 33 references

Multi-omic Causal Discovery using Genotypes and Gene Expression

T0 review · 4 major / 6 minor · reviewed 2026-08-07 · deepseek-v4-flash

Pith's one-line read GENESIS claims that genotypes as fixed anchors let constraint-based causal discovery recover gene regulatory relationships in polynomial time, with better adjacency accuracy than FCI and GES on the tested simulations and yeast data.

desk verdict GENESIS has a promising core idea—using genotypes as fixed causal anchors and building an ancestrality matrix from scratch—but the soundness proof rests on a false premise about Markov blankets, and the complexity bound is unproven. read the letter →

arxiv 2505.15866 v1 pith:SFCOITZP submitted 2025-05-21 q-bio.GN cs.LG

classification q-bio.GNcs.LG
keywords causaldiscoverygeneregulatorynetworksmulti-omicdataeQTLSNPanchorsMarkovblanketconstraint-basedlearningancestralitymatrix
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

The paper introduces GENESIS, an algorithm that reconstructs directed gene regulatory networks by combining genotype data (SNPs) with gene expression data. The central idea is to treat genotypes as fixed causes that precede expression, giving the search a reliable head start. GENESIS starts from an empty ancestrality matrix rather than a fully connected graph, and fills it in using conditional independence tests guided by three inference rules. The authors claim the oracle version is provably sound and runs in $O(d_Z d_X^2)$ regardless of graph density, and report that on synthetic DAGs and a yeast phosphocholine subnetwork it outperforms FCI and GES in structural recovery accuracy.

What carries the argument

The load-bearing objects are the ancestrality matrix $M$, the grow-shrink Markov blanket estimator, and the three inference rules (R1)-(R3). Rules (R1) and (R2) are direct applications of the deactivator and activator concepts: a variable $W$ that deactivates the relationship between $X$ and $Y$ after conditioning on $X$ witnesses $X \prec Y$, while an activation pattern rejects ancestry. Rule (R3) uses faithfulness to declare $X \sim Y$ when the combined Markov blanket $S = MB(X_i) \cup MB(X_j)$ d-separates them. The algorithm runs a closure routine that enforces transitivity and asymmetry of the strict partial order, then refreshes each variable's Markov blanket with newly inferred non-descendants, and repeats until no new inferences are drawn. SNPs enter as background variables $Z$, whose causal precedence over genes is treated as biologically fixed, which is what justifies calling them anchors.

What would settle it

Construct a simulated DAG in which the anchor assumption is violated, for instance a causal path from a gene to a SNP or an unobserved ancestor that makes a SNP a descendant in the true graph, and check whether GENESIS still returns a complete ancestrality matrix or one with a false orientation. A cleaner test: take any DAG, intentionally omit one ancestor from the initial known-non-descendant set so that a Markov blanket contains a descendant, and show that either the algorithm runs without error and produces an entry contradicting the true graph, or that rules R1 through R3 applied to that set infer a false $\prec$ relation.

Watch

Extended reading notes

Core claim

In the paper's own terms, GENESIS-ORACLE is a constraint-based method that, given a background set of SNPs and a foreground set of genes, outputs a partially oriented ancestrality matrix in which each entry records whether gene $i$ is an ancestor of gene $j$, whether they are ancestrally unrelated, or whether the relation is undecided. The method uses grow-shrink Markov blanket discovery over known non-descendants, then cycles through pairs of genes applying three inference rules: a deactivation rule that detects mediation (R1), an activation rule that detects collider structure (R2), and a d-separation rule that establishes independence (R3). The authors prove (Theorem 1) that all inferences are sound in the true $G_X$ and that the union of the two Markov blankets is a valid adjustment set, and (Theorem 2) that the oracle runs in $O(d_Z d_X^2)$. Empirically, they report that GENESIS consistently beats FCI and GES in mean adjacency accuracy across sample sizes from 100 to 1000, and that on the yeast phosphocholine subnetwork it recovers an acyclic network consistent with earlier reports.

Load-bearing premise

The method only stays sound if the grow-shrink step, run on a set containing nothing but known non-descendants of each gene, returns the true Markov blanket, and if the union of two such blankets therefore contains no descendants; if that partial-order precondition fails, the conditional independence tests and the three rules can be applied to a set that includes descendants, and the 'provably sound' guarantee no longer applies.

Editorial extensions

If this is right

  • If the soundness results hold, GENESIS can deliver a partially oriented ancestrality matrix in $O(d_Z d_X^2)$, independent of graph density, which is fast enough for high-dimensional genomic screens.
  • Because each output pair comes with a valid adjustment set, the ancestry matrix can be handed to downstream causal-effect estimators without a separate confounder-selection pass.
  • Using SNPs as anchors shrinks the search to biologically plausible edges, which should reduce false positives relative to unconstrained searches in settings where the anchor assumption is credible.
  • The empirical comparison indicates that on linear Gaussian simulations with mixed noise, GENESIS has higher mean adjacency accuracy than FCI and GES for sample sizes 100 to 1000.
  • On the yeast phosphocholine subnetwork, the recovered network is acyclic and consistent with previously reported regulatory relationships, suggesting the method transfers to real multi-omic data.

Reading between the lines

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

  • If GENESIS is used as a preprocessing step for PC or FCI, its polynomial-time partial orientation could cut their search space dramatically; the paper suggests this speedup but does not benchmark the full pipeline.
  • The empty-to-full construction means the algorithm is most advantageous when the true graph is sparse; on dense graphs the pairwise loop may still terminate but the practical CI-test cost could grow with conditioning set size despite the oracle bound.
  • The authors' stated future direction toward nonlinear models would require replacing the linear-Gaussian plug-ins; one testable extension is to run GENESIS with rank-based or permutation conditional independence tests on nonlinear synthetic data.
  • If the method scales to genome-wide cis-eQTL windows, it could be used to prioritize regulator-target pairs for functional validation; this is an application the paper implies but does not demonstrate.
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

4 major / 6 minor

Summary. The paper introduces GENESIS, a constraint-based causal discovery algorithm that uses SNP genotypes as background variables to infer an ancestrality matrix over gene expression variables. The algorithm repeatedly computes Markov blankets via a grow-shrink procedure on restricted candidate sets, applies three conditional-independence rules (R1–R3) to orient relationships, and closes under a partial order. The authors claim provable soundness (Theorem 1), polynomial complexity O(d_Z d_X^2) (Theorem 2), and favorable empirical performance against FCI and GES on simulated and yeast data.

Significance. If the soundness and complexity claims were correct, GENESIS would be a useful contribution to multi-omic causal discovery, and the idea of using fixed genotype anchors to reduce the search space is attractive. However, the paper does not provide a valid proof of soundness: the central premise, that Markov blankets can be recovered from restricted non-descendant sets, is false under the paper's own definitions. The empirical evaluation is also under-specified and does not support the strength of the claims. The algorithmic idea may be worth pursuing, but the theoretical core as written is not established.

major comments (4)
  1. [Appendix B, Theorem 1 proof] The proof's key step—'we feed the GrowShrink algorithm with only known non-descendants and hence the guarantee that the union of Markov blankets will be non-descendants themselves'—is internally inconsistent. In a faithful DAG, the Markov blanket of X includes its children, which are descendants of X. Restricting the grow-shrink search to a set of known non-descendants cannot return the true Markov blanket. Consequently S = MB(X_i) ∪ MB(X_j) may omit mediators and colliders, so the CI tests used in R1–R3 are not guaranteed to behave as claimed, and S is not in general a valid adjustment set. For example, in a chain X → W → Y, W is a descendant of X and belongs to both true Markov blankets; if W is excluded, conditioning on S can fail to block the path between X and Y.
  2. [Algorithm 1, Appendix B] The construction A_i ← MB(X_i) ∪ {W : W ⪯_M X_i} is circular: the set of 'known non-descendants' is defined by the partially oriented matrix M, whose correctness is exactly what the soundness theorem is supposed to establish. The proof assumes that the partial order ⪯_M agrees with the true ancestry relation, but no argument is given for this agreement, and the algorithm's own outputs are used to update A_i. Without a separate inductive argument, the precondition A ⪯ {X,Y} for R1–R3 is unverified.
  3. [Appendix B, Theorem 2 proof] The complexity bound counts only one execution of the inner pairwise loop and ignores the outer while loop, whose number of iterations is unbounded. Additionally, the initialization cost is underestimated: GrowShrink on d_Z candidate variables requires O(d_Z^2) CI tests per foreground variable (grow and shrink phases), not O(d_Z). Thus O(d_Z d_X^2) is not established even under the oracle model. The proof also assumes d_Z ≫ d_X without stating this as a formal condition of the theorem.
  4. [Section 4] The empirical claim that 'GENESIS consistently performed better than the benchmark methods' is not supported by the presented evidence. The paper reports only mean accuracy over 20 replicates with no standard errors, significance tests, or a visible figure; simulation parameters (number of variables, edge density, noise level) are not specified; and FCI/GES are run with default parameters while GENESIS uses α=0.05, so the comparison is not controlled. The yeast result is a single qualitative network without quantitative evaluation against any baseline.
minor comments (6)
  1. [Section 2] The notation 'A ⪯ {X,Y}' for sets is not defined; ⪯ is defined only for single variables.
  2. [Algorithm 1] The update 'M_ij ← M_ij ∧ j ⪯ i' mixes logical conjunction with an entry that may be NA; please define the semantics of operating on an undefined entry.
  3. [Algorithm 2] The closure pseudocode uses symbols like 'i⪯_M j ∧ i⪰_M j' without defining the entry types of M; clarify how entries such as NA, 'i≺j', and 'i∼j' are compared.
  4. [Figure 1] Panel (b) is referenced in the text but the plot is not described and no error bars are visible; state the definition of 'Accuracy' and the construction of the standard error bands.
  5. [Section 4, Conclusion] The conclusion admits 'reliance on iterative heuristics and sensitivity to initialization' and calls for 'formal guarantees for convergence,' which is in tension with the earlier claim of provable soundness in Theorem 1; please reconcile these statements.
  6. [Appendix B, Theorem 1 proof] The proof states that R1–R2 follow from Lemma 1 of Magliacane et al. (2016) and R3 from faithfulness, but it does not state the lemma's conditions; please quote them explicitly and verify that they hold for the particular set S used in Algorithm 1.

Circularity Check

1 steps flagged · score 6.0 of 10

Soundness proof is self-referential: it guarantees Markov blankets are non-descendants only because GrowShrink is fed 'known non-descendants' drawn from the ancestrality matrix being inferred.

  1. self definitional [Appendix B, Proof of Theorem 1 (Soundness); Algorithm 1, lines 'Ai <- M B(Xi) union {W : W <= M Xi}' and 'M B(Xi) <- GrowShrink(Xi, Ai)']
    "However, we feed the GrowShrink algorithm with only known non-descendants and hence the guarantee that the union of Markov blankets will be non-descendants themselves. ... As stated earlier, the union of Markov blankets S of (Xi, Xj) will solely contain non-descendants as we start with Z which is biologically a well establish non-descendant of Xi in X and W in S."

    Theorem 1 concludes that S = MB(Xi) union MB(Xj) is a valid adjustment set for (Xi, Xj), and the proof makes this follow from the claim that S contains only non-descendants. The only support offered for that claim is that GrowShrink is 'fed with only known non-descendants.' But the 'known non-descendants' are exactly the entries of the ancestrality matrix M that GENESIS is in the process of inferring, so the proof assumes the correctness of the very output it is supposed to establish. Moreover, a true Markov blanket in a faithful DAG includes children (descendants) and co-parents, so restricting the candidate set to known non-descendants cannot yield the full Markov blanket; it yields a blanket of the induced subgraph.

full rationale

The paper is not globally circular: the inference rules R1-R3 are inherited from external published work (Magliacane et al. 2016; Entner et al. 2013; Claassen and Heskes 2012), and the empirical evaluation against FCI and GES on synthetic DAGs is an external benchmark with independent ground truth. Those components would normally support a low circularity score. However, the central theoretical claim of provable soundness is supported by a self-referential argument. The proof of Theorem 1 asserts that the union of Markov blankets contains only non-descendants because GrowShrink is run on 'known non-descendants,' where that knowledge is the algorithm's own partially oriented ancestrality matrix M. Since the true Markov blanket of a node includes its children, which are descendants, and the paper never proves M's partial order is correct before using it to constrain the Markov-blanket search, the precondition for R1-R3 is not established independently. The proof's 'guarantee' is the theorem's conclusion restated as an input. The complexity proof also lacks a bound on the number of outer while-loop iterations, but that is an incompleteness or correctness concern rather than a circularity. Score 6 reflects a genuine circular step in the central proof while acknowledging the independent empirical content.

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

The central claim rests on standard causal discovery assumptions, the biological assumption that SNPs are causal anchors, and the unproven algorithmic assumption that grow-shrink works on restricted non-descendant sets. No new physical entities are proposed.

free parameters (1)
  • CI threshold alpha = 0.05
    The conditional independence threshold is set to 0.05 in simulations; though standard, it is chosen by hand and could affect results. No sensitivity analysis is provided.
assumptions (4)
  • domain assumption Markov and faithfulness
    Section 2 states 'We assume that distributions are Markov and faithful to the underlying graph G', which is required for CI tests to reflect d-separation.
  • domain assumption Causal precedence of genotypes
    Section 1 assumes genetic variation precedes transcriptomic variation and that SNPs are non-descendants of genes, used as anchors.
  • standard math Soundness of rules R1-R3 from prior work
    Appendix B invokes Lemma 1 of Magliacane et al. (2016) and results of Entner et al. (2013); the paper does not re-derive these.
  • ad hoc to paper Grow-shrink recovers true Markov blankets from restricted non-descendant sets
    Algorithm 1 calls GrowShrink(X_i, A_i) where A_i contains only known non-descendants; no proof ensures the resulting set is the full Markov blanket under this restriction.

how reviews work

0 comments
Cite this review

Pith. "Pith review of Multi-omic Causal Discovery using Genotypes and Gene Expression." pith.science (2026). https://pith.science/paper/SFCOITZP

@misc{pith2026250515866,
  author       = {Pith},
  title        = {Pith review of: Multi-omic Causal Discovery using Genotypes and Gene Expression},
  year         = {2026},
  howpublished = {\url{https://pith.science/paper/SFCOITZP}},
  note         = {Machine review of arXiv:2505.15866}
}
read the original abstract

Causal discovery in multi-omic datasets is crucial for understanding the bigger picture of gene regulatory mechanisms, but remains challenging due to high dimensionality, differentiation of direct from indirect relationships, and hidden confounders. We introduce GENESIS (GEne Network inference from Expression SIgnals and SNPs), a constraint-based algorithm that leverages the natural causal precedence of genotypes to infer ancestral relationships in transcriptomic data. Unlike traditional causal discovery methods that start with a fully connected graph, GENESIS initialises an empty ancestrality matrix and iteratively populates it with direct, indirect or non-causal relationships using a series of provably sound marginal and conditional independence tests. By integrating genotypes as fixed causal anchors, GENESIS provides a principled ``head start'' to classical causal discovery algorithms, restricting the search space to biologically plausible edges. We test GENESIS on synthetic and real-world genomic datasets. This framework offers a powerful avenue for uncovering causal pathways in complex traits, with promising applications to functional genomics, drug discovery, and precision medicine.

Figures

Figures reproduced from arXiv: 2505.15866 by the authors.

Figure 1
Figure 1. Results on real world and simulated data [PITH_FULL_IMAGE:figures/full_fig_p004_1.png] view at source ↗

Discussion (0). Continue with ORCID to comment.

Reference graph

Works this paper leans on

33 extracted references · 22 canonical work pages

  1. [1]

    Abu-Elmagd, Mourad Assidi, A

    M. Abu-Elmagd, Mourad Assidi, A. Alrefaei, and Ahmed Rebai. Editorial: Advances in genomic and genetic tools, and their applications for understanding embryonic development and human diseases. Frontiers in Cell and Developmental Biology, 10, 2022. doi:10.3389/fcell.2022.1016400

  2. [2]

    Perspective: Sustaining the big-data ecosystem

    Philip E Bourne, Jon R Lorsch, and Eric D Green. Perspective: Sustaining the big-data ecosystem. Nature, 527 0 (7576): 0 S16--S17, 2015

  3. [3]

    The landscape of genetic complexity across 5,700 gene expression traits in yeast

    Rachel B Brem and Leonid Kruglyak. The landscape of genetic complexity across 5,700 gene expression traits in yeast. Proceedings of the National Academy of Sciences, 102 0 (5): 0 1572--1577, 2005

  4. [4]

    Inferring gene regulatory networks from a population of yeast segregants

    Chen Chen, Dabao Zhang, Tony R Hazbun, and Min Zhang. Inferring gene regulatory networks from a population of yeast segregants. Scientific reports, 9 0 (1): 0 1197, 2019

  5. [5]

    Harnessing naturally randomized transcription to infer regulatory relationships among genes

    Lin S Chen, Frank Emmert-Streib, and John D Storey. Harnessing naturally randomized transcription to infer regulatory relationships among genes. Genome biology, 8: 0 1--13, 2007

  6. [6]

    Optimal structure identification with greedy search

    David Maxwell Chickering. Optimal structure identification with greedy search. Journal of machine learning research, 3 0 (Nov): 0 507--554, 2002

  7. [7]

    A Logical Characterization of Constraint-Based Causal Discovery

    Tom Claassen and Tom Heskes. A logical characterization of constraint-based causal discovery. arXiv preprint arXiv:1202.3711, 2012

  8. [8]

    Danchin, Gang Fang, and Stanislas Noria

    A. Danchin, Gang Fang, and Stanislas Noria. The extant core bacterial proteome is an archive of the origin of life. PROTEOMICS, 7, 2007. doi:10.1002/PMIC.200600442

Show all 33 references
  1. [9]

    Data-driven covariate selection for nonparametric estimation of causal effects

    Doris Entner, Patrik Hoyer, and Peter Spirtes. Data-driven covariate selection for nonparametric estimation of causal effects. In Artificial intelligence and statistics, pp.\ 256--264. PMLR, 2013

  2. [10]

    He, Dongliang Ge, and Max M He

    K. He, Dongliang Ge, and Max M He. Big data analytics for genomic medicine. International Journal of Molecular Sciences, 18, 2017. doi:10.3390/ijms18020412

  3. [11]

    Phosphatidylcholine synthesis influences the diacylglycerol homeostasis required for sec14p-dependent golgi function and cell growth

    Annette L Henneberry, Thomas A Lagace, Neale D Ridgway, and Christopher R McMaster. Phosphatidylcholine synthesis influences the diacylglycerol homeostasis required for sec14p-dependent golgi function and cell growth. Molecular biology of the cell, 12 0 (3): 0 511--520, 2001

  4. [12]

    Application of causal inference to genomic analysis: Advances in methodology

    Pengfei Hu, Rong Jiao, Li Jin, and Momiao Xiong. Application of causal inference to genomic analysis: Advances in methodology. Frontiers in Genetics, 9, 2018. URL https://api.semanticscholar.org/CorpusID:49652600

  5. [13]

    Modelling and analysis of gene regulatory networks

    Guy Karlebach and Ron Shamir. Modelling and analysis of gene regulatory networks. Nature reviews Molecular cell biology, 9 0 (10): 0 770--780, 2008

  6. [14]

    Moderated estimation of fold change and dispersion for rna-seq data with deseq2

    Michael I Love, Wolfgang Huber, and Simon Anders. Moderated estimation of fold change and dispersion for rna-seq data with deseq2. Genome biology, 15: 0 1--21, 2014

  7. [15]

    Ancestral causal inference

    Sara Magliacane, Tom Claassen, and Joris M Mooij. Ancestral causal inference. Advances in Neural Information Processing Systems, 29, 2016

  8. [16]

    Pratlong, Laurent Abi-Rached, J

    Stéphanie Manel, Charles Perrier, M. Pratlong, Laurent Abi-Rached, J. Paganini, Pierre Pontarotti, and Didier Aurelle. Genomic resources and their influence on the detection of the signal of positive selection in genome scans. Molecular Ecology, 25, 2016. doi:10.1111/mec.13468

  9. [17]

    Bayesian network induction via local neighborhoods

    Dimitris Margaritis and Sebastian Thrun. Bayesian network induction via local neighborhoods. Advances in neural information processing systems, 12, 1999

  10. [18]

    Detection and interpretation of expression quantitative trait loci (eqtl)

    Jacob J Michaelson, Salvatore Loguercio, and Andreas Beyer. Detection and interpretation of expression quantitative trait loci (eqtl). Methods, 48 0 (3): 0 265--276, 2009

  11. [19]

    From ‘omics to multi-omics technologies: the discovery of novel causal mediators

    Pedrum Mohammadi-Shemirani, Tushar Sood, and Guillaume Par \'e . From ‘omics to multi-omics technologies: the discovery of novel causal mediators. Current atherosclerosis reports, 25 0 (2): 0 55--65, 2023

  12. [20]

    Neale and N

    D. Neale and N. Wheeler. Gene expression and the transcriptome. The Conifers: Genomes, Variation and Evolution, 2019. doi:10.1007/978-3-319-46807-5_6

  13. [21]

    Causality

    Judea Pearl. Causality. Cambridge university press, 2009

  14. [22]

    Elements of causal inference: foundations and learning algorithms

    Jonas Peters, Dominik Janzing, and Bernhard Sch \"o lkopf. Elements of causal inference: foundations and learning algorithms. The MIT Press, 2017

  15. [23]

    Recent innovations and technical advances in high-throughput parallel single-cell whole-genome sequencing methods

    Yi Qiao, Tianguang Cheng, Zikun Miao, Yue Cui, and Jing Tu. Recent innovations and technical advances in high-throughput parallel single-cell whole-genome sequencing methods. Small Methods, pp.\ 2400789, 2024

  16. [24]

    High-throughput sequencing technologies

    Jason A Reuter, Damek V Spacek, and Michael P Snyder. High-throughput sequencing technologies. Molecular cell, 58 0 (4): 0 586--597, 2015

  17. [25]

    Statistical Applications in Genetics and Molecular Biology, 3 0 (1), 2004

    Gordon K Smyth. Statistical Applications in Genetics and Molecular Biology, 3 0 (1), 2004

  18. [26]

    Causation, prediction, and search

    Peter Spirtes, Clark Glymour, and Richard Scheines. Causation, prediction, and search. MIT press, 2001

  19. [27]

    Algorithms for large scale markov blanket discovery

    Ioannis Tsamardinos, Constantin F Aliferis, Alexander R Statnikov, and Er Statnikov. Algorithms for large scale markov blanket discovery. In FLAIRS, volume 2, pp.\ 376--81, 2003

  20. [28]

    Veenstra

    T. Veenstra. Metabolomics: the final frontier? Genome Medicine, 4: 0 40 -- 40, 2012. doi:10.1186/gm339

  21. [29]

    Causal discovery under a confounder blanket

    David S Watson and Ricardo Silva. Causal discovery under a confounder blanket. In Uncertainty in Artificial Intelligence, pp.\ 2096--2106. PMLR, 2022

  22. [30]

    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...

  23. [31]

    @esa (Ref

    \@ifxundefined[1] #1\@undefined \@firstoftwo \@secondoftwo \@ifnum[1] #1 \@firstoftwo \@secondoftwo \@ifx[1] #1 \@firstoftwo \@secondoftwo [2] @ #1 \@temptokena #2 #1 @ \@temptokena \@ifclassloaded agu2001 natbib The agu2001 class already includes natbib coding, so you should ...

  24. [32]

    \@lbibitem[] @bibitem@first@sw\@secondoftwo \@lbibitem[#1]#2 \@extra@b@citeb \@ifundefined br@#2\@extra@b@citeb \@namedef br@#2 \@nameuse br@#2\@extra@b@citeb \@ifundefined b@#2\@extra@b@citeb @num @parse #2 @tmp #1 NAT@b@open@#2 NAT@b@shut@#2 \@ifnum @merge>\@ne @bibitem@firs...

  25. [33]

    6DTpDQ 2(C

    @open @close @open @close and [1] URL: #1 \@ifundefined chapter * \@mkboth \@ifxundefined @sectionbib * \@mkboth * \@mkboth\@gobbletwo \@ifclassloaded amsart * \@ifclassloaded amsbook * \@ifxundefined @heading @heading NAT@ctr thebibliography [1] @ \@biblabel @NAT@ctr \@bibset...

Pith tools

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