Metamath Proof Explorer Home Metamath Proof Explorer
Most Recent Proofs
 
Mirrors  >  Home  >  MPE Home  >  Th. List  >  Recent ILE Most Recent             Other  >  MM 100

Most recent proofs    These are the 100 (Unicode, GIF) or 1000 (Unicode, GIF) most recent proofs in the set.mm database for the Metamath Proof Explorer (and the Hilbert Space Explorer). The set.mm database is maintained on GitHub with master (stable) and develop (development) versions. This page was created from develop commit 212ee7d9, also available here: set.mm (43MB) or set.mm.bz2 (compressed, 13MB).

The original proofs of theorems with recently shortened proofs can often be found by appending "OLD" to the theorem name, for example 19.43OLD for 19.43. The "OLD" versions are usually deleted after a year.

Other links    Email: Norm Megill.    Mailing list: Metamath Google Group Updated 7-Dec-2021 .    Contributing: How can I contribute to Metamath?    Syndication: RSS feed (courtesy of Dan Getz)    Related wikis: Ghilbert site; Ghilbert Google Group.

Recent news items    (7-Aug-2021) Version 0.198 of the metamath program fixes a bug in "write source ... /rewrap" that prevented end-of-sentence punctuation from appearing in column 79, causing some rewrapped lines to be shorter than necessary. Because this affects about 2000 lines in set.mm, you should use version 0.198 or later for rewrapping before submitting to GitHub.

(7-May-2021) Mario Carneiro has written a Metamath verifier in Lean.

(5-May-2021) Marnix Klooster has written a Metamath verifier in Zig.

(24-Mar-2021) Metamath was mentioned in a couple of articles about OpenAI: Researchers find that large language models struggle with math and What Is GPT-F?.

(26-Dec-2020) Version 0.194 of the metamath program adds the keyword "htmlexturl" to the $t comment to specify external versions of theorem pages. This keyward has been added to set.mm, and you must update your local copy of set.mm for "verify markup" to pass with the new program version.

(19-Dec-2020) Aleksandr A. Adamov has translated the Wikipedia Metamath page into Russian.

(19-Nov-2020) Eric Schmidt's checkmm.cpp was used as a test case for C'est, "a non-standard version of the C++20 standard library, with enhanced support for compile-time evaluation." See C++20 Compile-time Metamath Proof Verification using C'est.

(10-Nov-2020) Filip Cernatescu has updated the XPuzzle (Android app) to version 1.2. XPuzzle is a puzzle with math formulas derived from the Metamath system. At the bottom of the web page is a link to the Google Play Store, where the app can be found.

(7-Nov-2020) Richard Penner created a cross-reference guide between Frege's logic notation and the notation used by set.mm.

(4-Sep-2020) Version 0.192 of the metamath program adds the qualifier '/extract' to 'write source'. See 'help write source' and also this Google Group post.

(23-Aug-2020) Version 0.188 of the metamath program adds keywords Conclusion, Fact, Introduction, Paragraph, Scolia, Scolion, Subsection, and Table to bibliographic references. See 'help write bibliography' for the complete current list.

   Older news...

Color key:   Metamath Proof Explorer  Metamath Proof Explorer   Hilbert Space Explorer  Hilbert Space Explorer   User Mathboxes  User Mathboxes  

Last updated on 21-Apr-2026 at 5:34 AM ET.
Recent Additions to the Metamath Proof Explorer   Notes (last updated 7-Dec-2020 )
DateLabelDescription
Theorem
 
17-Apr-2026sin5t 47342 Five-times-angle formula for sine, in pure sine form. (Contributed by Ender Ting, 17-Apr-2026.)
(𝐴 ∈ ℂ → (sin‘(5 · 𝐴)) = (((16 · ((sin‘𝐴)↑5)) − (20 · ((sin‘𝐴)↑3))) + (5 · (sin‘𝐴))))
 
17-Apr-2026sin5tlem5 47341 Lemma 5 for quintupled angle sine calculation: sine of triple-angle and double-angle sum, as a polynomial in sine straight. (Contributed by Ender Ting, 17-Apr-2026.)
((𝑁 ∈ ℂ ∧ 𝑀 ∈ ℂ ∧ (𝑁↑2) = (1 − (𝑀↑2))) → ((((3 · 𝑀) − (4 · (𝑀↑3))) · (1 − (2 · (𝑀↑2)))) + (((4 · (𝑁↑3)) − (3 · 𝑁)) · (2 · (𝑀 · 𝑁)))) = (((16 · (𝑀↑5)) − (20 · (𝑀↑3))) + (5 · 𝑀)))
 
17-Apr-2026sin5tlem4 47340 Lemma 4 for quintupled angle sine calculation: expanding lemma 3 result to difference of polynomials. (Contributed by Ender Ting, 17-Apr-2026.)
((𝑁 ∈ ℂ ∧ 𝑀 ∈ ℂ ∧ (𝑁↑2) = (1 − (𝑀↑2))) → (((4 · (𝑁↑3)) − (3 · 𝑁)) · (2 · (𝑀 · 𝑁))) = ((((8 · (𝑀↑5)) − (16 · (𝑀↑3))) + (8 · 𝑀)) − ((6 · 𝑀) − (6 · (𝑀↑3)))))
 
16-Apr-2026goldrarp 47346 The golden ratio is a positive real. (Contributed by Ender Ting, 16-Apr-2026.)
𝐹 = (2 · (cos‘(π / 5)))       𝐹 ∈ ℝ+
 
16-Apr-2026goldrapos 47345 Golden ratio is positive. (Contributed by Ender Ting, 16-Apr-2026.)
𝐹 = (2 · (cos‘(π / 5)))       0 < 𝐹
 
16-Apr-2026sin5tlem3 47339 Lemma 3 for quintupled angle sine calculation, multiplicating triple angle cosine by double angle sine. (Contributed by Ender Ting, 16-Apr-2026.)
((𝑁 ∈ ℂ ∧ 𝑀 ∈ ℂ ∧ (𝑁↑2) = (1 − (𝑀↑2))) → (((4 · (𝑁↑3)) − (3 · 𝑁)) · (2 · (𝑀 · 𝑁))) = (((4 · ((1 − (2 · (𝑀↑2))) + (𝑀↑4))) − (3 · (1 − (𝑀↑2)))) · (2 · 𝑀)))
 
16-Apr-2026sin5tlem2 47338 Lemma 2 for quintupled angle sine calculation, multiplicating triple angle cosine by cosine straight and converting into sine. (Contributed by Ender Ting, 16-Apr-2026.)
((𝑁 ∈ ℂ ∧ 𝑀 ∈ ℂ ∧ (𝑁↑2) = (1 − (𝑀↑2))) → (((4 · (𝑁↑3)) − (3 · 𝑁)) · 𝑁) = ((4 · ((1 − (2 · (𝑀↑2))) + (𝑀↑4))) − (3 · (1 − (𝑀↑2)))))
 
13-Apr-2026wl-dfclel 37845 Characterization of the elements of a class. (Contributed by BJ, 27-Jun-2019.) Base on wl-dfclel.just 37843. (Revised by Wolf Lammen, 13-Apr-2026.)
(𝐴𝐵 ↔ ∃𝑥(𝑥 = 𝐴𝑥𝐵))
 
13-Apr-2026mh-infprim3bi 36746 An axiom of infinity in primitive symbols not requiring ax-reg 9500. This version of the axiom was designed by Stefan O'Rear for his zf2.nql program, see https://github.com/sorear/metamath-turing-machines 9500. It directly implies ax-inf 9550, but deriving ax-inf2 9553 requires ax-ext 2709 and ax-rep 5212, see mh-inf3sn 36740. (Contributed by Matthew House, 13-Apr-2026.)
(∃𝑦(𝑥𝑦 ∧ ∀𝑧𝑦 {𝑧} ∈ 𝑦) ↔ ¬ ∀𝑦 ¬ ¬ (𝑥𝑦 → ¬ ∀𝑥(𝑥𝑦 → ¬ ∀𝑧 ¬ ¬ (𝑧𝑦 → ¬ ∀𝑦 ¬ ((𝑦𝑧𝑦 = 𝑥) → ¬ (𝑦 = 𝑥𝑦𝑧))))))
 
13-Apr-2026mh-infprim2bi 36745 Shortest possible axiom of infinity in primitive symbols not requiring ax-reg 9500. Deriving ax-inf 9550 or ax-inf2 9553 from this axiom requires ax-ext 2709 and ax-rep 5212, see mh-inf3sn 36740 and inf0 9533. (Contributed by Matthew House, 13-Apr-2026.)
(∃𝑥(∅ ∈ 𝑥 ∧ ∀𝑦𝑥 {𝑦} ∈ 𝑥) ↔ ¬ ∀𝑥 ¬ ∀𝑦𝑧(∀𝑤(𝑤𝑦 → ¬ (𝑤𝑥 → ¬ 𝑤 = 𝑧)) → 𝑦𝑥))
 
13-Apr-2026mh-infprim1bi 36744 Shortest possible axiom of infinity in primitive symbols. Deriving ax-inf 9550 or ax-inf2 9553 from this axiom requires ax-ext 2709, ax-rep 5212, and ax-reg 9500, see inf3 9547 and inf0 9533. (Contributed by Matthew House, 13-Apr-2026.)
(∃𝑥(𝑥 ≠ ∅ ∧ 𝑥 𝑥) ↔ ¬ ∀𝑥 ¬ ∀𝑦 ¬ ∀𝑧((𝑦𝑥𝑦𝑧) → ¬ 𝑧𝑥))
 
13-Apr-2026mh-regprimbi 36743 Shortest possible version of ax-reg 9500 in primitive symbols. The equivalence is nontrivial, but it still follows solely from the axioms of predicate calculus. (Contributed by Matthew House, 13-Apr-2026.)
((∃𝑦 𝑦𝑥 → ∃𝑦(𝑦𝑥 ∧ ∀𝑧(𝑧𝑦 → ¬ 𝑧𝑥))) ↔ ¬ ∀𝑦 ¬ ∀𝑧((𝑦𝑥𝑧𝑦) → ¬ 𝑧𝑥))
 
13-Apr-2026mh-unprimbi 36742 Shortest possible version of ax-un 7682 in primitive symbols. (Contributed by Matthew House, 13-Apr-2026.)
(∃𝑦𝑧(∃𝑤(𝑧𝑤𝑤𝑥) → 𝑧𝑦) ↔ ¬ ∀𝑦 ¬ ∀𝑧(𝑧𝑥 → ∀𝑤(𝑤𝑧𝑤𝑦)))
 
13-Apr-2026mh-prprimbi 36741 Shortest possible version of ax-pr 5370 in primitive symbols. (Contributed by Matthew House, 13-Apr-2026.)
(∃𝑧𝑤((𝑤 = 𝑥𝑤 = 𝑦) → 𝑤𝑧) ↔ ¬ ∀𝑧(𝑥𝑧 → ¬ 𝑦𝑧))
 
13-Apr-2026mh-inf3sn 36740 Version of inf3 9547 for the set of Zermelo ordinals , {∅}, {{∅}}, {{{∅}}}, etc., where the successor of 𝑦 is {𝑦}. Unlike inf3 9547, the proof does not require ax-reg 9500, since the singleton properties snnz 4721 and sneqr 4784 are sufficient to guarantee that all elements of the sequence are distinct. (Contributed by Matthew House, 13-Apr-2026.)
𝑥(∅ ∈ 𝑥 ∧ ∀𝑦𝑥 {𝑦} ∈ 𝑥)       ω ∈ V
 
13-Apr-2026mh-inf3f1 36739 A variant of inf3 9547. If 𝐹 is a one-to-one function from 𝐴 into itself, and there exists an element 𝐵 not in its range, then (rec(𝐹, 𝐵) ↾ ω) is an infinite sequence of distinct elements from 𝐴. If 𝐴 is a set, we can use this theorem to prove ω ∈ V via f1dmex 7903. (Contributed by Matthew House, 13-Apr-2026.)
(𝜑𝐹:𝐴1-1𝐴)    &   (𝜑𝐵 ∈ (𝐴 ∖ ran 𝐹))       (𝜑 → (rec(𝐹, 𝐵) ↾ ω):ω–1-1𝐴)
 
12-Apr-2026nalset 5249 No set contains all sets. Theorem 41 of [Suppes] p. 30. (Contributed by NM, 23-Aug-1993.) Extract exnelv 5248. (Revised by Matthew House, 12-Apr-2026.)
¬ ∃𝑥𝑦 𝑦𝑥
 
12-Apr-2026exnelv 5248 For any set 𝑥, there is a set not contained in 𝑥. The proof is based on Russell's paradox. (Contributed by NM, 23-Aug-1993.) Remove use of ax-12 2185 and ax-13 2377. (Revised by BJ, 31-May-2019.) Extract from nalset 5249. (Revised by Matthew House, 12-Apr-2026.)
𝑦 ¬ 𝑦𝑥
 
11-Apr-2026indsum 15782 Finite sum of a product with the indicator function / Cartesian product with the indicator function. Note: this theorem cannot be efficiently shortened using sumss2 15679, unless there are some additional auxiliary theorems like (if(𝑥𝐴, 1, 0) · 𝐵) = if(𝑥𝐴, 𝐵, 0). (Contributed by Thierry Arnoux, 14-Aug-2017.) (Proof shortened by AV, 11-Apr-2026.)
(𝜑𝑂 ∈ Fin)    &   (𝜑𝐴𝑂)    &   ((𝜑𝑥𝑂) → 𝐵 ∈ ℂ)       (𝜑 → Σ𝑥𝑂 ((((𝟭‘𝑂)‘𝐴)‘𝑥) · 𝐵) = Σ𝑥𝐴 𝐵)
 
11-Apr-2026indval0 12154 The indicator function generator does not generate a (meaningful) indicator function for a class which is not a subset of the domain. (Contributed by AV, 11-Apr-2026.)
𝐴𝑂 → ((𝟭‘𝑂)‘𝐴) = ∅)
 
10-Apr-2026ppivalnn 48107 Value of the prime-counting function pi for positive integers, according to Ján Mináč, see statement in [Ribenboim], p. 181. (Contributed by AV, 10-Apr-2026.)
(𝑁 ∈ ℕ → (π𝑁) = Σ𝑘 ∈ (2...𝑁)(⌊‘((((!‘(𝑘 − 1)) + 1) / 𝑘) − (⌊‘((!‘(𝑘 − 1)) / 𝑘)))))
 
10-Apr-2026ppivalnnprm 48100 Value of a term of the prime-counting function pi for positive integers, according to Ján Mináč, for a prime number. (Contributed by AV, 10-Apr-2026.)
(𝑃 ∈ ℙ → (⌊‘((((!‘(𝑃 − 1)) + 1) / 𝑃) − (⌊‘((!‘(𝑃 − 1)) / 𝑃)))) = 1)
 
10-Apr-2026flmrecm1 47803 The floor of an integer minus the reciprocal of a positive integer is the integer minus 1. (Contributed by AV, 10-Apr-2026.)
((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℕ) → (⌊‘(𝑀 − (1 / 𝑁))) = (𝑀 − 1))
 
10-Apr-2026nnge2recfl0 47802 The floor of the reciprocal of an integer greater than 1 is 0. (Contributed by AV, 10-Apr-2026.)
(𝑁 ∈ (ℤ‘2) → (⌊‘(1 / 𝑁)) = 0)
 
10-Apr-2026prmssuz2 16657 The primes are integers greater than 1. (Contributed by AV, 10-Apr-2026.)
ℙ ⊆ (ℤ‘2)
 
10-Apr-2026indsumhash 15783 The finite sum of the indicator function is the number of elements of the corresponding subset. (Contributed by AV, 10-Apr-2026.)
1 = ((𝟭‘𝑂)‘𝐴)       ((𝑂 ∈ Fin ∧ 𝐴𝑂) → Σ𝑘𝑂 ( 1𝑘) = (♯‘𝐴))
 
10-Apr-2026fsumconst1 15744 The sum of 1 over a finite set equals the size of the set. (Contributed by AV, 10-Apr-2026.)
(𝐴 ∈ Fin → Σ𝑘𝐴 1 = (♯‘𝐴))
 
10-Apr-2026nnge2recico01 13451 The reciprocal of an integer greater than 1 is in the right open interval between 0 and 1. (Contributed by AV, 10-Apr-2026.)
(𝑁 ∈ (ℤ‘2) → (1 / 𝑁) ∈ (0[,)1))
 
10-Apr-2026fvindre 12158 The range of the indicator function is a subset of . (Contributed by AV, 10-Apr-2026.)
(((𝑂 ∈ Fin ∧ 𝐴𝑂) ∧ 𝑋𝑂) → (((𝟭‘𝑂)‘𝐴)‘𝑋) ∈ ℝ)
 
9-Apr-2026rediv11d 42909 One-to-one relationship for division. (Contributed by SN, 9-Apr-2026.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐵 ∈ ℝ)    &   (𝜑𝐶 ∈ ℝ)    &   (𝜑𝐶 ≠ 0)       (𝜑 → ((𝐴 / 𝐶) = (𝐵 / 𝐶) ↔ 𝐴 = 𝐵))
 
9-Apr-2026redivdird 42908 Distribution of division over addition. (Contributed by SN, 9-Apr-2026.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐵 ∈ ℝ)    &   (𝜑𝐶 ∈ ℝ)    &   (𝜑𝐶 ≠ 0)       (𝜑 → ((𝐴 + 𝐵) / 𝐶) = ((𝐴 / 𝐶) + (𝐵 / 𝐶)))
 
9-Apr-2026rediv23d 42907 A "commutative"/associative law for division. (Contributed by SN, 9-Apr-2026.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐵 ∈ ℝ)    &   (𝜑𝐶 ∈ ℝ)    &   (𝜑𝐶 ≠ 0)       (𝜑 → ((𝐴 · 𝐵) / 𝐶) = ((𝐴 / 𝐶) · 𝐵))
 
9-Apr-2026redivrec2d 42906 Relationship between division and reciprocal. (Contributed by SN, 9-Apr-2026.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐵 ∈ ℝ)    &   (𝜑𝐵 ≠ 0)       (𝜑 → (𝐴 / 𝐵) = ((1 / 𝐵) · 𝐴))
 
8-Apr-2026ppivalnnnprm 48103 Value of a term of the prime-counting function pi for positive integers, according to Ján Miná&ccaron, for a non-prime number greater than 1. (Contributed by AV, 8-Apr-2026.)
((𝑁 ∈ (ℤ‘2) ∧ 𝑁 ∉ ℙ) → (⌊‘((((!‘(𝑁 − 1)) + 1) / 𝑁) − (⌊‘((!‘(𝑁 − 1)) / 𝑁)))) = 0)
 
8-Apr-2026ppivalnn4 48102 Value of the term of the prime-counting function pi for positive integers, according to Ján Mináč, for 4. (Contributed by AV, 8-Apr-2026.)
(⌊‘((((!‘(4 − 1)) + 1) / 4) − (⌊‘((!‘(4 − 1)) / 4)))) = 0
 
7-Apr-2026nprmdvdsfacm1 48099 A non-prime integer greater than 5 divides the factorial of the integer decreased by 1 (see remark in [Ribenboim] p. 181). Note: not valid for 𝑁 = 4, but for 𝑁 = 1! (Contributed by AV, 7-Apr-2026.)
((𝑁 ∈ (ℤ‘6) ∧ 𝑁 ∉ ℙ) → 𝑁 ∥ (!‘(𝑁 − 1)))
 
7-Apr-2026nprmdvdsfacm1lem4 48098 Lemma 4 for nprmdvdsfacm1 48099. (Contributed by AV, 7-Apr-2026.)
((𝑁 ∈ (ℤ‘6) ∧ 𝐴 ∈ (2..^𝑁) ∧ 𝑁 = (𝐴↑2)) → 𝑁 ∥ (!‘(𝑁 − 1)))
 
7-Apr-2026nprmdvdsfacm1lem3 48097 Lemma 3 for nprmdvdsfacm1 48099. (Contributed by AV, 7-Apr-2026.)
((𝑁 ∈ (ℤ‘6) ∧ 𝐴 ∈ (2..^𝑁) ∧ 𝑁 = (𝐴↑2)) → (2 · 𝐴) < (𝑁 − 1))
 
7-Apr-2026nprmdvdsfacm1lem2 48096 Lemma 2 for nprmdvdsfacm1 48099. (Contributed by AV, 7-Apr-2026.)
((𝑁 ∈ (ℤ‘6) ∧ 𝐴 ∈ (2..^𝑁) ∧ 𝑁 = (𝐴↑2)) → 3 ≤ 𝐴)
 
7-Apr-2026nprmdvdsfacm1lem1 48095 Lemma 1 for nprmdvdsfacm1 48099. (Contributed by AV, 7-Apr-2026.)
((𝑁 ∈ (ℤ‘6) ∧ 𝐴 ∈ (2..^𝑁) ∧ 𝑁 = (𝐴↑2)) → 𝑁 ∥ (𝐴 · (2 · 𝐴)))
 
7-Apr-20262timesltsqm1 47839 Two times an integer greater than 2 is less than the square of the integer minus 1. (Contributed by AV, 7-Apr-2026.)
(𝐴 ∈ (ℤ‘3) → (2 · 𝐴) < ((𝐴↑2) − 1))
 
7-Apr-2026wl-dfcleq 37844 The defining characterization of class equality. It is proved, over Tarski's FOL, from the axiom of (set) extensionality (ax-ext 2709) and the definition of class equality (df-cleq 2729). Its forward implication is called "class extensionality". Remark: the proof uses axextb 2712 to prove also the hypothesis of df-cleq 2729 that is a degenerate instance, but it could be proved also from minimal propositional calculus and { ax-gen 1797, equid 2014 }. (Contributed by NM, 15-Sep-1993.) (Revised by BJ, 24-Jun-2019.) Base on wl-dfcleq.just 37840. (Revised by Wolf Lammen, 7-Apr-2026.)
(𝐴 = 𝐵 ↔ ∀𝑥(𝑥𝐴𝑥𝐵))
 
7-Apr-2026wl-dfclel.just 37843 Add a hypotheses to wl-dfclel.basic 37842, that allows alpha-renaming. (Contributed by Wolf Lammen, 7-Apr-2026.)
(∃𝑥(𝑥 = 𝐴𝑥𝐵) ↔ ∃𝑦(𝑦 = 𝐴𝑦𝐵))       (𝐴𝐵 ↔ ∃𝑥(𝑥 = 𝐴𝑥𝐵))
 
7-Apr-2026wl-dfcleq.just 37840 Add more hypotheses, so equality of classes is an equivalence relation, does not conflict with properties (membership) of classes, and allows alpha-renaming. (Contributed by Wolf Lammen, 7-Apr-2026.)
(∀𝑥(𝑥𝐴𝑥𝐵) ↔ ∀𝑦(𝑦𝐴𝑦𝐵))    &   𝐴 = 𝐴    &   (𝐴 = 𝐵 → (𝐵 = 𝐶𝐶 = 𝐴))    &   (𝐴 = 𝐵 → (𝐴𝐶𝐵𝐶))    &   (𝐴 = 𝐵 → (𝐶𝐴𝐶𝐵))       (𝐴 = 𝐵 ↔ ∀𝑥(𝑥𝐴𝑥𝐵))
 
7-Apr-2026elALTtco 36679 Derivation of el 5385 from ax-tco 36670. Use el 5385 instead. (Contributed by Matthew House, 7-Apr-2026.) (Proof modification is discouraged.) (New usage is discouraged.)
𝑦 𝑥𝑦
 
7-Apr-2026axnulregtco 36678 Derivation of ax-nul 5241 from ax-reg 9500 and ax-tco 36670. Use ax-nul 5241 instead. (Contributed by Matthew House, 7-Apr-2026.) (Proof modification is discouraged.) (New usage is discouraged.)
𝑥𝑦 ¬ 𝑦𝑥
 
7-Apr-2026axtco1 36671 Strong form of the Axiom of Transitive Containment. See ax-tco 36670 for more information. In particular, this theorem generalizes the statement of ax-tco 36670, allowing it to be written with only three variables, since 𝑥 need not be distinct from both 𝑧 and 𝑤. (Contributed by Matthew House, 7-Apr-2026.)
𝑦(𝑥𝑦 ∧ ∀𝑧(𝑧𝑦 → ∀𝑤(𝑤𝑧𝑤𝑦)))
 
6-Apr-2026nprmmul2 48000 Special factorization of a non-prime integer greater than 3. (Contributed by AV, 6-Apr-2026.)
(𝑁 ∈ (ℤ‘4) → (𝑁 ∉ ℙ ↔ ∃𝑎 ∈ (2..^𝑁)∃𝑏 ∈ (2..^𝑁)(𝑎𝑏𝑁 = (𝑎 · 𝑏))))
 
6-Apr-2026muldvdsfacm1 47847 The product of two different positive integers less than a third integer divides the factorial of the third integer decreased by 1. By assumption, the third integer must be greater than 3. (Contributed by AV, 6-Apr-2026.)
((𝐴 ∈ (1..^𝐵) ∧ 𝐵 ∈ (1..^𝑁)) → (𝐴 · 𝐵) ∥ (!‘(𝑁 − 1)))
 
6-Apr-2026muldvdsfacgt 47846 The product of two different positive integers divides the factorial of the bigger integer. (Contributed by AV, 6-Apr-2026.)
(𝐴 ∈ (1..^𝐵) → (𝐴 · 𝐵) ∥ (!‘𝐵))
 
6-Apr-2026facnn0dvdsfac 47845 The factorial of a nonnegative integer divides the factorial of an integer which is greater than or equal to the first integer. (Contributed by AV, 6-Apr-2026.)
(𝑀 ∈ (0...𝑁) → (!‘𝑀) ∥ (!‘𝑁))
 
6-Apr-20262timesltsq 47838 Two times an integer greater than 2 is less than the square of the integer. (Contributed by AV, 6-Apr-2026.)
(𝐴 ∈ (ℤ‘3) → (2 · 𝐴) < (𝐴↑2))
 
6-Apr-2026ttc0el 36733 A transitive closure contains as an element iff it is nonempty, assuming Regularity and Transitive Containment. (Contributed by Matthew House, 6-Apr-2026.)
(𝐴 ≠ ∅ ↔ ∅ ∈ TC+ 𝐴)
 
6-Apr-2026dfttc3g 36732 The transitive closure of a set 𝐴 is (TC‘𝐴), assuming Transitive Containment. (Contributed by Matthew House, 6-Apr-2026.)
(𝐴𝑉 → TC+ 𝐴 = (TC‘𝐴))
 
6-Apr-2026ttcexbi 36731 A class is a set iff its transitive closure is a set, assuming Transitive Containment. (Contributed by Matthew House, 6-Apr-2026.)
(𝐴 ∈ V ↔ TC+ 𝐴 ∈ V)
 
6-Apr-2026ttcexg 36730 The transitive closure of a set is a set, assuming Transitive Containment. (Contributed by Matthew House, 6-Apr-2026.)
(𝐴𝑉 → TC+ 𝐴 ∈ V)
 
6-Apr-2026elttcirr 36729 Irreflexivity of 𝐴 ∈ TC+ 𝐵 relationship. This is a consequence of Regularity, but it does not require Transitive Containment. We use the alternative expression dfttc4 36728 to construct a set in which 𝐴 is both -minimal and not -minimal. (Contributed by Matthew House, 6-Apr-2026.)
¬ 𝐴 ∈ TC+ 𝐴
 
6-Apr-2026dfttc4 36728 An alternative expression for the transitive closure of a class, assuming Regularity. A set 𝑥 is contained in the transitive closure of 𝐴 iff we can construct an -chain from 𝑥 to an element of 𝐴. This weak definition is primarily useful for proving elttcirr 36729. (Contributed by Matthew House, 6-Apr-2026.)
TC+ 𝐴 = {𝑥 ∣ ∃𝑦((𝐴𝑦) ≠ ∅ ∧ ∀𝑧𝑦 ((𝑧𝑦) = ∅ → 𝑧 = 𝑥))}
 
6-Apr-2026dfttc4lem2 36727 Lemma for dfttc4 36728. (Contributed by Matthew House, 6-Apr-2026.)
𝐵 = {𝑥 ∣ ∃𝑦((𝐴𝑦) ≠ ∅ ∧ ∀𝑧𝑦 ((𝑧𝑦) = ∅ → 𝑧 = 𝑥))}       (𝐴𝐵 ∧ Tr 𝐵)
 
6-Apr-2026dfttc4lem1 36726 Lemma for dfttc4 36728. (Contributed by Matthew House, 6-Apr-2026.)
𝐵 = {𝑥 ∣ ∃𝑦((𝐴𝑦) ≠ ∅ ∧ ∀𝑧𝑦 ((𝑧𝑦) = ∅ → 𝑧 = 𝑥))}    &   𝐶 ∈ V    &   𝐷 ∈ V       (((𝐴𝐶) ≠ ∅ ∧ ∀𝑧𝐶 ((𝑧𝐶) = ∅ → 𝑧 = 𝐷)) → 𝐷𝐵)
 
6-Apr-2026ttc0elw 36725 If a transitive closure is a set, then it contains as an element iff it is nonempty, assuming Regularity. If we also assume Transitive Containment, then we can remove the TC+ 𝐴𝑉 hypothesis, see ttc0el 36733. (Contributed by Matthew House, 6-Apr-2026.)
(TC+ 𝐴𝑉 → (𝐴 ≠ ∅ ↔ ∅ ∈ TC+ 𝐴))
 
6-Apr-2026ttcwf3 36724 The sets whose transitive closures are sets are precisely the well-founded sets, assuming Regularity. (Contributed by Matthew House, 6-Apr-2026.)
(TC+ 𝐴 ∈ V ↔ 𝐴 (𝑅1 “ On))
 
6-Apr-2026ttcwf2 36723 If a transitive closure class is a set, then it is well-founded, assuming Regularity. (Contributed by Matthew House, 6-Apr-2026.)
(TC+ 𝐴 ∈ V ↔ TC+ 𝐴 (𝑅1 “ On))
 
6-Apr-2026ttcwf 36722 A set is well-founded iff its transitive closure is well-founded. As a corollary, the transitive closure of any well-founded set is a set. (Contributed by Matthew House, 6-Apr-2026.)
(𝐴 (𝑅1 “ On) ↔ TC+ 𝐴 (𝑅1 “ On))
 
6-Apr-2026dfttc3gw 36721 If the transitive closure of 𝐴 is a set, then its value is (TC‘𝐴). If we assume Transitive Containment, then we can weaken the hypothesis to 𝐴𝑉, see dfttc3g 36732. (Contributed by Matthew House, 6-Apr-2026.)
(TC+ 𝐴𝑉 → TC+ 𝐴 = (TC‘𝐴))
 
6-Apr-2026ttcsntrsucg 36720 The singleton transitive closure of a transitive set is its successor. (Contributed by Matthew House, 6-Apr-2026.)
((𝐴𝑉 ∧ Tr 𝐴) → TC+ {𝐴} = suc 𝐴)
 
6-Apr-2026ttcsnexbig 36719 The transitive closure of a set is a set iff its singleton transitive closure is a set. (Contributed by Matthew House, 6-Apr-2026.)
(𝐴𝑉 → (TC+ 𝐴 ∈ V ↔ TC+ {𝐴} ∈ V))
 
6-Apr-2026ttcsnexg 36718 If the transitive closure of a class is a set, then its singleton transitive closure is a set. (Contributed by Matthew House, 6-Apr-2026.)
(TC+ 𝐴𝑉 → TC+ {𝐴} ∈ V)
 
6-Apr-2026ttcsng 36717 Relationship between TC+ {𝐴} and TC+ 𝐴: the former contains the additional element 𝐴. (Contributed by Matthew House, 6-Apr-2026.)
(𝐴𝑉 → TC+ {𝐴} = (TC+ 𝐴 ∪ {𝐴}))
 
6-Apr-2026ttcsnmin 36716 The singleton transitive closure is the minimal transitive class containing 𝐴 as an element. (Contributed by Matthew House, 6-Apr-2026.)
((𝐴𝐵 ∧ Tr 𝐵) → TC+ {𝐴} ⊆ 𝐵)
 
6-Apr-2026ttcsnidg 36715 The singleton transitive closure contains its argument 𝐴 as an element. (Contributed by Matthew House, 6-Apr-2026.)
(𝐴𝑉𝐴 ∈ TC+ {𝐴})
 
6-Apr-2026ttcsnssg 36714 The transitive closure is contained in the singleton transitive closure. (Contributed by Matthew House, 6-Apr-2026.)
(𝐴𝑉 → TC+ 𝐴 ⊆ TC+ {𝐴})
 
6-Apr-2026ttcpwss 36713 The transitive closure of a power class is contained in the power class of the transitive closure. (Contributed by Matthew House, 6-Apr-2026.)
TC+ 𝒫 𝐴 ⊆ 𝒫 TC+ 𝐴
 
6-Apr-2026ttciun 36712 Distribute indexed union through a transitive closure. (Contributed by Matthew House, 6-Apr-2026.)
TC+ 𝑥𝐴 𝐵 = 𝑥𝐴 TC+ 𝐵
 
6-Apr-2026ttcuni 36711 Distribute union of a class through a transitive closure. (Contributed by Matthew House, 6-Apr-2026.)
TC+ 𝐴 = TC+ 𝐴
 
6-Apr-2026ttcun 36710 Distribute union of two classes through a transitive closure. (Contributed by Matthew House, 6-Apr-2026.)
TC+ (𝐴𝐵) = (TC+ 𝐴 ∪ TC+ 𝐵)
 
6-Apr-2026ttciunun 36709 Relationship between TC+ 𝐴 and 𝑥𝐴TC+ 𝑥: we can decompose TC+ 𝐴 into the elements of 𝑥𝐴TC+ 𝑥 plus the elements of 𝐴 itself. (Contributed by Matthew House, 6-Apr-2026.)
TC+ 𝐴 = ( 𝑥𝐴 TC+ 𝑥𝐴)
 
6-Apr-2026ttcuniun 36708 Relationship between TC+ 𝐴 and TC+ 𝐴: we can decompose TC+ 𝐴 into the elements of TC+ 𝐴 plus the elements of 𝐴 itself. (Contributed by Matthew House, 6-Apr-2026.)
TC+ 𝐴 = (TC+ 𝐴𝐴)
 
6-Apr-2026csbttc 36707 Distribute proper substitution through a transitive closure. (Contributed by Matthew House, 6-Apr-2026.)
𝐴 / 𝑥TC+ 𝐵 = TC+ 𝐴 / 𝑥𝐵
 
6-Apr-2026ttc00 36706 A class has an empty transitive closure iff it is the empty set. (Contributed by Matthew House, 6-Apr-2026.)
(𝐴 = ∅ ↔ TC+ 𝐴 = ∅)
 
6-Apr-2026ttc0 36705 The transitive closure of the empty set is the empty set. (Contributed by Matthew House, 6-Apr-2026.)
TC+ ∅ = ∅
 
6-Apr-2026dfttc2g 36704 A shorter expression for the transitive closure of a set. (Contributed by Matthew House, 6-Apr-2026.)
(𝐴𝑉 → TC+ 𝐴 = (rec((𝑥 ∈ V ↦ 𝑥), 𝐴) “ ω))
 
6-Apr-2026elttctr 36703 Transitivity of 𝐴 ∈ TC+ 𝐵 relationship. (Contributed by Matthew House, 6-Apr-2026.)
((𝐴 ∈ TC+ 𝐵𝐵 ∈ TC+ 𝐶) → 𝐴 ∈ TC+ 𝐶)
 
6-Apr-2026ssttctr 36702 Transitivity of 𝐴 ⊆ TC+ 𝐵 relationship. (Contributed by Matthew House, 6-Apr-2026.)
((𝐴 ⊆ TC+ 𝐵𝐵 ⊆ TC+ 𝐶) → 𝐴 ⊆ TC+ 𝐶)
 
6-Apr-2026ttcidm 36701 The transitive closure operation is idempotent. (Contributed by Matthew House, 6-Apr-2026.)
TC+ TC+ 𝐴 = TC+ 𝐴
 
6-Apr-2026ttctrid 36700 The transitive closure of a transitive class is the class itself. (Contributed by Matthew House, 6-Apr-2026.)
(Tr 𝐴 → TC+ 𝐴 = 𝐴)
 
6-Apr-2026ttcel2 36699 Elements turn into subclasses upon taking transitive closures. (Contributed by Matthew House, 6-Apr-2026.)
(𝐴𝐵 → TC+ 𝐴 ⊆ TC+ 𝐵)
 
6-Apr-2026ttcel 36698 A transitive closure contains the transitive closures of all its elements. (Contributed by Matthew House, 6-Apr-2026.)
(𝐴 ∈ TC+ 𝐵 → TC+ 𝐴 ⊆ TC+ 𝐵)
 
6-Apr-2026ttcss2 36697 The subclass relationship is inherited by transitive closures. (Contributed by Matthew House, 6-Apr-2026.)
(𝐴𝐵 → TC+ 𝐴 ⊆ TC+ 𝐵)
 
6-Apr-2026ttcss 36696 A transitive closure contains the transitive closures of all its subclasses. (Contributed by Matthew House, 6-Apr-2026.)
(𝐴 ⊆ TC+ 𝐵 → TC+ 𝐴 ⊆ TC+ 𝐵)
 
6-Apr-2026ttcexrg 36695 If the transitive closure of a class is a set, then the class is a set. (Contributed by Matthew House, 6-Apr-2026.)
(TC+ 𝐴𝑉𝐴 ∈ V)
 
6-Apr-2026ttcmin 36694 The transitive closure of 𝐴 is a subclass of every transitive class containing 𝐴. (Contributed by Matthew House, 6-Apr-2026.)
((𝐴𝐵 ∧ Tr 𝐵) → TC+ 𝐴𝐵)
 
6-Apr-2026ttctr3 36693 The transitive closure of a class is transitive. (Contributed by Matthew House, 6-Apr-2026.)
TC+ 𝐴 ⊆ TC+ 𝐴
 
6-Apr-2026ttctr2 36692 The transitive closure of a class is transitive. (Contributed by Matthew House, 6-Apr-2026.)
(𝐴 ∈ TC+ 𝐵𝐴 ⊆ TC+ 𝐵)
 
6-Apr-2026ttctr 36691 The transitive closure of a class is transitive. (Contributed by Matthew House, 6-Apr-2026.)
Tr TC+ 𝐴
 
6-Apr-2026ttcid 36690 The transitive closure contains its argument as a subclass. (Contributed by Matthew House, 6-Apr-2026.)
𝐴 ⊆ TC+ 𝐴
 
6-Apr-2026nfttc 36689 Bound-variable hypothesis builder for transitive closure. (Contributed by Matthew House, 6-Apr-2026.)
𝑥𝐴       𝑥TC+ 𝐴
 
6-Apr-2026ttceqd 36688 Equality deduction for transitive closure. (Contributed by Matthew House, 6-Apr-2026.)
(𝜑𝐴 = 𝐵)       (𝜑 → TC+ 𝐴 = TC+ 𝐵)
 
6-Apr-2026ttceqi 36687 Equality inference for transitive closure. (Contributed by Matthew House, 6-Apr-2026.)
𝐴 = 𝐵       TC+ 𝐴 = TC+ 𝐵
 
6-Apr-2026ttceq 36686 Equality theorem for transitive closure. (Contributed by Matthew House, 6-Apr-2026.)
(𝐴 = 𝐵 → TC+ 𝐴 = TC+ 𝐵)
 
6-Apr-2026df-ttc 36685 Transitive closure of a class. Unlike (TC‘𝐴) (see df-tc 9647), this definition works even if 𝐴 or its transitive closure is a proper class. Note that unless we assume Transitive Containment, the transitive closure of a set may be a proper class. If we only assume Regularity, then the class of sets whose transitive closure is a set is precisely the class of well-founded sets, see ttcwf3 36724. (Contributed by Matthew House, 6-Apr-2026.)
TC+ 𝐴 = 𝑥𝐴 (rec((𝑦 ∈ V ↦ 𝑦), {𝑥}) “ ω)
 
6-Apr-2026cttc 36684 Extend class notation with the transitive closure of a class. (Contributed by Matthew House, 6-Apr-2026.)
class TC+ 𝐴
 
6-Apr-2026tr0el 36683 Every nonempty transitive class contains the empty set as an element, a consequence of Regularity and Transitive Containment. (Contributed by Matthew House, 6-Apr-2026.)
((𝐴 ≠ ∅ ∧ Tr 𝐴) → ∅ ∈ 𝐴)
 
6-Apr-2026tr0elw 36682 Every nonempty transitive set contains the empty set as an element, a consequence of Regularity. If we assume Transitive Containment, then we can omit the 𝐴𝑉 hypothesis, see tr0el 36683. (Contributed by Matthew House, 6-Apr-2026.)
((𝐴𝑉𝐴 ≠ ∅ ∧ Tr 𝐴) → ∅ ∈ 𝐴)
 
6-Apr-2026tz9.1tco 36681 Version of tz9.1 9641 derived from ax-tco 36670. (Contributed by Matthew House, 6-Apr-2026.)
𝐴 ∈ V       𝑥(𝐴𝑥 ∧ Tr 𝑥 ∧ ∀𝑦((𝐴𝑦 ∧ Tr 𝑦) → 𝑥𝑦))
 
6-Apr-2026tz9.1ctco 36680 Version of tz9.1c 9642 derived from ax-tco 36670. (Contributed by Matthew House, 6-Apr-2026.)
𝐴 ∈ V        {𝑥 ∣ (𝐴𝑥 ∧ Tr 𝑥)} ∈ V
 
6-Apr-2026axuntco 36677 Derivation of ax-un 7682 from ax-tco 36670. Use ax-un 7682 instead. (Contributed by Matthew House, 6-Apr-2026.) (Proof modification is discouraged.) (New usage is discouraged.)
𝑦𝑧(∃𝑤(𝑧𝑤𝑤𝑥) → 𝑧𝑦)
 
6-Apr-2026axtcond 36676 A version of the Axiom of Transitive Containment with no distinct variable conditions. Usage of this theorem is discouraged because it depends on ax-13 2377. (Contributed by Matthew House, 6-Apr-2026.) (New usage is discouraged.)
𝑦𝑧((𝑧 = 𝑥𝑧𝑦) → ∀𝑥(𝑥𝑧𝑥𝑦))
 
6-Apr-2026axtco2g 36675 Weak form of the Axiom of Transitive Containment using class variables and abbreviations. See ax-tco 36670 for more information. (Contributed by Matthew House, 6-Apr-2026.)
(𝐴𝑉 → ∃𝑥(𝐴𝑥 ∧ Tr 𝑥))
 
6-Apr-2026axtco1g 36674 Strong form of the Axiom of Transitive Containment using class variables and abbreviations. See ax-tco 36670 for more information. (Contributed by Matthew House, 6-Apr-2026.)
(𝐴𝑉 → ∃𝑥(𝐴𝑥 ∧ Tr 𝑥))
 
6-Apr-2026axtco1from2 36673 Strong form axtco1 36671 of the Axiom of Transitive Containment, derived from the weak form axtco2 36672. See ax-tco 36670 for more information. As written, the proof uses ax-pr 5370 via el 5385, but we could alternatively use ax-pow 5302 via elALT2 5306. Use axtco1 36671 instead. (Contributed by Matthew House, 6-Apr-2026.) (Proof modification is discouraged.) (New usage is discouraged.)
𝑦(𝑥𝑦 ∧ ∀𝑧(𝑧𝑦 → ∀𝑤(𝑤𝑧𝑤𝑦)))
 
6-Apr-2026axtco2 36672 Weak form of the Axiom of Transitive Containment. See ax-tco 36670 for more information. In particular, this theorem shows the derivation of the weak form from the strong form. (Contributed by Matthew House, 6-Apr-2026.)
𝑦𝑧((𝑧 = 𝑥𝑧𝑦) → ∀𝑤(𝑤𝑧𝑤𝑦))
 
6-Apr-2026ax-tco 36670 The Axiom of Transitive Containment of ZF set theory. It was derived as axtco 36669 above and is therefore redundant if we assume ax-ext 2709, ax-rep 5212 and ax-inf2 9553, but we state it as a separate axiom here so that its uses can be identified more easily. It states that a transitive set 𝑦 exists that contains a given set 𝑥. In particular, the transitive closure of 𝑥 is a set, since it is a subset of 𝑦, see df-tc 9647.

Traditionally, this statement is not counted as an axiom at all, but as a theorem from Replacement and Infinity. In fact, from the transitive closure of 𝑥 we can construct the set of iterated unions of 𝑥 (and vice versa), and Skolem took the existence of the latter set as a motivation for introducing the Axiom of Replacement. But Transitive Containment is strictly weaker than either of those axioms, so many authors identify it as its own axiom when investigating subsystems of ZF, such as Zermelo set theory or finitist set theory. We follow this separation in order to avoid nonessential usage of the stronger axioms.

There are two main versions of this axiom that appear in the literature: the strong form 𝑦(𝑥𝑦 ∧ Tr 𝑦), see axtco1 36671 and axtco1g 36674, and the weak form 𝑦(𝑥𝑦 ∧ Tr 𝑦), see axtco2 36672 and axtco2g 36675. The weak form follows directly from the strong form, see axtco2 36672. But the strong form only follows from the weak form if we allow el 5385 or one of its variants, see axtco1from2 36673. We take the strong form here as the axiom, since it is slightly shorter when expanded to primitive symbols. Yet the weak form turns out to be more suitable for axtcond 36676 for reasons of syntax. (Contributed by Matthew House, 6-Apr-2026.)

𝑦(𝑥𝑦 ∧ ∀𝑧(𝑧𝑦 → ∀𝑤(𝑤𝑧𝑤𝑦)))
 
6-Apr-2026axtco 36669 Axiom of Transitive Containment, derived as a theorem from ax-ext 2709, ax-rep 5212, and ax-inf2 9553. Use ax-tco 36670 instead. (Contributed by Matthew House, 6-Apr-2026.) (New usage is discouraged.)
𝑦(𝑥𝑦 ∧ ∀𝑧(𝑧𝑦 → ∀𝑤(𝑤𝑧𝑤𝑦)))
 
6-Apr-2026el 5385 Any set is an element of some other set. See elALT 5389 for a shorter proof using more axioms, and see elALT2 5306 for a proof that uses ax-9 2124 and ax-pow 5302 instead of ax-pr 5370. (Contributed by NM, 4-Jan-2002.) (Proof shortened by Andrew Salmon, 25-Jul-2011.) Use ax-pr 5370 instead of ax-9 2124 and ax-pow 5302. (Revised by BTernaryTau, 2-Dec-2024.) (Proof shortened by Matthew House, 6-Apr-2026.)
𝑦 𝑥𝑦
 
6-Apr-2026axprlem1 5360 Lemma for axpr 5364. There exists a set to which all empty sets belong. (Contributed by Rohan Ridenour, 10-Aug-2023.) (Revised by BJ, 13-Aug-2023.) (Proof shortened by Matthew House, 6-Apr-2026.)
𝑥𝑦(∀𝑧 ¬ 𝑧𝑦𝑦𝑥)
 
5-Apr-2026nprmmul1 47999 Special factorization of a non-prime integer greater than 3. (Contributed by AV, 5-Apr-2026.)
(𝑁 ∈ (ℤ‘4) → (𝑁 ∉ ℙ ↔ ∃𝑎 ∈ (2..^𝑁)∃𝑏 ∈ (2..^𝑁)𝑁 = (𝑎 · 𝑏)))
 
5-Apr-2026nndivides2 47844 Definition of the divides relation for divisors greater than 1. (Contributed by AV, 5-Apr-2026.)
((𝑀 ∈ (2..^𝑁) ∧ 𝑁 ∈ ℕ) → (𝑀𝑁 ↔ ∃𝑛 ∈ (2..^𝑁)(𝑛 · 𝑀) = 𝑁))
 
5-Apr-2026nnmul2b 47791 A factor of a product of integers is at least 2 and less then the product iff the second factor is at least 2 and less then the product. (Contributed by AV, 5-Apr-2026.)
((𝐴 ∈ ℕ ∧ 𝐵 ∈ ℕ ∧ (𝐴 · 𝐵) = 𝑁) → (𝐴 ∈ (2..^𝑁) ↔ 𝐵 ∈ (2..^𝑁)))
 
5-Apr-2026nnmul2 47790 If one factor of a product of integers is at least 2 and less then the product, so is the second factor. (Contributed by AV, 5-Apr-2026.)
((𝐴 ∈ (2..^𝑁) ∧ 𝐵 ∈ ℕ ∧ (𝐴 · 𝐵) = 𝑁) → 𝐵 ∈ (2..^𝑁))
 
5-Apr-2026elfzo2nn 47789 A member of a half-open range of integers starting at 2 is a positive integer. (Contributed by AV, 5-Apr-2026.)
(𝐾 ∈ (2..^𝑁) → 𝐾 ∈ ℕ)
 
5-Apr-2026elfz2nn 47782 A member of a finite set of sequential integers starting at 2 is a positive integer. (Contributed by AV, 5-Apr-2026.)
(𝐾 ∈ (2...𝑁) → 𝐾 ∈ ℕ)
 
5-Apr-2026bj-alrimdh 36905 Deduction form of Theorem 19.21 of [Margaris] p. 90, see 19.21 2215 and 19.21h 2294. (Contributed by NM, 10-Feb-1997.) (Proof shortened by Andrew Salmon, 13-May-2011.) State the most general derivable instance. (Revised by BJ, 5-Apr-2026.)
(𝜑 → ∀𝑥𝜓)    &   (𝜒 → ∀𝑥𝜃)    &   (𝜓 → (𝜃𝜏))       (𝜑 → (𝜒 → ∀𝑥𝜏))
 
5-Apr-2026bj-alimdh 36904 General instance of alimdh 1819. (Contributed by NM, 4-Jan-2002.) State the most general derivable instance. (Revised by BJ, 5-Apr-2026.)
(𝜑 → ∀𝑥𝜓)    &   (𝜓 → (𝜒𝜃))       (𝜑 → (∀𝑥𝜒 → ∀𝑥𝜃))
 
5-Apr-2026zfrep6 5224 A version of the Axiom of Replacement. Normally 𝜑 would have free variables 𝑥 and 𝑦. Axiom 6 of [Kunen] p. 12. The Separation Scheme ax-sep 5231 cannot be derived from this version and must be stated as a separate axiom in an axiom system (such as Kunen's) that uses this version in place of our ax-rep 5212. (Contributed by NM, 10-Oct-2003.) Shorten proof and reduce axiom dependencies. (Revised by BJ, 5-Apr-2026.)
(∀𝑥𝑧 ∃!𝑦𝜑 → ∃𝑤𝑥𝑧𝑦𝑤 𝜑)
 
5-Apr-2026replem 5223 A lemma for variants of the axiom of replacement: if we can form the set of images of the functional relation, then we can also form a set containing all its images. The converse requires the axiom of separation. (Contributed by BJ, 5-Apr-2026.)
((∀𝑥𝑧𝑦𝜑 ∧ ∃𝑤𝑦(𝑦𝑤 ↔ ∃𝑥𝑧 𝜑)) → ∃𝑤𝑥𝑧𝑦𝑤 𝜑)
 
4-Apr-2026ppi1sum 48106 Value of the prime-counting function pi for 1, according to Ján Mináč. (Contributed by AV, 4-Apr-2026.)
(π‘1) = Σ𝑘 ∈ ∅ (⌊‘((((!‘(𝑘 − 1)) + 1) / 𝑘) − (⌊‘((!‘(𝑘 − 1)) / 𝑘))))
 
4-Apr-2026indprmfz 48105 An indicator function for prime numbers in a finite interval of integers, according to Ján Mináč. (Contributed by AV, 4-Apr-2026.)
𝐼 = (2...𝐴)       ((𝟭‘𝐼)‘(𝐼 ∩ ℙ)) = (𝑘𝐼 ↦ (⌊‘((((!‘(𝑘 − 1)) + 1) / 𝑘) − (⌊‘((!‘(𝑘 − 1)) / 𝑘)))))
 
4-Apr-2026indprm 48104 An indicator function for prime numbers, according to Ján Mináč. (Contributed by AV, 4-Apr-2026.)
((𝟭‘(ℤ‘2))‘ℙ) = (𝑘 ∈ (ℤ‘2) ↦ (⌊‘((((!‘(𝑘 − 1)) + 1) / 𝑘) − (⌊‘((!‘(𝑘 − 1)) / 𝑘)))))
 
4-Apr-2026ppivalnnnprmge6 48101 Value of a term of the prime-counting function pi for positive integers, according to Ján Mináč, for a non-prime number greater than 4. (Contributed by AV, 4-Apr-2026.)
((𝑁 ∈ (ℤ‘6) ∧ 𝑁 ∉ ℙ) → (⌊‘((((!‘(𝑁 − 1)) + 1) / 𝑁) − (⌊‘((!‘(𝑁 − 1)) / 𝑁)))) = 0)
 
4-Apr-2026nprmmul3 48001 Special factorization of a non-prime integer greater than 3. (Contributed by AV, 4-Apr-2026.)
(𝑁 ∈ (ℤ‘4) → (𝑁 ∉ ℙ ↔ (∃𝑎 ∈ (2..^𝑁)∃𝑏 ∈ (2..^𝑁)(𝑎 < 𝑏𝑁 = (𝑎 · 𝑏)) ∨ ∃𝑎 ∈ (2..^𝑁)𝑁 = (𝑎↑2))))
 
4-Apr-2026rerecne0d 42902 The reciprocal of a nonzero number is nonzero. (Contributed by SN, 4-Apr-2026.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐴 ≠ 0)       (𝜑 → (1 / 𝐴) ≠ 0)
 
4-Apr-2026bj-nnf-cbval 37093 Compared with cbvalv1 2346, this saves ax-12 2185. (Contributed by BJ, 4-Apr-2026.)
(𝜑 → ∀𝑥𝜑)    &   (𝜑 → ∀𝑦𝜑)    &   (𝜑 → Ⅎ'𝑦𝜓)    &   (𝜑 → Ⅎ'𝑥𝜒)    &   ((𝜑𝑥 = 𝑦) → (𝜓𝜒))       (𝜑 → (∀𝑥𝜓 ↔ ∀𝑦𝜒))
 
4-Apr-2026bj-nnf-cbvali 37092 Compared with bj-nnf-cbvaliv 37089, replacing the DV condition on 𝑦, 𝜓 with the nonfreeness condition requires ax-11 2163. (Contributed by BJ, 4-Apr-2026.)
(𝜑 → ∀𝑥𝜑)    &   (𝜑 → ∀𝑦𝜑)    &   (𝜑 → Ⅎ'𝑦𝜓)    &   (𝜑 → Ⅎ'𝑥𝜒)    &   ((𝜑𝑥 = 𝑦) → (𝜓𝜒))       (𝜑 → (∀𝑥𝜓 → ∀𝑦𝜒))
 
4-Apr-2026bj-nnf-cbvaliv 37089 The only DV conditions are those saying that 𝑦 is a fresh variable used to construct 𝜒. (Contributed by BJ, 4-Apr-2026.)
(𝜑 → ∀𝑥𝜑)    &   (𝜑 → Ⅎ'𝑥𝜒)    &   ((𝜑𝑥 = 𝑦) → (𝜓𝜒))       (𝜑 → (∀𝑥𝜓 → ∀𝑦𝜒))
 
4-Apr-2026bj-nnf-spime 37088 An existential generalization result in deduction form, from ax-1 6-- ax-6 1969, where the only DV condition is on 𝑥, 𝑦, and where 𝑥 should be nonfree in the new proposition 𝜒 (and in the context 𝜑). (Contributed by BJ, 4-Apr-2026.)
(𝜑 → ∀𝑥𝜑)    &   (𝜑 → Ⅎ'𝑥𝜓)    &   ((𝜑𝑥 = 𝑦) → (𝜓𝜒))       (𝜑 → (𝜓 → ∃𝑥𝜒))
 
4-Apr-2026bj-nnf-spim 37087 A universal specialization result in deduction form, proved from ax-1 6 -- ax-6 1969, where the only DV condition is on 𝑥, 𝑦 and where 𝑥 should be nonfree in the new proposition 𝜒 (and in the context 𝜑). (Contributed by BJ, 4-Apr-2026.)
(𝜑 → ∀𝑥𝜑)    &   (𝜑 → Ⅎ'𝑥𝜒)    &   ((𝜑𝑥 = 𝑦) → (𝜓𝜒))       (𝜑 → (∀𝑥𝜓𝜒))
 
4-Apr-2026bj-hbex 37025 A more general instance of hbex 2331. (Contributed by BJ, 4-Apr-2026.)
(𝜑 → ∀𝑥𝜓)       (∃𝑦𝜑 → ∀𝑥𝑦𝜓)
 
4-Apr-2026bj-hbexd 37023 A more general instance of the deduction form of hbex 2331. (Contributed by BJ, 4-Apr-2026.)
(𝜑 → ∀𝑦𝜓)    &   (𝜓 → (𝜒 → ∀𝑥𝜃))       (𝜑 → (∃𝑦𝜒 → ∀𝑥𝑦𝜃))
 
4-Apr-2026bj-hbal 36994 More general instance of hbal 2173. (Contributed by BJ, 4-Apr-2026.)
(𝜑 → ∀𝑥𝜓)       (∀𝑦𝜑 → ∀𝑥𝑦𝜓)
 
4-Apr-2026bj-hbald 36992 General statement that hbald 2174 proves . (Contributed by BJ, 4-Apr-2026.)
(𝜑 → ∀𝑦𝜓)    &   (𝜓 → (𝜒 → ∀𝑥𝜃))       (𝜑 → (∀𝑦𝜒 → ∀𝑥𝑦𝜃))
 
4-Apr-2026bj-spim0 36979 A universal specialization result in deduction form, proved from ax-1 6 -- ax-6 1969, where the only DV condition is on 𝑥, 𝑦 and where 𝑥 should be nonfree in the new proposition 𝜒 (and in the context 𝜑). (Contributed by BJ, 4-Apr-2026.)
(𝜑 → ∀𝑥𝜑)    &   (𝜑 → (∃𝑥𝜒𝜒))    &   ((𝜑𝑥 = 𝑦) → (𝜓𝜒))       (𝜑 → (∀𝑥𝜓𝜒))
 
4-Apr-2026bj-cbveximdv 36944 A lemma for alpha-renaming of variables bound by an existential quantifier. (Contributed by BJ, 4-Apr-2026.) (Proof modification is discouraged.)
(𝜑 → ∀𝑥𝜑)    &   (𝜑 → ∀𝑦𝜑)    &   (𝜑 → (𝜒 → ∀𝑦𝜒))    &   (𝜑 → ∀𝑥𝑦𝜓)    &   ((𝜑𝜓) → (𝜒𝜃))       (𝜑 → (∃𝑥𝜒 → ∃𝑦𝜃))
 
4-Apr-2026bj-cbvalimdv 36943 A lemma for alpha-renaming of variables bound by a universal quantifier. (Contributed by BJ, 4-Apr-2026.) (Proof modification is discouraged.)
(𝜑 → ∀𝑥𝜑)    &   (𝜑 → ∀𝑦𝜑)    &   (𝜑 → (∃𝑥𝜃𝜃))    &   (𝜑 → ∀𝑦𝑥𝜓)    &   ((𝜑𝜓) → (𝜒𝜃))       (𝜑 → (∀𝑥𝜒 → ∀𝑦𝜃))
 
4-Apr-2026bj-cbveximd 36942 A lemma for alpha-renaming of variables bound by an existential quantifier. (Contributed by BJ, 4-Apr-2026.) (Proof modification is discouraged.)
(𝜑 → ∀𝑥𝜑)    &   (𝜑 → ∀𝑦𝜑)    &   (𝜑 → (𝜒 → ∀𝑦𝜒))    &   (𝜑 → (∃𝑥𝜃𝜃))    &   (𝜑 → ∀𝑥𝑦𝜓)    &   ((𝜑𝜓) → (𝜒𝜃))       (𝜑 → (∃𝑥𝜒 → ∃𝑦𝜃))
 
4-Apr-2026bj-cbvalimd 36941 A lemma for alpha-renaming of variables bound by a universal quantifier. (Contributed by BJ, 4-Apr-2026.) (Proof modification is discouraged.)
(𝜑 → ∀𝑥𝜑)    &   (𝜑 → ∀𝑦𝜑)    &   (𝜑 → (𝜒 → ∀𝑦𝜒))    &   (𝜑 → (∃𝑥𝜃𝜃))    &   (𝜑 → ∀𝑦𝑥𝜓)    &   ((𝜑𝜓) → (𝜒𝜃))       (𝜑 → (∀𝑥𝜒 → ∀𝑦𝜃))
 
4-Apr-2026bj-cbvalimd0 36938 A lemma for alpha-renaming of variables bound by a universal quantifier. In applications, 𝑥 = 𝑦 will be substituted for 𝜓 and ax6ev 1971 will prove Hypothesis bj-cbvalimd0.denote. When ax6ev 1971 is not available but only its universal closure is, then bj-cbvalimd 36941 or bj-cbvalimdv 36943 should be used (see bj-cbvalimdlem 36939, bj-cbval 36956). (Contributed by BJ, 4-Apr-2026.)
(𝜑 → ∀𝑥𝜑)    &   (𝜑 → ∀𝑦𝜑)    &   (𝜑 → (𝜒 → ∀𝑦𝜒))    &   (𝜑 → (∃𝑥𝜃𝜃))    &   (𝜑 → ∃𝑥𝜓)    &   ((𝜑𝜓) → (𝜒𝜃))       (𝜑 → (∀𝑥𝜒 → ∀𝑦𝜃))
 
4-Apr-2026bj-spime 36937 A lemma for existential generalization. In applications, 𝑥 = 𝑦 will be substituted for 𝜓 and ax6ev 1971 will prove Hypothesis bj-spime.denote. (Contributed by BJ, 4-Apr-2026.)
(𝜑 → ∀𝑥𝜑)    &   (𝜑 → (𝜒 → ∀𝑥𝜒))    &   (𝜑 → ∃𝑥𝜓)    &   ((𝜑𝜓) → (𝜒𝜃))       (𝜑 → (𝜒 → ∃𝑥𝜃))
 
4-Apr-2026bj-spim 36936 A lemma for universal specification. In applications, 𝑥 = 𝑦 will be substituted for 𝜓 and ax6ev 1971 will prove Hypothesis bj-spim.denote. (Contributed by BJ, 4-Apr-2026.)
(𝜑 → ∀𝑥𝜑)    &   (𝜑 → (∃𝑥𝜃𝜃))    &   (𝜑 → ∃𝑥𝜓)    &   ((𝜑𝜓) → (𝜒𝜃))       (𝜑 → (∀𝑥𝜒𝜃))
 
3-Apr-2026bj-spimenfa 36935 An existential generalization result: if 𝜑 holds and implies 𝜓 for at least one value of 𝑥, and if furthermore 𝑥 is -weakly nonfree in 𝜑, then 𝜓 holds for at least one value of 𝑥. (Contributed by BJ, 3-Apr-2026.) Proof should not use 19.35 1879. (Proof modification is discouraged.)
((𝜑 → ∀𝑥𝜑) → (∃𝑥(𝜑𝜓) → (𝜑 → ∃𝑥𝜓)))
 
3-Apr-2026bj-spimnfe 36934 A universal specification result: if 𝜑 is true for all values of 𝑥 and implies 𝜓 for at least one value, and if furthermore 𝑥 is -weakly nonfree in 𝜓, then 𝜓 follows. An intermediate result on the way to prove 19.36i 2239, bj-19.36im 37076, 19.36imv 1947, spimfw 1967... (Contributed by BJ, 3-Apr-2026.) Proof should not use 19.35 1879. (Proof modification is discouraged.)
((∃𝑥𝜓𝜓) → (∃𝑥(𝜑𝜓) → (∀𝑥𝜑𝜓)))
 
3-Apr-2026bj-imim11i 36830 The propositional function ((. → 𝜑) → 𝜓) is increasing. Its associated inference is wl-syls2 37848. (Contributed by BJ, 3-Apr-2026.)
(𝜑𝜓)       (((𝜑𝜒) → 𝜃) → ((𝜓𝜒) → 𝜃))
 
3-Apr-2026bj-imim11 36829 The propositional function ((. → 𝜑) → 𝜓) is increasing. (Contributed by BJ, 3-Apr-2026.)
((𝜑𝜓) → (((𝜑𝜒) → 𝜃) → ((𝜓𝜒) → 𝜃)))
 
2-Apr-2026hoicvr 46994 𝐼 is a countable set of half-open intervals that covers the whole multidimensional reals. See Definition 1135 (b) of [Fremlin1] p. 29. (Contributed by Glauco Siliprandi, 11-Oct-2020.) Avoid ax-rep 5212 and shorten proof. (Revised by GG, 2-Apr-2026.)
𝐼 = (𝑗 ∈ ℕ ↦ (𝑥𝑋 ↦ ⟨-𝑗, 𝑗⟩))    &   (𝜑𝑋 ∈ Fin)       (𝜑 → (ℝ ↑m 𝑋) ⊆ 𝑗 ∈ ℕ X𝑖𝑋 (([,) ∘ (𝐼𝑗))‘𝑖))
 
2-Apr-2026rerecrecd 42905 A number is equal to the reciprocal of its reciprocal. (Contributed by SN, 2-Apr-2026.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐴 ≠ 0)       (𝜑 → (1 / (1 / 𝐴)) = 𝐴)
 
2-Apr-2026sn-redividd 42900 A number divided by itself is 1. (Contributed by SN, 2-Apr-2026.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐴 ≠ 0)       (𝜑 → (𝐴 / 𝐴) = 1)
 
2-Apr-2026sn-rediv0d 42899 Division into zero is zero. (Contributed by SN, 2-Apr-2026.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐴 ≠ 0)       (𝜑 → (0 / 𝐴) = 0)
 
2-Apr-2026sn-rediv1d 42898 A number divided by 1 is itself. (Contributed by SN, 2-Apr-2026.)
(𝜑𝐴 ∈ ℝ)       (𝜑 → (𝐴 / 1) = 𝐴)
 
2-Apr-2026rediveq1d 42897 Equality in terms of unit ratio. (Contributed by SN, 2-Apr-2026.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐵 ∈ ℝ)    &   (𝜑𝐵 ≠ 0)       (𝜑 → ((𝐴 / 𝐵) = 1 ↔ 𝐴 = 𝐵))
 
2-Apr-2026redivne0bd 42896 The ratio of nonzero numbers is nonzero. (Contributed by SN, 2-Apr-2026.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐵 ∈ ℝ)    &   (𝜑𝐵 ≠ 0)       (𝜑 → (𝐴 ≠ 0 ↔ (𝐴 / 𝐵) ≠ 0))
 
2-Apr-2026redivmul2d 42892 Relationship between division and multiplication. (Contributed by SN, 2-Apr-2026.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐵 ∈ ℝ)    &   (𝜑𝐶 ∈ ℝ)    &   (𝜑𝐶 ≠ 0)       (𝜑 → ((𝐴 / 𝐶) = 𝐵𝐴 = (𝐶 · 𝐵)))
 
2-Apr-2026padct 32806 Index a countable set with integers and pad with 𝑍. (Contributed by Thierry Arnoux, 1-Jun-2020.) Avoid ax-rep 5212. (Revised by GG, 2-Apr-2026.)
((𝐴 ≼ ω ∧ 𝑍𝑉 ∧ ¬ 𝑍𝐴) → ∃𝑓(𝑓:ℕ⟶(𝐴 ∪ {𝑍}) ∧ 𝐴 ⊆ ran 𝑓 ∧ Fun (𝑓𝐴)))
 
2-Apr-2026istrkg2ld 28542 Property of fulfilling the lower dimension 2 axiom. (Contributed by Thierry Arnoux, 20-Nov-2019.) Avoid ax-rep 5212. (Revised by GG, 2-Apr-2026.)
𝑃 = (Base‘𝐺)    &    = (dist‘𝐺)    &   𝐼 = (Itv‘𝐺)       (𝐺𝑉 → (𝐺DimTarskiG≥2 ↔ ∃𝑥𝑃𝑦𝑃𝑧𝑃 ¬ (𝑧 ∈ (𝑥𝐼𝑦) ∨ 𝑥 ∈ (𝑧𝐼𝑦) ∨ 𝑦 ∈ (𝑥𝐼𝑧))))
 
2-Apr-2026smndex1igid 18865 The composition of the modulo function 𝐼 and a constant function (𝐺𝐾) results in (𝐺𝐾) itself. (Contributed by AV, 14-Feb-2024.) Avoid ax-rep 5212. (Revised by GG, 2-Apr-2026.)
𝑀 = (EndoFMnd‘ℕ0)    &   𝑁 ∈ ℕ    &   𝐼 = (𝑥 ∈ ℕ0 ↦ (𝑥 mod 𝑁))    &   𝐺 = (𝑛 ∈ (0..^𝑁) ↦ (𝑥 ∈ ℕ0𝑛))       (𝐾 ∈ (0..^𝑁) → (𝐼 ∘ (𝐺𝐾)) = (𝐺𝐾))
 
2-Apr-2026smndex1gid 18863 The composition of a constant function (𝐺𝐾) with another endofunction on 0 results in (𝐺𝐾) itself. (Contributed by AV, 14-Feb-2024.) Avoid ax-rep 5212. (Revised by GG, 2-Apr-2026.)
𝑀 = (EndoFMnd‘ℕ0)    &   𝑁 ∈ ℕ    &   𝐼 = (𝑥 ∈ ℕ0 ↦ (𝑥 mod 𝑁))    &   𝐺 = (𝑛 ∈ (0..^𝑁) ↦ (𝑥 ∈ ℕ0𝑛))       ((𝐹 ∈ (Base‘𝑀) ∧ 𝐾 ∈ (0..^𝑁)) → ((𝐺𝐾) ∘ 𝐹) = (𝐺𝐾))
 
2-Apr-2026smndex1gbas 18861 The constant functions (𝐺𝐾) are endofunctions on 0. (Contributed by AV, 12-Feb-2024.) Avoid ax-rep 5212 and shorten proof. (Revised by GG, 2-Apr-2026.)
𝑀 = (EndoFMnd‘ℕ0)    &   𝑁 ∈ ℕ    &   𝐼 = (𝑥 ∈ ℕ0 ↦ (𝑥 mod 𝑁))    &   𝐺 = (𝑛 ∈ (0..^𝑁) ↦ (𝑥 ∈ ℕ0𝑛))       (𝐾 ∈ (0..^𝑁) → (𝐺𝐾) ∈ (Base‘𝑀))
 
1-Apr-2026nowisdomv 30559 One's wisdom on matters of the universe can be refuted on April Fool's day. (Contributed by Prof. Loof Lirpa, 1-Apr-2026.) (New usage is discouraged.)
¬ 𝑊⟨“ I 5”⟩dom V
 
28-Mar-2026copsex2gd 37468 Implicit substitution inference for ordered pairs. (Contributed by NM, 28-May-1995.) Use a similar proof to copsex4g 5443 to reduce axiom usage. (Revised by SN, 1-Sep-2024.) Adapt copsex2g 5441 $p to deduction form. (Revised by BJ, 28-Mar-2026.) Do not use copsex2g 5441. (Proof modification is discouraged.)
((𝜑 ∧ (𝑥 = 𝐴𝑦 = 𝐵)) → (𝜓𝜒))       ((𝜑 ∧ (𝐴𝑉𝐵𝑊)) → (∃𝑥𝑦(⟨𝐴, 𝐵⟩ = ⟨𝑥, 𝑦⟩ ∧ 𝜓) ↔ 𝜒))
 
28-Mar-2026cgsex2gd 37467 Implicit substitution inference for general classes. (Contributed by NM, 26-Jul-1995.) Adapt cgsex2g 3476 to deduction form. (Revised by BJ, 28-Mar-2026.) Do not use cgsex2g 3476. (Proof modification is discouraged.)
((𝜑 ∧ (𝑥 = 𝐴𝑦 = 𝐵)) → 𝜓)    &   ((𝜑𝜓) → (𝜒𝜃))       ((𝜑 ∧ (𝐴𝑉𝐵𝑊)) → (∃𝑥𝑦(𝜓𝜒) ↔ 𝜃))
 
28-Mar-2026bj-alnnf2 37051 If a proposition holds, then it holds for all values of a given variable if and only if it does not depend on that variable. (Contributed by BJ, 28-Mar-2026.)
(𝜑 → (∀𝑥𝜑 ↔ Ⅎ'𝑥𝜑))
 
28-Mar-2026bj-alnnf 37050 In deduction-style proofs, it is equivalent to assert that the context holds for all values of a variable, or that is does not depend on that variable. (Contributed by BJ, 28-Mar-2026.)
((𝜑 → ∀𝑥𝜑) ↔ (𝜑 → Ⅎ'𝑥𝜑))
 
28-Mar-2026bj-alsyl 36902 Syllogism under the universal quantifier, in the curried form appearing as Theorem *10.3 of [WhiteheadRussell] p. 145. See alsyl 1895 for the uncurried form. (Contributed by BJ, 28-Mar-2026.)
(∀𝑥(𝜑𝜓) → (∀𝑥(𝜓𝜒) → ∀𝑥(𝜑𝜒)))
 
27-Mar-2026axnulALT2 35240 Alternate proof of axnul 5240, proved from propositional calculus, ax-gen 1797, ax-4 1811, ax-6 1969, and ax-rep 5212. (Proof modification is discouraged.) (New usage is discouraged.) (Contributed by BTernaryTau, 27-Mar-2026.)
𝑥𝑦 ¬ 𝑦𝑥
 
26-Mar-2026axprALT2 35269 Alternate proof of axpr 5364, proved from predicate calculus, ax-rep 5212, and ax-inf2 9553. (Contributed by BTernaryTau, 26-Mar-2026.) (Proof modification is discouraged.) (New usage is discouraged.)
𝑧𝑤((𝑤 = 𝑥𝑤 = 𝑦) → 𝑤𝑧)
 
21-Mar-2026bj-nnfbd0 37061 If two formulas are equivalent, then nonfreeness of a variable in one of them is equivalent to nonfreeness in the other, deduction form. The antecedent of the conclusion is in the "strong necessity" modality of modal logic (see also bj-nnftht 37056) in order not to require sp 2191 (modal T). See bj-nnfbi 37060. (Contributed by BJ, 21-Mar-2026.)
(𝜑 → (𝜓𝜒))       ((𝜑 ∧ ∀𝑥𝜑) → (Ⅎ'𝑥𝜓 ↔ Ⅎ'𝑥𝜒))
 
20-Mar-2026bj-bisimpr 36834 Implication from equivalence with a conjunct. Its associated inference is simprbi 497. (Contributed by BJ, 20-Mar-2026.)
((𝜑 ↔ (𝜓𝜒)) → (𝜑𝜒))
 
20-Mar-2026bj-bisimpl 36833 Implication from equivalence with a conjunct. Its associated inference is simplbi 496. (Contributed by BJ, 20-Mar-2026.)
((𝜑 ↔ (𝜓𝜒)) → (𝜑𝜓))
 
19-Mar-2026bj-almpig 36901 A partially quantified form of mpi 20 similar to bj-almpi 36900. (Contributed by BJ, 19-Mar-2026.)
(𝜑 → (𝜒𝜓))    &   𝑥𝜒       𝑥(𝜑𝜓)
 
19-Mar-2026bj-almpi 36900 A quantified form of mpi 20. See also barbara 2664, bj-ala1i 36899, bj-almp 36892. (Contributed by BJ, 19-Mar-2026.)
𝑥(𝜑 → (𝜒𝜓))    &   𝑥𝜒       𝑥(𝜑𝜓)
 
19-Mar-2026bj-alimii 36898 Inference associated with alimi 1813. Double inference associated with alim 1812. The usual proof of an associated inference (here from alimi 1813 and ax-mp 5) has the same size and same number of steps. (Contributed by BJ, 19-Mar-2026.)
(𝜓𝜑)    &   𝑥𝜓       𝑥𝜑
 
19-Mar-2026bj-almp 36892 A quantified form of ax-mp 5. See also barbara 2664, bj-ala1i 36899, bj-almpi 36900. (Contributed by BJ, 19-Mar-2026.)
𝑥(𝜓𝜑)    &   𝑥𝜓       𝑥𝜑
 
17-Mar-2026bj-evalf 37402 The evaluation at a class is a function from the universal class into the universal class. (Contributed by BJ, 17-Mar-2026.)
Slot 𝐴:V⟶V
 
16-Mar-2026sin5tlem1 47337 Lemma 1 for quintupled angle sine calculation, expanding triple-angle sine times double-angle cosine. (Contributed by Ender Ting, 16-Mar-2026.)
(𝑁 ∈ ℂ → (((3 · 𝑁) − (4 · (𝑁↑3))) · (1 − (2 · (𝑁↑2)))) = (((8 · (𝑁↑5)) − (10 · (𝑁↑3))) + (3 · 𝑁)))
 
16-Mar-2026cos3t 47336 Triple-angle formula for cosine, in pure cosine form. (Contributed by Ender Ting, 16-Mar-2026.)
(𝐴 ∈ ℂ → (cos‘(3 · 𝐴)) = ((4 · ((cos‘𝐴)↑3)) − (3 · (cos‘𝐴))))
 
16-Mar-2026sin3t 47335 Triple-angle formula for sine, in pure sine form. (Contributed by Ender Ting, 16-Mar-2026.)
(𝐴 ∈ ℂ → (sin‘(3 · 𝐴)) = ((3 · (sin‘𝐴)) − (4 · ((sin‘𝐴)↑3))))
 
16-Mar-2026esplyfvaln 33733 The last elementary symmetric polynomial is the product of all variables. (Contributed by Thierry Arnoux, 16-Mar-2026.)
𝑊 = (𝐼 mPoly 𝑅)    &   𝑉 = (𝐼 mVar 𝑅)    &   𝐸 = (𝐼eSymPoly𝑅)    &   (𝜑𝐼 ∈ Fin)    &   (𝜑𝑅 ∈ CRing)    &   𝑁 = (♯‘𝐼)    &   𝑀 = (mulGrp‘𝑊)       (𝜑 → (𝐸𝑁) = (𝑀 Σg 𝑉))
 
16-Mar-2026esplyfval1 33732 The first elementary symmetric polynomial is the sum of all variables. (Contributed by Thierry Arnoux, 16-Mar-2026.)
𝑊 = (𝐼 mPoly 𝑅)    &   𝑉 = (𝐼 mVar 𝑅)    &   𝐸 = (𝐼eSymPoly𝑅)    &   (𝜑𝐼 ∈ Fin)    &   (𝜑𝑅 ∈ Ring)       (𝜑 → (𝐸‘1) = (𝑊 Σg 𝑉))
 
16-Mar-2026mplmonprod 33713 Finite product of monomials. Here the function 𝐺 maps a bag of variables to the corresponding monomial. (Contributed by Thierry Arnoux, 16-Mar-2026.)
𝑃 = (𝐼 mPoly 𝑅)    &   𝐵 = (Base‘𝑃)    &   (𝜑𝑅 ∈ CRing)    &   (𝜑𝐼𝑉)    &   𝐷 = { ∈ (ℕ0m 𝐼) ∣ finSupp 0}    &   (𝜑𝐴 ∈ Fin)    &   (𝜑𝐹:𝐴𝐷)    &    1 = (1r𝑅)    &    0 = (0g𝑅)    &   𝑀 = (mulGrp‘𝑃)    &   𝐺 = (𝑦𝐷 ↦ (𝑧𝐷 ↦ if(𝑧 = 𝑦, 1 , 0 )))       (𝜑 → (𝑀 Σg (𝐺𝐹)) = (𝐺‘(𝑖𝐼 ↦ (ℂfld Σg (𝑥𝐴 ↦ ((𝐹𝑥)‘𝑖))))))
 
16-Mar-2026mplgsum 33712 Finite commutative sums of polynomials are taken componentwise. (Contributed by Thierry Arnoux, 16-Mar-2026.)
𝑃 = (𝐼 mPoly 𝑅)    &   𝐵 = (Base‘𝑃)    &   (𝜑𝑅 ∈ Ring)    &   (𝜑𝐼𝑉)    &   𝐷 = { ∈ (ℕ0m 𝐼) ∣ finSupp 0}    &   (𝜑𝐴 ∈ Fin)    &   (𝜑𝐹:𝐴𝐵)       (𝜑 → (𝑃 Σg 𝐹) = (𝑦𝐷 ↦ (𝑅 Σg (𝑘𝐴 ↦ ((𝐹𝑘)‘𝑦)))))
 
16-Mar-2026psrmonprod 33711 Finite product of bags of variables in a power series. Here the function 𝐺 maps a bag of variables to the corresponding monomial. (Contributed by Thierry Arnoux, 16-Mar-2026.)
𝑆 = (𝐼 mPwSer 𝑅)    &   𝐵 = (Base‘𝑆)    &   (𝜑𝑅 ∈ CRing)    &   (𝜑𝐼𝑉)    &   𝐷 = { ∈ (ℕ0m 𝐼) ∣ finSupp 0}    &   (𝜑𝐴 ∈ Fin)    &   (𝜑𝐹:𝐴𝐷)    &    1 = (1r𝑅)    &    0 = (0g𝑅)    &   𝑀 = (mulGrp‘𝑆)    &   𝐺 = (𝑦𝐷 ↦ (𝑧𝐷 ↦ if(𝑧 = 𝑦, 1 , 0 )))       (𝜑 → (𝑀 Σg (𝐺𝐹)) = (𝐺‘(𝑖𝐼 ↦ (ℂfld Σg (𝑥𝐴 ↦ ((𝐹𝑥)‘𝑖))))))
 
16-Mar-2026psrmonmul2 33710 The product of two power series monomials adds the exponent vectors together. Here, the function 𝐺 is a monomial builder, which maps a bag of variables with the monic monomial with only those variables. (Contributed by Thierry Arnoux, 16-Mar-2026.)
𝑆 = (𝐼 mPwSer 𝑅)    &   𝐵 = (Base‘𝑆)    &    0 = (0g𝑅)    &    1 = (1r𝑅)    &   𝐷 = { ∈ (ℕ0m 𝐼) ∣ finSupp 0}    &   (𝜑𝐼𝑊)    &   (𝜑𝑅 ∈ Ring)    &   (𝜑𝑋𝐷)    &    · = (.r𝑆)    &   (𝜑𝑌𝐷)    &   𝐺 = (𝑦𝐷 ↦ (𝑧𝐷 ↦ if(𝑧 = 𝑦, 1 , 0 )))       (𝜑 → ((𝐺𝑋) · (𝐺𝑌)) = (𝐺‘(𝑋f + 𝑌)))
 
16-Mar-2026psrmonmul 33709 The product of two power series monomials adds the exponent vectors together. For example, the product of (𝑥↑2)(𝑦↑2) with (𝑦↑1)(𝑧↑3) is (𝑥↑2)(𝑦↑3)(𝑧↑3), where the exponent vectors ⟨2, 2, 0⟩ and ⟨0, 1, 3⟩ are added to give ⟨2, 3, 3⟩. (Contributed by Thierry Arnoux, 16-Mar-2026.)
𝑆 = (𝐼 mPwSer 𝑅)    &   𝐵 = (Base‘𝑆)    &    0 = (0g𝑅)    &    1 = (1r𝑅)    &   𝐷 = { ∈ (ℕ0m 𝐼) ∣ finSupp 0}    &   (𝜑𝐼𝑊)    &   (𝜑𝑅 ∈ Ring)    &   (𝜑𝑋𝐷)    &    · = (.r𝑆)    &   (𝜑𝑌𝐷)       (𝜑 → ((𝑦𝐷 ↦ if(𝑦 = 𝑋, 1 , 0 )) · (𝑦𝐷 ↦ if(𝑦 = 𝑌, 1 , 0 ))) = (𝑦𝐷 ↦ if(𝑦 = (𝑋f + 𝑌), 1 , 0 )))
 
16-Mar-2026psrmon 33708 A monomial is a power series. (Contributed by Thierry Arnoux, 16-Mar-2026.)
𝑆 = (𝐼 mPwSer 𝑅)    &   𝐵 = (Base‘𝑆)    &    0 = (0g𝑅)    &    1 = (1r𝑅)    &   𝐷 = { ∈ (ℕ0m 𝐼) ∣ finSupp 0}    &   (𝜑𝐼𝑊)    &   (𝜑𝑅 ∈ Ring)    &   (𝜑𝑋𝐷)       (𝜑 → (𝑦𝐷 ↦ if(𝑦 = 𝑋, 1 , 0 )) ∈ 𝐵)
 
16-Mar-2026psrgsum 33707 Finite commutative sums of power series are taken componentwise. (Contributed by Thierry Arnoux, 16-Mar-2026.)
𝑆 = (𝐼 mPwSer 𝑅)    &   𝐵 = (Base‘𝑆)    &   (𝜑𝑅 ∈ Ring)    &   (𝜑𝐼𝑉)    &   𝐷 = { ∈ (ℕ0m 𝐼) ∣ finSupp 0}    &   (𝜑𝐴 ∈ Fin)    &   (𝜑𝐹:𝐴𝐵)       (𝜑 → (𝑆 Σg 𝐹) = (𝑦𝐷 ↦ (𝑅 Σg (𝑘𝐴 ↦ ((𝐹𝑘)‘𝑦)))))
 
16-Mar-2026suppgsumssiun 33148 The support of a function defined as a group sum is a subset of the indexed union of the supports. (Contributed by Thierry Arnoux, 16-Mar-2026.)
𝑍 = (0g𝑀)    &   (𝜑𝑀 ∈ Mnd)    &   (𝜑𝐵𝑊)    &   (𝜑𝐴𝑉)    &   (((𝜑𝑥𝐴) ∧ 𝑦𝐵) → 𝐶𝑋)       (𝜑 → ((𝑥𝐴 ↦ (𝑀 Σg (𝑦𝐵𝐶))) supp 𝑍) ⊆ 𝑦𝐵 ((𝑥𝐴𝐶) supp 𝑍))
 
15-Mar-2026goldrasin 47344 Alternative trigonometric formula for the golden ratio. (Contributed by Ender Ting, 15-Mar-2026.)
𝐹 = (2 · (cos‘(π / 5)))       𝐹 = (2 · (sin‘(π · (3 / 10))))
 
15-Mar-2026goldrarr 47343 The golden ratio is a real value. (Contributed by Ender Ting, 15-Mar-2026.)
𝐹 = (2 · (cos‘(π / 5)))       𝐹 ∈ ℝ
 
14-Mar-2026bj-axreprepsep 37398 Strong axiom of replacement (universal closure of ax-rep 5212) from the axioms of separation and replacement as written in the theorem's hypotheses.

The statement does not require a nonempty universe; most of the proof does not either, except for the use of 19.8a 2189, which could be removed by reworking the proof, since it is applied in a subexpression bound by the variable it introduces. Proof modifications should not introduce steps relying on a nonempty universe, like alrimiv 1929. (Contributed by BJ, 14-Mar-2026.) (Proof modification is discouraged.)

𝑥𝑠𝑦(𝑦𝑠 ↔ (𝑦𝑥 ∧ ∃𝑧𝜑))    &   𝑠(∀𝑦𝑠 ∃!𝑧𝜑 → ∃𝑡𝑧(𝑧𝑡 ↔ ∃𝑦𝑠 𝜑))       𝑥(∀𝑦𝑥 ∃*𝑧𝜑 → ∃𝑡𝑧(𝑧𝑡 ↔ ∃𝑦𝑥 𝜑))
 
14-Mar-2026bj-axseprep 37397 Axiom of separation (universal closure of ax-sep 5231) from a weak form of the axiom of replacement requiring that the functional relation in it be a (total) function and the weak emptyset axiom (existence of an empty set provided existence of a set), as written in the theorem's hypotheses.

This result shows that the weak emptyset axiom is not only the result of a cheap way to avoid an axiom redundancy (in this case, the existence axiom extru 1977) by adding it as an antecedent, but also permits to prove nontrivial results that hold in nonnecessarily nonempty universes.

This proof is by cases so is not intuitionistic. The statement does not require a nonempty universe; most of the proof does not either, and the parts that do (e.g., near sb8ef 2360 and sbequ12r 2260 and eueq2 3657) could be reworked to avoid it. Proof modifications should not introduce steps relying on a nonempty universe, like alrimiv 1929. (Contributed by BJ, 14-Mar-2026.) (Proof modification is discouraged.)

(∃𝑥⊤ → ∃𝑦𝑧𝑦 ⊥)    &   𝑥(∀𝑧𝑥 ∃!𝑡𝜓 → ∃𝑦𝑡(𝑡𝑦 ↔ ∃𝑧𝑥 𝜓))    &   (𝜓 ↔ ((𝜑𝑡 = 𝑧) ∨ (¬ 𝜑𝑡 = 𝑎)))       𝑥𝑦𝑧(𝑧𝑦 ↔ (𝑧𝑥𝜑))
 
14-Mar-2026bj-rep 37396 Version of the axiom of replacement requiring the functional relation in the axiom to be a (total) function from ax-rep 5212 (in the form of axrep6 5221). (Contributed by BJ, 14-Mar-2026.) The proof proves the statement without the DV condition on 𝑥, 𝜑, but the DV condition is added to this statement to show that this weaker version is sufficient. (Proof modification is discouraged.) (New usage is discouraged.)
𝑥(∀𝑦𝑥 ∃!𝑧𝜑 → ∃𝑡𝑧(𝑧𝑡 ↔ ∃𝑦𝑥 𝜑))
 
14-Mar-2026bj-cbvaew 36954 Exixtentially quantifying over a non-occurring variable is independent from the variable, under a weaker condition than in bj-cbvexvv 36950. (Contributed by BJ, 14-Mar-2026.) (Proof modification is discouraged.)
((∀𝑥𝜑 → ∀𝑦⊥) → (∃𝑦𝜓 → ∃𝑥𝜓))
 
14-Mar-2026bj-cbveaw 36953 Universally quantifying over a non-occurring variable is independent from the variable, under a weaker condition than in bj-cbvalvv 36949. (Contributed by BJ, 14-Mar-2026.) (Proof modification is discouraged.)
((∃𝑥⊤ → ∃𝑦𝜑) → (∀𝑦𝜓 → ∀𝑥𝜓))
 
14-Mar-2026bj-cbvew 36952 Existentially quantifying over a non-occurring variable is independent from the variable, under a weaker condition than in bj-cbvexvv 36950. If is substituted for 𝜑, then the statement reads: "existentially quantifying over a non-occurring variable is independent from the variable as soon as that result is true for the True truth constant. The label "cbvew" means "'change bound variable' theorem, 'exists' quantifier, weak version". (Contributed by BJ, 14-Mar-2026.) This proof is intuitionistic. (Proof modification is discouraged.)
((∃𝑥⊤ → ∃𝑦𝜑) → (∃𝑥𝜓 → ∃𝑦𝜓))
 
14-Mar-2026bj-cbvaw 36951 Universally quantifying over a non-occurring variable is independent from the variable, under a weaker condition than in bj-cbvalvv 36949. If is substituted for 𝜑, then the statement reads: "universally quantifying over a non-occurring variable is independent from the variable as soon as that result is true for the False truth constant". The label "cbvaw" means "'change bound variable' theorem, 'all' quantifier, weak version". (Contributed by BJ, 14-Mar-2026.) This proof is not intuitionistic (it uses ja 186); an intuitionistically valid statement is obtained by expressing the antecedent as a disjunction (classically equivalent through imor 854). (Proof modification is discouraged.)
((∀𝑥𝜑 → ∀𝑦⊥) → (∀𝑥𝜓 → ∀𝑦𝜓))
 
14-Mar-2026bj-exextruan 36948 An equivalent expression for existential quantification over a non-occurring variable proved over ax-1 6-- ax-5 1912. The forward implication can be seen as a strengthening of ax-5 1912 (a conjunct is added to the consequent of the implication). The reverse implication can be strengthened when ax-6 1969 is posited (which implies that models are non-empty), see 19.8v 1985. See bj-alextruim 36947 for a dual statement.

An approximate meaning is: the existential quantification of a proposition over a non-occurring variable holds if and only if the proposition holds and the universe is nonempty. (Contributed by BJ, 14-Mar-2026.) (Proof modification is discouraged.)

(∃𝑥𝜑 ↔ (∃𝑥⊤ ∧ 𝜑))
 
14-Mar-2026bj-alextruim 36947 An equivalent expression for universal quantification over a non-occurring variable proved over ax-1 6-- ax-5 1912. The forward implication can be strengthened when ax-6 1969 is posited (which implies that models are non-empty), see spvw 1983. The reverse implication can be seen as a strengthening of ax-5 1912 (since the antecedent of the implication is weakened). See bj-exextruan 36948 for a dual statement.

An approximate meaning is: the universal quantification of a proposition over a non-occurring variable holds if and only if the proposition holds in nonempty universes. (Contributed by BJ, 14-Mar-2026.) (Proof modification is discouraged.)

(∀𝑥𝜑 ↔ (∃𝑥⊤ → 𝜑))
 
14-Mar-2026bj-exexalal 36887 A lemma for changing bound variables. Only the forward implication is intuitionistic. (Contributed by BJ, 14-Mar-2026.)
((∃𝑥𝜑 → ∃𝑦𝜓) ↔ (∀𝑦 ¬ 𝜓 → ∀𝑥 ¬ 𝜑))
 
11-Mar-2026axprglem 5373 Lemma for axprg 5374. (Contributed by GG, 11-Mar-2026.)
(𝑥 = 𝐴 → ∃𝑧𝑤((𝑤 = 𝐴𝑤 = 𝐵) → 𝑤𝑧))
 
8-Mar-2026bj-axnul 37395 Over the base theory ax-1 6-- ax-5 1912, the axiom of separation implies the weak emptyset axiom.

By "weak emptyset axiom", we mean the axiom asserting existence of an empty set (which can be called "the" empty set when the axiom of extensionality ax-ext 2709 is posited) provided existence of a set (the True truth constant existentially quantified over a fresh variable, extru 1977). This is the conclusion of bj-axnul 37395.

Note that the weak emptyset axiom implies (∃𝑥⊤ → ∃𝑦⊤) without DV conditions hence also the same statement as the weak emptyset axiom without DV conditions on 𝑥, but only on 𝑦, 𝑧.

By "axiom of separation", we mean the universal closure of ax-sep 5231, simulated here by its instance with substituted for 𝜑 (and with the variable used to assert existence in the weak emptyset axiom substituted for the containing set) as the hypothesis of bj-axnul 37395.

In particular, the axiom of existence extru 1977 and the axiom of separation together imply the emptyset axiom (and conversely, the emptyset axiom implies the axiom of existence).

Note: this theorem does not require a disjointness condition on 𝑦, 𝑧, although both axioms should be stated with all variables disjoint.

This proof only uses an instance of the axiom of separation with a bounded formula, so is valid in a constructive setting (see the CZF section in the "Intuitionistic Logic Explorer" iset.mm). (Contributed by BJ, 8-Mar-2026.) (Proof modification is discouraged.)

𝑥𝑦𝑧(𝑧𝑦 ↔ (𝑧𝑥 ∧ ⊥))       (∃𝑥⊤ → ∃𝑦𝑧𝑦 ⊥)
 
8-Mar-2026bj-cbvexvv 36950 Existentially quantifying over a non-occurring variable is independent of that variable, over ax-1 6-- ax-5 1912 and the existence axiom extru 1977. See bj-cbvew 36952 for a strengthening. (Contributed by BJ, 8-Mar-2026.) (Proof modification is discouraged.)
(∃𝑥𝜑 → (∃𝑦𝜓 → ∃𝑥𝜓))
 
8-Mar-2026bj-cbvalvv 36949 Universally quantifying over a non-occurring variable is independent of that variable, over ax-1 6-- ax-5 1912 and the existence axiom extru 1977. See bj-cbvaw 36951 for a strengthening. (Contributed by BJ, 8-Mar-2026.) (Proof modification is discouraged.)
(∃𝑥𝜑 → (∀𝑥𝜓 → ∀𝑦𝜓))
 
8-Mar-2026bj-spvew 36946 Version of 19.8v 1985 and 19.9v 1986 proved from ax-1 6-- ax-5 1912. The antecedent can for instance be proved with the existence axiom extru 1977. (Contributed by BJ, 8-Mar-2026.) This could also be proved from bj-spvw 36945 using duality, but that proof would not be intuitionistic, contrary to the present one. (Proof modification is discouraged.)
(∃𝑥𝜑 → (𝜓 ↔ ∃𝑥𝜓))
 
8-Mar-2026bj-spvw 36945 Version of spvw 1983 and 19.3v 1984 proved from ax-1 6-- ax-5 1912. The antecedent can for instance be proved with the existence axiom extru 1977. (Contributed by BJ, 8-Mar-2026.) (Proof modification is discouraged.)
(∃𝑥𝜑 → (𝜓 ↔ ∀𝑥𝜓))
 
8-Mar-2026bj-axdd2ALT 36930 Alternate proof of bj-axdd2 36873 (this should replace bj-axdd2 36873 when bj-exalimi 36926 is moved to the main section). (Contributed by BJ, 8-Mar-2026.) (Proof modification is discouraged.) (New usage is discouraged.)
(∃𝑥𝜑 → (∀𝑥𝜓 → ∃𝑥𝜓))
 
6-Mar-2026opex 5411 An ordered pair of classes is a set. Exercise 7 of [TakeutiZaring] p. 16. (Contributed by NM, 18-Aug-1993.) (Revised by Mario Carneiro, 26-Apr-2015.) Avoid ax-nul 5241. (Revised by GG, 6-Mar-2026.)
𝐴, 𝐵⟩ ∈ V
 
6-Mar-2026snexg 5377 A singleton built on a set is a set. Special case of snex 5376 which is intuitionistically valid. (Contributed by NM, 7-Aug-1994.) (Revised by Mario Carneiro, 19-May-2013.) Extract from snex 5376 and shorten proof. (Revised by BJ, 15-Jan-2025.) (Proof shortened by GG, 6-Mar-2026.)
(𝐴𝑉 → {𝐴} ∈ V)
 
6-Mar-2026snex 5376 A singleton is a set. Theorem 7.12 of [Quine] p. 51, proved using Extensionality, Separation and Pairing. See also snexALT 5320. (Contributed by NM, 7-Aug-1994.) (Revised by Mario Carneiro, 19-May-2013.) Avoid ax-nul 5241 and shorten proof. (Revised by GG, 6-Mar-2026.)
{𝐴} ∈ V
 
6-Mar-2026prex 5375 The Axiom of Pairing using class variables. Theorem 7.13 of [Quine] p. 51. By virtue of its definition, an unordered pair remains a set (even though no longer a pair) even when its components are proper classes (see prprc 4712), so we can dispense with hypotheses requiring them to be sets. (Contributed by NM, 15-Jul-1993.) Avoid ax-nul 5241 and shorten proof. (Revised by GG, 6-Mar-2026.)
{𝐴, 𝐵} ∈ V
 
6-Mar-2026axprg 5374 Derive The Axiom of Pairing with class variables. (Contributed by GG, 6-Mar-2026.)
𝑧𝑤((𝑤 = 𝐴𝑤 = 𝐵) → 𝑤𝑧)
 
5-Mar-2026mh-setindnd 36735 A version of mh-setind 36734 with no distinct variable conditions. (Contributed by Matthew House, 5-Mar-2026.) (New usage is discouraged.)
(∀𝑦(∀𝑥(𝑥𝑦𝜑) → ∀𝑥(𝑥 = 𝑦 → ∀𝑦𝜑)) → 𝜑)
 
4-Mar-2026regsfromunir1 36738 Derivation of ax-regs 35286 from unir1 9728. (Contributed by Matthew House, 4-Mar-2026.)
(𝑅1 “ On) = V       (∃𝑥𝜑 → ∃𝑦(∀𝑥(𝑥 = 𝑦𝜑) ∧ ∀𝑧(𝑧𝑦 → ¬ ∀𝑥(𝑥 = 𝑧𝜑))))
 
4-Mar-2026regsfromsetind 36737 Derivation of ax-regs 35286 from mh-setind 36734. (Contributed by Matthew House, 4-Mar-2026.)
(∀𝑦(∀𝑥(𝑥𝑦 → ¬ 𝜑) → ∀𝑥(𝑥 = 𝑦 → ¬ 𝜑)) → ¬ 𝜑)       (∃𝑥𝜑 → ∃𝑦(∀𝑥(𝑥 = 𝑦𝜑) ∧ ∀𝑧(𝑧𝑦 → ¬ ∀𝑥(𝑥 = 𝑧𝜑))))
 
4-Mar-2026regsfromregtco 36736 Derivation of ax-regs 35286 from ax-reg 9500 + ax-tco 36670. (Contributed by Matthew House, 4-Mar-2026.)
(∃𝑦 𝑦𝑤 → ∃𝑦(𝑦𝑤 ∧ ∀𝑧(𝑧𝑦 → ¬ 𝑧𝑤)))    &   𝑢(𝑣𝑢 ∧ ∀𝑡(𝑡𝑢 → ∀𝑠(𝑠𝑡𝑠𝑢)))       (∃𝑥𝜑 → ∃𝑦(∀𝑥(𝑥 = 𝑦𝜑) ∧ ∀𝑧(𝑧𝑦 → ¬ ∀𝑥(𝑥 = 𝑧𝜑))))
 
4-Mar-2026mh-setind 36734 Principle of set induction setind 9659, written with primitive symbols. (Contributed by Matthew House, 4-Mar-2026.)
(∀𝑦(∀𝑥(𝑥𝑦𝜑) → ∀𝑥(𝑥 = 𝑦𝜑)) → 𝜑)
 
27-Feb-2026eln0s2 28363 A non-negative surreal integer is a surreal ordinal with a finite birthday. (Contributed by Scott Fenton, 27-Feb-2026.)
(𝐴 ∈ ℕ0s ↔ (𝐴 ∈ Ons ∧ ( bday 𝐴) ∈ ω))
 
27-Feb-2026peano2n0sd 28337 Peano postulate: the successor of a non-negative surreal integer is a non-negative surreal integer. Deduction form. (Contributed by Scott Fenton, 27-Feb-2026.)
(𝜑𝐴 ∈ ℕ0s)       (𝜑 → (𝐴 +s 1s ) ∈ ℕ0s)
 
27-Feb-2026divs1d 28211 A surreal divided by one is itself. Deduction version. (Contributed by Scott Fenton, 27-Feb-2026.)
(𝜑𝐴 No )       (𝜑 → (𝐴 /su 1s ) = 𝐴)
 
27-Feb-2026rightnod 27888 An element of a right set is a surreal. (Contributed by Scott Fenton, 27-Feb-2026.)
(𝜑𝐴 ∈ ( R ‘𝐵))       (𝜑𝐴 No )
 
27-Feb-2026rightoldd 27887 An element of a right set is an element of the old set. (Contributed by Scott Fenton, 27-Feb-2026.)
(𝜑𝐴 ∈ ( R ‘𝐵))       (𝜑𝐴 ∈ ( O ‘( bday 𝐵)))
 
27-Feb-2026leftnod 27886 An element of a left set is a surreal. (Contributed by Scott Fenton, 27-Feb-2026.)
(𝜑𝐴 ∈ ( L ‘𝐵))       (𝜑𝐴 No )
 
27-Feb-2026leftoldd 27885 An element of a left set is an element of the old set. (Contributed by Scott Fenton, 27-Feb-2026.)
(𝜑𝐴 ∈ ( L ‘𝐵))       (𝜑𝐴 ∈ ( O ‘( bday 𝐵)))
 
27-Feb-2026rightno 27884 An element of a right set is a surreal. (Contributed by Scott Fenton, 27-Feb-2026.)
(𝐴 ∈ ( R ‘𝐵) → 𝐴 No )
 
27-Feb-2026leftno 27883 An element of a left set is a surreal. (Contributed by Scott Fenton, 27-Feb-2026.)
(𝐴 ∈ ( L ‘𝐵) → 𝐴 No )
 
27-Feb-2026rightold 27882 An element of a right set is an element of the old set. (Contributed by Scott Fenton, 27-Feb-2026.)
(𝐴 ∈ ( R ‘𝐵) → 𝐴 ∈ ( O ‘( bday 𝐵)))
 
27-Feb-2026leftold 27881 An element of a left set is an element of the old set. (Contributed by Scott Fenton, 27-Feb-2026.)
(𝐴 ∈ ( L ‘𝐵) → 𝐴 ∈ ( O ‘( bday 𝐵)))
 
27-Feb-2026oldmaded 27875 An element of an old set is an element of a made set. (Contributed by Scott Fenton, 27-Feb-2026.)
(𝜑𝐴 ∈ ( O ‘𝐵))       (𝜑𝐴 ∈ ( M ‘𝐵))
 
27-Feb-2026oldmade 27874 An element of an old set is an element of a made set. (Contributed by Scott Fenton, 27-Feb-2026.)
(𝐴 ∈ ( O ‘𝐵) → 𝐴 ∈ ( M ‘𝐵))
 
27-Feb-2026newnod 27854 An element of a new set is a surreal. (Contributed by Scott Fenton, 27-Feb-2026.)
(𝜑𝐴 ∈ ( N ‘𝐵))       (𝜑𝐴 No )
 
27-Feb-2026oldnod 27853 An element of an old set is a surreal. (Contributed by Scott Fenton, 27-Feb-2026.)
(𝜑𝐴 ∈ ( O ‘𝐵))       (𝜑𝐴 No )
 
27-Feb-2026madenod 27852 An element of a made set is a surreal. (Contributed by Scott Fenton, 27-Feb-2026.)
(𝜑𝐴 ∈ ( M ‘𝐵))       (𝜑𝐴 No )
 
27-Feb-2026newno 27851 An element of a new set is a surreal. (Contributed by Scott Fenton, 27-Feb-2026.)
(𝐴 ∈ ( N ‘𝐵) → 𝐴 No )
 
27-Feb-2026oldno 27850 An element of an old set is a surreal. (Contributed by Scott Fenton, 27-Feb-2026.)
(𝐴 ∈ ( O ‘𝐵) → 𝐴 No )
 
27-Feb-2026madeno 27849 An element of a made set is a surreal. (Contributed by Scott Fenton, 27-Feb-2026.)
(𝐴 ∈ ( M ‘𝐵) → 𝐴 No )
 
27-Feb-2026nulsgtsd 27784 The empty set is greater than any set of surreals. Deduction version. (Contributed by Scott Fenton, 27-Feb-2026.)
(𝜑𝐴𝑉)    &   (𝜑𝐴 No )       (𝜑𝐴 <<s ∅)
 
27-Feb-2026nulsltsd 27783 The empty set is less-than any set of surreals. Deduction version. (Contributed by Scott Fenton, 27-Feb-2026.)
(𝜑𝐴𝑉)    &   (𝜑𝐴 No )       (𝜑 → ∅ <<s 𝐴)
 
26-Feb-2026dfz12s2 28494 The set of dyadic fractions is the same as the old set of ω. (Contributed by Scott Fenton, 26-Feb-2026.)
s[1/2] = ( O ‘ω)
 
26-Feb-2026bdayfin 28493 A surreal has a finite birthday iff it is a dyadic fraction. (Contributed by Scott Fenton, 26-Feb-2026.)
(𝐴 No → (𝐴 ∈ ℤs[1/2] ↔ ( bday 𝐴) ∈ ω))
 
26-Feb-2026bdayfinlem 28492 Lemma for bdayfin 28493. Handle the non-negative case. (Contributed by Scott Fenton, 26-Feb-2026.)
((𝐴 No ∧ 0s ≤s 𝐴 ∧ ( bday 𝐴) ∈ ω) → 𝐴 ∈ ℤs[1/2])
 
26-Feb-2026bdayfinbnd 28475 Given a non-negative integer and a non-negative surreal of lesser or equal birthday, show that the surreal can be expressed as a dyadic fraction with an upper bound on the integer and exponent. This proof follows the proof from Mizar at https://mizar.uwb.edu.pl/version/current/html/surrealn.html. (Contributed by Scott Fenton, 26-Feb-2026.)
(𝜑𝑁 ∈ ℕ0s)    &   (𝜑𝑍 No )    &   (𝜑 → ( bday 𝑍) ⊆ ( bday 𝑁))    &   (𝜑 → 0s ≤s 𝑍)       (𝜑 → (𝑍 = 𝑁 ∨ ∃𝑥 ∈ ℕ0s𝑦 ∈ ℕ0s𝑝 ∈ ℕ0s (𝑍 = (𝑥 +s (𝑦 /su (2ss𝑝))) ∧ 𝑦 <s (2ss𝑝) ∧ (𝑥 +s 𝑝) <s 𝑁)))
 
26-Feb-2026bdayfinbndlem2 28474 Lemma for bdayfinbnd 28475. Conduct the induction. (Contributed by Scott Fenton, 26-Feb-2026.)
(𝑁 ∈ ℕ0s → ∀𝑧 No ((( bday 𝑧) ⊆ ( bday 𝑁) ∧ 0s ≤s 𝑧) → (𝑧 = 𝑁 ∨ ∃𝑥 ∈ ℕ0s𝑦 ∈ ℕ0s𝑝 ∈ ℕ0s (𝑧 = (𝑥 +s (𝑦 /su (2ss𝑝))) ∧ 𝑦 <s (2ss𝑝) ∧ (𝑥 +s 𝑝) <s 𝑁))))
 
26-Feb-2026bdayfinbndlem1 28473 Lemma for bdayfinbnd 28475. Show the first half of the inductive step. (Contributed by Scott Fenton, 26-Feb-2026.)
(𝜑𝑁 ∈ ℕ0s)    &   (𝜑 → ∀𝑧 No ((( bday 𝑧) ⊆ ( bday 𝑁) ∧ 0s ≤s 𝑧) → (𝑧 = 𝑁 ∨ ∃𝑥 ∈ ℕ0s𝑦 ∈ ℕ0s𝑝 ∈ ℕ0s (𝑧 = (𝑥 +s (𝑦 /su (2ss𝑝))) ∧ 𝑦 <s (2ss𝑝) ∧ (𝑥 +s 𝑝) <s 𝑁))))       (𝜑 → ∀𝑤 No ((( bday 𝑤) ⊆ ( bday ‘(𝑁 +s 1s )) ∧ 0s ≤s 𝑤) → (𝑤 = (𝑁 +s 1s ) ∨ ∃𝑎 ∈ ℕ0s𝑏 ∈ ℕ0s𝑞 ∈ ℕ0s (𝑤 = (𝑎 +s (𝑏 /su (2ss𝑞))) ∧ 𝑏 <s (2ss𝑞) ∧ (𝑎 +s 𝑞) <s (𝑁 +s 1s )))))
 
25-Feb-2026dfpeters2 39309 Alternate definition of PetErs in fully modular form.

This expands the Ers 𝑛 predicate into:

(i) a typedness module ( Rels × CoMembErs ),

(ii) an equivalence module for the coset relation ≀ (𝑟 ⋉ ( E ↾ 𝑛)) ∈ EqvRels,

(iii) the corresponding quotient-carrier (domain quotient) equation dom ≀ (...) / ≀ (...) = 𝑛.

This is the equivalence-side counterpart of the modular decomposition dfpetparts2 39307 on the partition side. (Contributed by Peter Mazsa, 25-Feb-2026.)

PetErs = ((( Rels × CoMembErs ) ∩ {⟨𝑟, 𝑛⟩ ∣ ≀ (𝑟 ⋉ ( E ↾ 𝑛)) ∈ EqvRels }) ∩ {⟨𝑟, 𝑛⟩ ∣ (dom ≀ (𝑟 ⋉ ( E ↾ 𝑛)) / ≀ (𝑟 ⋉ ( E ↾ 𝑛))) = 𝑛})
 
25-Feb-2026dfpet2parts2 39308 Grade stability applied to the decomposed PetParts modules.

Pet2Parts is obtained by applying the grade-stability operator SucMap ShiftStable (see df-shiftstable 38817) to the modular intersection from dfpetparts2 39307. This makes the two orthogonal stability axes explicit:

(E) semantic stability / equilibrium: BlockLiftFix,

(G) grade stability: SucMap ShiftStable,

assembled on top of typedness and disjoint-span base modules.

This is the principled "extra level" that does not arise for Disjs: disjoint relations already bundle their internal map/carrier consistency via QMap and ElDisjs (see dfdisjs6 39277 / dfdisjs7 39278), while the present construction has an additional external grading axis imposed by the canonical successor map SucMap. (Contributed by Peter Mazsa, 20-Feb-2026.) (Revised by Peter Mazsa, 25-Feb-2026.)

Pet2Parts = ( SucMap ShiftStable ((( Rels × MembParts ) ∩ {⟨𝑟, 𝑛⟩ ∣ (𝑟 ⋉ ( E ↾ 𝑛)) ∈ Disjs }) ∩ BlockLiftFix ))
 
25-Feb-2026dfpetparts2 39307 Alternate definition of PetParts as typedness + disjoint-span + block-lift equilibrium.

This theorem is the key modularization step. It decomposes PetParts into the intersection of three orthogonal modules:

(T) typedness: 𝑟, 𝑛⟩ ∈ ( Rels × MembParts ),

(D) disjoint-span: (𝑟 ⋉ ( E ↾ 𝑛)) ∈ Disjs,

(E) semantic equilibrium: 𝑟, 𝑛⟩ ∈ BlockLiftFix, i.e. the carrier 𝑛 is a fixpoint of the induced block-generation operator.

Conceptually, (D) provides the disjointness/quotient discipline for the lifted span, while (E) prevents hidden carrier drift (refinement or coarsening of what counts as a block) by enforcing the fixpoint equation. The point of this theorem is that these constraints can be imposed and reused independently by later constructions, while their intersection recovers the intended Parts-based notion.

This mirrors the internal packaging of Disjs (see dfdisjs6 39277 / dfdisjs7 39278): for disjoint relations, the "map layer + carrier layer" decomposition is internal via QMap and ElDisjs; for PetParts, the carrier 𝑛 is an external parameter, so the additional carrier stability must be factored explicitly as BlockLiftFix. (Contributed by Peter Mazsa, 20-Feb-2026.) (Revised by Peter Mazsa, 25-Feb-2026.)

PetParts = ((( Rels × MembParts ) ∩ {⟨𝑟, 𝑛⟩ ∣ (𝑟 ⋉ ( E ↾ 𝑛)) ∈ Disjs }) ∩ BlockLiftFix )
 
25-Feb-2026df-peters 39304 Define the class of equivalence-side general partition-equivalence spans.

𝑟, 𝑛⟩ ∈ PetErs means:

(1) 𝑟 is a set-relation (𝑟 ∈ Rels), and

(2) 𝑛 is a carrier recognized on the equivalence side of membership (𝑛 ∈ CoMembErs), and

(3) the coset relation of the lifted span, ≀ (𝑟 ⋉ ( E ↾ 𝑛)), is an equivalence relation on its natural quotient with carrier 𝑛 (i.e. ≀ (𝑟 ⋉ ( E ↾ 𝑛)) Ers 𝑛).

This packages the equivalence-view of the same lifted construction that underlies PetParts. It is designed to be parallel to PetParts so later proofs can freely choose the partition side (Parts) or the equivalence side (Ers) without rebuilding the bridge each time; the identification is provided by petseq 39311 (using typesafepets 39310 and mpets 39291). The explicit typing (𝑟 ∈ Rels ∧ 𝑛 ∈ CoMembErs ) is included for the same reason as in df-petparts 39303: to make typedness a reusable module. (Contributed by Peter Mazsa, 19-Feb-2026.) (Revised by Peter Mazsa, 25-Feb-2026.)

PetErs = {⟨𝑟, 𝑛⟩ ∣ ((𝑟 ∈ Rels ∧ 𝑛 ∈ CoMembErs ) ∧ ≀ (𝑟 ⋉ ( E ↾ 𝑛)) Ers 𝑛)}
 
25-Feb-2026df-petparts 39303 Define the class of partition-side general partition-equivalence spans.

𝑟, 𝑛⟩ ∈ PetParts means:

(1) 𝑟 is a set-relation (𝑟 ∈ Rels), and

(2) 𝑛 is a membership block-carrier (𝑛 ∈ MembParts), and

(3) the block-lift span (𝑟 ⋉ ( E ↾ 𝑛)) is a generalized partition on its natural quotient-carrier 𝑛 (i.e. (𝑟 ⋉ ( E ↾ 𝑛)) Parts 𝑛).

This is the horizontal feasibility base object on the partition side, expressed in the type-safe Parts language.

The explicit typing (𝑟 ∈ Rels ∧ 𝑛 ∈ MembParts ) is included at the definition level so later modular refinements can treat typedness as a first-class component (e.g. intersecting a typedness module with disjointness and equilibrium modules) without repeatedly restating it. In particular, it lets decompositions such as dfpetparts2 39307 be written as clean intersections whose first conjunct is exactly the typedness module ( Rels × MembParts ). (Contributed by Peter Mazsa, 19-Feb-2026.) (Revised by Peter Mazsa, 25-Feb-2026.)

PetParts = {⟨𝑟, 𝑛⟩ ∣ ((𝑟 ∈ Rels ∧ 𝑛 ∈ MembParts ) ∧ (𝑟 ⋉ ( E ↾ 𝑛)) Parts 𝑛)}
 
25-Feb-2026bdayfinbndcbv 28472 Lemma for bdayfinbnd 28475. Change some bound variables. (Contributed by Scott Fenton, 25-Feb-2026.)
(𝜑𝑁 ∈ ℕ0s)    &   (𝜑 → ∀𝑧 No ((( bday 𝑧) ⊆ ( bday 𝑁) ∧ 0s ≤s 𝑧) → (𝑧 = 𝑁 ∨ ∃𝑥 ∈ ℕ0s𝑦 ∈ ℕ0s𝑝 ∈ ℕ0s (𝑧 = (𝑥 +s (𝑦 /su (2ss𝑝))) ∧ 𝑦 <s (2ss𝑝) ∧ (𝑥 +s 𝑝) <s 𝑁))))       (𝜑 → ∀𝑤 No ((( bday 𝑤) ⊆ ( bday 𝑁) ∧ 0s ≤s 𝑤) → (𝑤 = 𝑁 ∨ ∃𝑎 ∈ ℕ0s𝑏 ∈ ℕ0s𝑞 ∈ ℕ0s (𝑤 = (𝑎 +s (𝑏 /su (2ss𝑞))) ∧ 𝑏 <s (2ss𝑞) ∧ (𝑎 +s 𝑞) <s 𝑁))))
 
25-Feb-2026bdaypw2bnd 28471 Birthday bounding rule for non-negative dyadic rationals. (Contributed by Scott Fenton, 25-Feb-2026.)
(𝜑𝑁 ∈ ℕ0s)    &   (𝜑𝑋 ∈ ℕ0s)    &   (𝜑𝑌 ∈ ℕ0s)    &   (𝜑𝑃 ∈ ℕ0s)    &   (𝜑𝑌 <s (2ss𝑃))    &   (𝜑 → (𝑋 +s 𝑃) <s 𝑁)       (𝜑 → ( bday ‘(𝑋 +s (𝑌 /su (2ss𝑃)))) ⊆ ( bday 𝑁))
 
25-Feb-2026onlesd 28276 Less-than or equal is the same as non-strict birthday comparison over surreal ordinals. Deduction version. (Contributed by Scott Fenton, 25-Feb-2026.)
(𝜑𝐴 ∈ Ons)    &   (𝜑𝐵 ∈ Ons)       (𝜑 → (𝐴 ≤s 𝐵 ↔ ( bday 𝐴) ⊆ ( bday 𝐵)))
 
25-Feb-2026onltsd 28275 Less-than is the same as birthday comparison over surreal ordinals. Deduction version. (Contributed by Scott Fenton, 25-Feb-2026.)
(𝜑𝐴 ∈ Ons)    &   (𝜑𝐵 ∈ Ons)       (𝜑 → (𝐴 <s 𝐵 ↔ ( bday 𝐴) ∈ ( bday 𝐵)))
 
25-Feb-2026onles 28274 Less-than or equal is the same as non-strict birthday comparison over surreal ordinals. (Contributed by Scott Fenton, 25-Feb-2026.)
((𝐴 ∈ Ons𝐵 ∈ Ons) → (𝐴 ≤s 𝐵 ↔ ( bday 𝐴) ⊆ ( bday 𝐵)))
 
25-Feb-2026lestri3d 27737 Trichotomy law for surreal less-than or equal. Deduction version. (Contributed by Scott Fenton, 25-Feb-2026.)
(𝜑𝐴 No )    &   (𝜑𝐵 No )       (𝜑 → (𝐴 = 𝐵 ↔ (𝐴 ≤s 𝐵𝐵 ≤s 𝐴)))
 
25-Feb-2026lesloed 27736 Surreal less-than or equal in terms of less-than. Deduction version. (Contributed by Scott Fenton, 25-Feb-2026.)
(𝜑𝐴 No )    &   (𝜑𝐵 No )       (𝜑 → (𝐴 ≤s 𝐵 ↔ (𝐴 <s 𝐵𝐴 = 𝐵)))
 
25-Feb-2026ltsnled 27735 Surreal less-than in terms of less-than or equal. Deduction version. (Contributed by Scott Fenton, 25-Feb-2026.)
(𝜑𝐴 No )    &   (𝜑𝐵 No )       (𝜑 → (𝐴 <s 𝐵 ↔ ¬ 𝐵 ≤s 𝐴))
 
25-Feb-2026lesnltd 27734 Surreal less-than or equal in terms of less-than. Deduction version. (Contributed by Scott Fenton, 25-Feb-2026.)
(𝜑𝐴 No )    &   (𝜑𝐵 No )       (𝜑 → (𝐴 ≤s 𝐵 ↔ ¬ 𝐵 <s 𝐴))
 
24-Feb-2026addsge01d 28022 A surreal is less-than or equal to itself plus a non-negative surreal. (Contributed by Scott Fenton, 24-Feb-2026.)
(𝜑𝐴 No )    &   (𝜑𝐵 No )       (𝜑 → ( 0s ≤s 𝐵𝐴 ≤s (𝐴 +s 𝐵)))
 
24-Feb-2026funcnvmpt 6943 Condition for a function in maps-to notation to be single-rooted. (Contributed by Thierry Arnoux, 28-Feb-2017.) (Proof shortened by Peter Mazsa, 24-Feb-2026.)
𝑥𝜑    &   𝑥𝐴    &   𝑥𝐹    &   𝐹 = (𝑥𝐴𝐵)    &   ((𝜑𝑥𝐴) → 𝐵𝑉)       (𝜑 → (Fun 𝐹 ↔ ∀𝑦∃*𝑥𝐴 𝑦 = 𝐵))
 
24-Feb-2026bian1d 580 Adding a superfluous conjunct in a biconditional. (Contributed by Thierry Arnoux, 26-Feb-2017.) (Proof shortened by Hongxiu Chen, 29-Jun-2025.) (Proof shortened by Peter Mazsa, 24-Feb-2026.)
(𝜑 → (𝜓 ↔ (𝜒𝜃)))       (𝜑 → ((𝜒𝜓) ↔ (𝜒𝜃)))
 
23-Feb-2026pw2ltdivmuls2d 28463 Surreal less-than relationship between division and multiplication for powers of two. (Contributed by Scott Fenton, 23-Feb-2026.)
(𝜑𝐴 No )    &   (𝜑𝐵 No )    &   (𝜑𝑁 ∈ ℕ0s)       (𝜑 → ((𝐴 /su (2ss𝑁)) <s 𝐵𝐴 <s (𝐵 ·s (2ss𝑁))))
 
23-Feb-2026n0lts1e0 28374 A non-negative surreal integer is less than one iff it is zero. (Contributed by Scott Fenton, 23-Feb-2026.)
(𝐴 ∈ ℕ0s → (𝐴 <s 1s𝐴 = 0s ))
 
23-Feb-2026cutminmax 27942 If the left set of 𝑋 has a maximum and the right set of 𝑋 has a minimum, then 𝑋 is equal to the cut of the maximum and the minimum. (Contributed by Scott Fenton, 23-Feb-2026.)
(𝜑𝐿 ∈ ( L ‘𝑋))    &   (𝜑 → ∀𝑥 ∈ ( L ‘𝑋)𝑥 ≤s 𝐿)    &   (𝜑𝑅 ∈ ( R ‘𝑋))    &   (𝜑 → ∀𝑦 ∈ ( R ‘𝑋)𝑅 ≤s 𝑦)       (𝜑𝑋 = ({𝐿} |s {𝑅}))
 
23-Feb-2026sltsbday 27923 Birthday comparison rule for surreals. (Contributed by Scott Fenton, 23-Feb-2026.)
(𝜑𝐴 = (𝐿 |s 𝑅))    &   (𝜑𝐵 No )    &   (𝜑𝐿 <<s {𝐵})    &   (𝜑 → {𝐵} <<s 𝑅)       (𝜑 → ( bday 𝐴) ⊆ ( bday 𝐵))
 
22-Feb-2026dfblockliftmap 38795 Alternate definition of the block lift map. (Contributed by Peter Mazsa, 29-Jan-2026.) (Revised by Peter Mazsa, 22-Feb-2026.)
(𝑅 BlockLiftMap 𝐴) = (𝑚 ∈ dom (𝑅 ⋉ ( E ↾ 𝐴)) ↦ [𝑚](𝑅 ⋉ ( E ↾ 𝐴)))
 
22-Feb-2026df-blockliftmap 38794 Define the block lift map. Given a relation 𝑅 and a carrier/set 𝐴, we form the block relation (𝑅 E ) (i.e., "follow both 𝑅 and element"), restricted to 𝐴 (or, equivalently, "follow both 𝑅 and elements-of-A", cf. xrnres2 38761). Then map each domain element 𝑚 to its coset [𝑚] under that restricted block relation.

For 𝑚 in the domain, which requires (𝑚𝐴𝑚 ≠ ∅ ∧ [𝑚]𝑅 ≠ ∅) (cf. eldmxrncnvepres 38769), the fiber has the product form [𝑚](𝑅 E ) = ([𝑚]𝑅 × 𝑚), so the block relation lifts a block 𝑚 to the rectangular grid "external labels × internal members", see dfblockliftmap2 38796. Contrast: while the adjoined lift, via (𝑅 E ), attaches neighbors and members in a single relation (see dfadjliftmap2 38792), the block lift labels each internal member by each external neighbor.

For the general case and a two-stage construction (first block lift, then adjoin membership), see the comments to df-adjliftmap 38790. For the equilibrium condition, see df-blockliftfix 38816. (Contributed by Peter Mazsa, 24-Jan-2026.) (Revised by Peter Mazsa, 22-Feb-2026.)

(𝑅 BlockLiftMap 𝐴) = QMap (𝑅 ⋉ ( E ↾ 𝐴))
 
22-Feb-2026dfadjliftmap 38791 Alternate (expanded) definition of the adjoined lift map. (Contributed by Peter Mazsa, 28-Jan-2026.) (Revised by Peter Mazsa, 22-Feb-2026.)
(𝑅 AdjLiftMap 𝐴) = (𝑚 ∈ dom ((𝑅 E ) ↾ 𝐴) ↦ [𝑚]((𝑅 E ) ↾ 𝐴))
 
22-Feb-2026df-adjliftmap 38790 Define the adjoined lift map. Given a relation 𝑅 and a carrier/set 𝐴, we form the adjoined relation (𝑅 E ) (i.e., "follow 𝑅 or follow elements"), restricted to 𝐴, and map each domain element 𝑚 to its coset [𝑚] under that restricted adjoined relation, see its expanded version dfadjliftmap 38791. Thus, for 𝑚 in its domain, we have (𝑚 ∪ [𝑚]𝑅), see dfadjliftmap2 38792.

Its key special case is successor: for 𝑅 = I and 𝐴 = dom I, or 𝐴 = V, the adjoined relation is ( I ∪ E ), and the coset becomes [𝑚]( I ∪ E ) = (𝑚 ∪ {𝑚}). So ( I AdjLiftMap dom I ) or ( I AdjLiftMap V) (see dfsucmap2 38799 and dfsucmap3 38798) are exactly the successor map 𝑚 ↦ suc 𝑚 (cf. dfsucmap4 38800), which is a prerequisite for accepting the adjoining lift as the right generalization of successor.

A maximally generic form would be "( R F LiftMap A )" defined as (𝑚 ∈ dom ((𝑅𝐹 E ) ↾ 𝐴) ↦ [𝑚]((𝑅𝐹 E ) ↾ 𝐴)) where 𝐹 is an object-level binary operator on relations (used via df-ov 7363). However, and are introduced in set.mm as class constructors (e.g. df-un 3895), not as an object-level binary function symbol 𝐹 that can be passed as a parameter. To make the generic 𝐹-pattern literally usable, we would need to reify union and as function-objects, which is additional infrastructure. To avoid introducing operator-as-function objects solely to support 𝐹, we define:

AdjLiftMap directly using df-un 3895, and

BlockLiftMap directly using the existing constructor dfxrn2 38720,

so we treat any "generic 𝐹-LiftMap" as optional future generalization, not a dependency.

We prefer to avoid defining too many concepts. For this reason, we will not introduce

a named "adjoining relation",

a named carrier "adjoining lift" "( R AdjLift A )", in place of ran (𝑅 AdjLiftMap 𝐴), which is (dom ((𝑅 E ) ↾ 𝐴) / ((𝑅 E ) ↾ 𝐴)), cf. dfqs2 8643,

or the equilibrium condition "AdjLiftFix" , in place of {⟨𝑟, 𝑎⟩ ∣ (dom ((𝑅 E ) ↾ 𝐴) / ((𝑅 E ) ↾ 𝐴)) = 𝑎} (cf. its analog df-blockliftfix 38816). These are definable by simple expansions and/or domain-quotient theorems when needed.

A "two-stage" construction is obtained by first forming the block relation (𝑅 E ) and then adjoining elements as "BlockAdj" . Combined, it uses the relation ((𝑅 E ) ∪ E ), which for 𝑚 in its domain (𝐴 ∖ {∅}) gives (𝑚 ∪ [𝑚](𝑅 E )), yielding "BlockAdjLiftMap" (cf. blockadjliftmap 38793) and "BlockAdjLiftFix". We only introduce these if a downstream theorem actually requires them. (Contributed by Peter Mazsa, 24-Jan-2026.) (Revised by Peter Mazsa, 22-Feb-2026.)

(𝑅 AdjLiftMap 𝐴) = QMap ((𝑅 E ) ↾ 𝐴)
 
22-Feb-2026z12bday 28491 A dyadic fraction has a finite birthday. (Contributed by Scott Fenton, 20-Aug-2025.) (Proof shortened by Scott Fenton, 22-Feb-2026.)
(𝐴 ∈ ℤs[1/2] → ( bday 𝐴) ∈ ω)
 
22-Feb-2026z12bdaylem 28490 Lemma for z12bday 28491. Handle the non-negative case. (Contributed by Scott Fenton, 22-Feb-2026.)
((𝐴 ∈ ℤs[1/2] ∧ 0s ≤s 𝐴) → ( bday 𝐴) ∈ ω)
 
22-Feb-2026z12bdaylem2 28477 Lemma for z12bday 28491. Show the first half of the equality. (Contributed by Scott Fenton, 22-Feb-2026.)
(𝜑𝑁 ∈ ℕ0s)    &   (𝜑𝑀 ∈ ℕ0s)    &   (𝜑𝑃 ∈ ℕ0s)    &   (𝜑 → ((2s ·s 𝑀) +s 1s ) <s (2ss𝑃))       (𝜑 → ( bday ‘(𝑁 +s (((2s ·s 𝑀) +s 1s ) /su (2ss𝑃)))) ⊆ ( bday ‘((𝑁 +s 𝑃) +s 1s )))
 
22-Feb-2026z12bdaylem1 28476 Lemma for z12bday 28491. Prove an inequality for birthday ordering. (Contributed by Scott Fenton, 22-Feb-2026.)
(𝜑𝑁 ∈ ℕ0s)    &   (𝜑𝑀 ∈ ℕ0s)    &   (𝜑𝑃 ∈ ℕ0s)    &   (𝜑 → ((2s ·s 𝑀) +s 1s ) <s (2ss𝑃))       (𝜑 → (𝑁 +s (((2s ·s 𝑀) +s 1s ) /su (2ss𝑃))) ≠ (𝑁 +s 𝑃))
 
22-Feb-2026bdaypw2n0bnd 28470 Upper bound for the birthday of a proper fraction of a power of two. This is actually a strict equality when 𝐴 is odd, but we do not need this for the rest of our development. (Contributed by Scott Fenton, 22-Feb-2026.)
((𝐴 ∈ ℕ0s𝑁 ∈ ℕ0s𝐴 <s (2ss𝑁)) → ( bday ‘(𝐴 /su (2ss𝑁))) ⊆ suc ( bday 𝑁))
 
22-Feb-2026onsbnd2 28288 The surreals of a given birthday are bounded below by the negative of that ordinal. (Contributed by Scott Fenton, 22-Feb-2026.)
((𝐴 ∈ Ons𝐵 ∈ ( M ‘( bday 𝐴))) → ( -us𝐴) ≤s 𝐵)
 
22-Feb-2026onsbnd 28287 The surreals of a given birthday are bounded above by that ordinal. (Contributed by Scott Fenton, 22-Feb-2026.)
((𝐴 ∈ Ons𝐵 ∈ ( M ‘( bday 𝐴))) → 𝐵 ≤s 𝐴)
 
22-Feb-2026addonbday 28285 The birthday of the sum of two ordinals is the natural sum of their birthdays. (Contributed by Scott Fenton, 22-Feb-2026.)
((𝐴 ∈ Ons𝐵 ∈ Ons) → ( bday ‘(𝐴 +s 𝐵)) = (( bday 𝐴) +no ( bday 𝐵)))
 
22-Feb-2026ons2ind 28281 Double induction schema for surreal ordinals. (Contributed by Scott Fenton, 22-Feb-2026.)
(𝑥 = 𝑥𝑂 → (𝜑𝜓))    &   (𝑦 = 𝑦𝑂 → (𝜓𝜒))    &   (𝑥 = 𝑥𝑂 → (𝜃𝜒))    &   (𝑥 = 𝐴 → (𝜑𝜏))    &   (𝑦 = 𝐵 → (𝜏𝜂))    &   ((𝑥 ∈ Ons𝑦 ∈ Ons) → ((∀𝑥𝑂 ∈ Ons𝑦𝑂 ∈ Ons ((𝑥𝑂 <s 𝑥𝑦𝑂 <s 𝑦) → 𝜒) ∧ ∀𝑥𝑂 ∈ Ons (𝑥𝑂 <s 𝑥𝜓) ∧ ∀𝑦𝑂 ∈ Ons (𝑦𝑂 <s 𝑦𝜃)) → 𝜑))       ((𝐴 ∈ Ons𝐵 ∈ Ons) → 𝜂)
 
21-Feb-2026elz12si 28479 Inference form of membership in the dyadic fractions. (Contributed by Scott Fenton, 21-Feb-2026.)
((𝐴 ∈ ℤs𝑁 ∈ ℕ0s) → (𝐴 /su (2ss𝑁)) ∈ ℤs[1/2])
 
21-Feb-2026bdaypw2n0bndlem 28469 Lemma for bdaypw2n0bnd 28470. Prove the case with a successor. (Contributed by Scott Fenton, 21-Feb-2026.)
((𝐴 ∈ ℕ0s𝑁 ∈ ℕ0s𝐴 <s (2ss(𝑁 +s 1s ))) → ( bday ‘(𝐴 /su (2ss(𝑁 +s 1s )))) ⊆ suc ( bday ‘(𝑁 +s 1s )))
 
21-Feb-2026pw2divsidd 28462 Identity law for division over powers of two. (Contributed by Scott Fenton, 21-Feb-2026.)
(𝜑𝑁 ∈ ℕ0s)       (𝜑 → ((2ss𝑁) /su (2ss𝑁)) = 1s )
 
21-Feb-2026pw2divs0d 28461 Division into zero is zero for a power of two. (Contributed by Scott Fenton, 21-Feb-2026.)
(𝜑𝑁 ∈ ℕ0s)       (𝜑 → ( 0s /su (2ss𝑁)) = 0s )
 
21-Feb-2026zcuts0 28414 Either the left or right set of a surreal integer is empty. (Contributed by Scott Fenton, 21-Feb-2026.)
(𝐴 ∈ ℤs → (( L ‘𝐴) = ∅ ∨ ( R ‘𝐴) = ∅))
 
21-Feb-2026negright 28065 The right set of the negative of a surreal is the set of negatives of its left set. (Contributed by Scott Fenton, 21-Feb-2026.)
(𝐴 No → ( R ‘( -us𝐴)) = ( -us “ ( L ‘𝐴)))
 
21-Feb-2026negleft 28064 The left set of the negative of a surreal is the set of negatives of its right set. (Contributed by Scott Fenton, 21-Feb-2026.)
(𝐴 No → ( L ‘( -us𝐴)) = ( -us “ ( R ‘𝐴)))
 
20-Feb-2026df-blockliftfix 38816 Define the equilibrium / fixed-point condition for "block carriers".

Start with a candidate block-family 𝑎 (a set whose elements you intend to treat as blocks). Combine it with a relation 𝑟 by forming the block-lift span 𝑇 = (𝑟 ⋉ ( E ↾ 𝑎)). For a block 𝑢𝑎, the fiber [𝑢]𝑇 is the set of all outputs produced from "external targets" of 𝑟 together with "internal members" of 𝑢; in other words, 𝑇 is the mechanism that generates new blocks from old ones.

Now apply the standard quotient construction (dom 𝑇 / 𝑇). This produces the family of all T-blocks (the cosets [𝑥]𝑇 of witnesses 𝑥 in the domain of 𝑇). In general, this operation can change your carrier: starting from 𝑎, it may generate a different block-family (dom 𝑇 / 𝑇).

The equation (dom (𝑟 ⋉ ( E ↾ 𝑎)) / (𝑟 ⋉ ( E ↾ 𝑎))) = 𝑎 says exactly: if you generate blocks from 𝑎 using the lift determined by 𝑟 (cf. df-blockliftmap 38794), you get back the same 𝑎. So 𝑎 is stable under the block-generation operator induced by 𝑟. This is why it is a genuine fixpoint/equilibrium condition: one application of the "make-the-blocks" operator causes no carrier drift, i.e. no hidden refinement/coarsening of what counts as a block.

Here, the quotient (dom 𝑇 / 𝑇) is the standard carrier of 𝑇 -blocks; see dfqs2 8643 for the quotient-as-range viewpoint.

This is an untyped equilibrium predicate on pairs 𝑟, 𝑎. No hypothesis 𝑟 ∈ Rels is built into the definition, because the fixpoint equation depends only on those ordered pairs 𝑥, 𝑦 that belong to 𝑟 and hence can witness an atomic instance 𝑥𝑟𝑦; extra non-ordered-pair "junk" elements in 𝑟 are ignored automatically by the relational membership predicate.

When later work needs 𝑟 to be relation-typed (e.g. to intersect with ( Rels × V)-style typedness modules, or to apply Rels-based infrastructure uniformly), the additional typing constraint 𝑟 ∈ Rels should be imposed locally as a separate conjunct (rather than being baked into this equilibrium module). (Contributed by Peter Mazsa, 25-Jan-2026.) (Revised by Peter Mazsa, 20-Feb-2026.)

BlockLiftFix = {⟨𝑟, 𝑎⟩ ∣ (dom (𝑟 ⋉ ( E ↾ 𝑎)) / (𝑟 ⋉ ( E ↾ 𝑎))) = 𝑎}
 
20-Feb-2026n0ssoldg 28359 The non-negative surreal integers are a subset of the old set of ω. To avoid the axiom of infinity, we include it as an antecedent. (Contributed by Scott Fenton, 20-Feb-2026.)
(ω ∈ V → ℕ0s ⊆ ( O ‘ω))
 
20-Feb-2026infinf 10480 Equivalence between two infiniteness criteria for sets. (Contributed by David Moews, 1-May-2017.) (Proof shortened by Scott Fenton, 20-Feb-2026.)
(𝐴𝐵 → (¬ 𝐴 ∈ Fin ↔ ω ≼ 𝐴))
 
20-Feb-2026infinfg 10479 Equivalence between two infiniteness criteria for sets. To avoid the axiom of infinity, we include it as a hypothesis. (Contributed by Scott Fenton, 20-Feb-2026.)
((ω ∈ V ∧ 𝐴𝐵) → (¬ 𝐴 ∈ Fin ↔ ω ≼ 𝐴))
 
19-Feb-2026pets2eq 39312 Grade-stable generalized partition-equivalence identification. After applying the same grade-stability operator (SucMap ShiftStable) to both sides, the grade-stable pet classes still coincide. Confirms that the grade/tower infrastructure is orthogonal to the partition-vs-equivalence viewpoint: stability is preserved under the PetParts = PetErs identification. This is the level at which we can freely work on whichever side is more convenient (Parts for block discipline, Ers for equivalence reasoning), without changing the stable notion of "pet". (Contributed by Peter Mazsa, 19-Feb-2026.)
Pet2Parts = Pet2Ers
 
19-Feb-2026petseq 39311 Generalized partition-equivalence identification.

The partition-side scheme PetParts and the equivalence-side scheme PetErs define the same class of spans (pairs 𝑟, 𝑛).

This plays the same organizational role for lifted spans that mpets 39291 plays for carriers: mpets 39291 identifies MembParts with CoMembErs at the membership-carrier level, while petseq 39311 identifies the corresponding span-level predicates built from Parts and Ers.

Unlike the earlier broad pets 39301, the bridge used here is the type-safe span theorem typesafepets 39310, which restricts to membership block-carriers. Since typedness (𝑟 ∈ Rels and the appropriate carrier condition) is now built directly into PetParts and PetErs, this theorem can be used downstream without repeatedly re-establishing basic typing premises. (Contributed by Peter Mazsa, 19-Feb-2026.)

PetParts = PetErs
 
19-Feb-2026typesafepets 39310 Type-safe pets 39301 scheme. On a membership block-carrier 𝐴 ∈ MembParts, the lifted span (𝑅 ⋉ ( E ↾ 𝐴)) yields a generalized partition of 𝐴 iff its coset relation yields an equivalence relation on the same carrier 𝐴. This is the type-safe replacement for the earlier broad pets 39301: it explicitly restricts to carriers where 𝐴 is already known to be a block-family (by MembParts). That removes the standard type-safety objection ("are you equating a quotient-carrier of blocks with raw witnesses?") by construction. It is the key bridge used to identify the partition-side and equivalence-side pet classes (petseq 39311), in complete parallel with the membership bridge mpets 39291. This theorem is intentionally not the definition of PetParts; it is the bridge used by petseq 39311 after typedness is enforced by the "Pet*" definitions. (Contributed by Peter Mazsa, 19-Feb-2026.)
((𝐴 ∈ MembParts ∧ 𝑅𝑉) → ((𝑅 ⋉ ( E ↾ 𝐴)) Parts 𝐴 ↔ ≀ (𝑅 ⋉ ( E ↾ 𝐴)) Ers 𝐴))
 
19-Feb-2026df-pet2ers 39306 Define the class of grade- and blocklift-stable equivalence-side general partition-equivalence spans. The equivalence-side analogue of Pet2Parts: stability of PetErs under one-step grade shift along SucMap. Ensures that the equivalence-side formulation supports the same tower/grade infrastructure as the partition-side formulation. SucMap ShiftStable is the grade axis and does not change the equivalence-vs-partition viewpoint (reinforced by pets2eq 39312). (Contributed by Peter Mazsa, 19-Feb-2026.)
Pet2Ers = ( SucMap ShiftStable PetErs )
 
19-Feb-2026df-pet2parts 39305 Define the class of grade- and blocklift-stable partition-side general partition-equivalence spans. It consists of those 𝑟, 𝑛⟩ ∈ PetParts such that 𝑟, 𝑛 remains in PetParts after shifting one grade along SucMap (via ShiftStable). Concretely: 𝑟, 𝑛⟩ ∈ PetParts and there exists a predecessor 𝑚 with suc 𝑚 = 𝑛 such that 𝑟, 𝑚⟩ ∈ PetParts (encoded by SucMap ∘ PetParts inside ShiftStable). I.e., it introduces the external (tower/grade) stability axis. This is the "4th level" for pet 39300 (see dfpet2parts2 39308): beyond (i) carrier membership partition, (ii) disjointness, and (iii) semantic equilibrium, we require (iv) stability under a canonical grade shift. PetParts already enforces disjointness and the quotient-carrier equation for the lifted span (hence semantic equilibrium via dfpetparts2 39307). Pet2Parts adds the external grade (tower) stability axis via df-shiftstable 38817 with SucMap. This (iv) is why we need explicit second-level Pet2Parts, while Disjs typically does not: Disjs already packages its own internal two-step consistency (carrier + map) by dfdisjs6 39277 / dfdisjs7 39278, whereas pet 39300 has an additional grade axis that must be imposed separately. (Contributed by Peter Mazsa, 19-Feb-2026.)
Pet2Parts = ( SucMap ShiftStable PetParts )
 
19-Feb-2026shiftstableeq2 38818 Equality theorem for shift-stability of two classes. (Contributed by Peter Mazsa, 19-Feb-2026.)
(𝐹 = 𝐺 → (𝑆 ShiftStable 𝐹) = (𝑆 ShiftStable 𝐺))
 
19-Feb-2026ecqmap2 38785 Fiber of QMap equals singleton quotient: a conceptual bridge between "map fibers" and quotients. (Contributed by Peter Mazsa, 19-Feb-2026.)
(𝐴 ∈ dom 𝑅 → [𝐴] QMap 𝑅 = ({𝐴} / 𝑅))
 
19-Feb-2026bj-dfsbc 36962 Proof of df-sbc 3730 when taking bj-df-sb 36960 as definition. (Contributed by BJ, 19-Feb-2026.) (Proof modification is discouraged.) (New usage is discouraged.)
(𝐴 ∈ {𝑥𝜑} ↔ [𝐴 / 𝑥]𝜑)
 
19-Feb-2026bj-sbcex 36961 Proof of sbcex 3739 when taking bj-df-sb 36960 as definition. (Contributed by BJ, 19-Feb-2026.) (Proof modification is discouraged.) (New usage is discouraged.)
([𝐴 / 𝑥]𝜑𝐴 ∈ V)
 
19-Feb-2026bj-df-sb 36960 Proposed definition to replace df-sb 2069 and df-sbc 3730. Proof is therefore unimportant. Contrary to df-sb 2069, this definition makes a substituted formula false when one substitutes a non-existent object for a variable: this is better suited to the "Levy-style" treatment of classes as virtual objects adopted by set.mm. That difference is unimportant since as soon as ax6ev 1971 is posited, all variables "exist". (Contributed by BJ, 19-Feb-2026.)
([𝐴 / 𝑥]𝜑 ↔ ∃𝑦(𝑦 = 𝐴 ∧ ∀𝑥(𝑥 = 𝑦𝜑)))
 
19-Feb-2026renod 28499 A surreal real is a surreal number. (Contributed by Scott Fenton, 19-Feb-2026.)
(𝜑𝐴 ∈ ℝs)       (𝜑𝐴 No )
 
19-Feb-2026reno 28498 A surreal real is a surreal number. (Contributed by Scott Fenton, 19-Feb-2026.)
(𝐴 ∈ ℝs𝐴 No )
 
19-Feb-2026oldfib 28383 The old set of an ordinal is finite iff the ordinal is finite. (Contributed by Scott Fenton, 19-Feb-2026.)
(𝐴 ∈ On → (𝐴 ∈ ω ↔ ( O ‘𝐴) ∈ Fin))
 
19-Feb-2026ordfin 9143 A generalization of onfin 9142 to include the class of all ordinals. (Contributed by Scott Fenton, 19-Feb-2026.)
(Ord 𝐴 → (𝐴 ∈ Fin ↔ 𝐴 ∈ ω))
 
18-Feb-2026suceldisj 39153 Disjointness of successor enforces element-carrier separation: If 𝐵 is the successor of 𝐴 and 𝐵 is element-disjoint as a family, then no element of 𝐴 can itself be a member of 𝐴 (equivalently, every 𝑥𝐴 has empty intersection with the carrier 𝐴). Provides a clean bridge between "disjoint family at the next grade" and "no block contains a block of the same family" at the previous grade: MembPart alone does not enforce this, see dfmembpart2 39208 (it gives disjoint blocks and excludes the empty block, but does not prevent 𝑢𝑚 from also being a member of the carrier 𝑚). This lemma is used to justify when grade-stability (via successor-shift) supplies the extra separation axioms needed in roof/root-style carrier reasoning. (Contributed by Peter Mazsa, 18-Feb-2026.)
((𝐴𝑉 ∧ ElDisj 𝐵 ∧ suc 𝐴 = 𝐵) → ∀𝑥𝐴 (𝑥𝐴) = ∅)
 
18-Feb-2026wl-eujustlem1 37927 Version of cbvexvw 2039 with references to ax-6 1969 listed as antecedents. (Contributed by Wolf Lammen, 18-Feb-2026.)
(𝑥 = 𝑦 → (𝜑𝜓))       ((∀𝑦𝑥 𝑥 = 𝑦 ∧ ∀𝑥𝑦 𝑥 = 𝑦) → (∃𝑥𝜑 ↔ ∃𝑦𝜓))
 
18-Feb-2026noinfepregs 35293 There are no infinite descending -chains, proven using ax-regs 35286. (Contributed by BTernaryTau, 18-Feb-2026.)
𝑥 ∈ ω (𝐹‘suc 𝑥) ∉ (𝐹𝑥)
 
18-Feb-2026noinfepfnregs 35292 There are no infinite descending -chains, proven using ax-regs 35286. (Contributed by BTernaryTau, 18-Feb-2026.)
(𝐹 Fn ω → ∃𝑥 ∈ ω (𝐹‘suc 𝑥) ∉ (𝐹𝑥))
 
18-Feb-2026fineqvinfep 35285 A counterexample demonstrating that tz9.1 9641 does not hold when all sets are finite and an infinite descending -chain exists. (Contributed by BTernaryTau, 18-Feb-2026.)
𝐴 = {(𝐹‘∅)}       ((Fin = V ∧ 𝐹:ω–1-1→V ∧ ∀𝑥 ∈ ω (𝐹‘suc 𝑥) ∈ (𝐹𝑥)) → ¬ ∃𝑦(𝐴𝑦 ∧ Tr 𝑦))
 
18-Feb-20261reno 28503 Surreal one is a surreal real. (Contributed by Scott Fenton, 18-Feb-2026.)
1s ∈ ℝs
 
16-Feb-2026dfdisjs7 39278 Alternate definition of the class of disjoints (via carrier disjointness + unique representatives). Ideology-free normal form of dfdisjs6 39277: "blocks cover their elements" (∃*) and "each block has a unique generator" (∃!), expressed entirely at the quotient-carrier level. Same class as dfdisjs6 39277, but presented in fully expanded ∃* / ∃! form over the quotient-carrier (dom 𝑟 / 𝑟). Makes explicit (a) element-disjointness of the quotient-carrier and (b) unique representative existence for each block. These are exactly the two conditions that rule out type-confusions (blocks vs witnesses) and ensure canonical decomposition. This is the form that best supports analogy arguments with df-petparts 39303 and with successor-style uniqueness patterns. (Contributed by Peter Mazsa, 16-Feb-2026.)
Disjs = {𝑟 ∈ Rels ∣ (∀𝑥∃*𝑢 ∈ (dom 𝑟 / 𝑟)𝑥𝑢 ∧ ∀𝑢 ∈ (dom 𝑟 / 𝑟)∃!𝑡 ∈ dom 𝑟 𝑢 = [𝑡]𝑟)}
 
16-Feb-2026dfdisjs6 39277 Alternate definition of the class of disjoints (via quotient-map stability). Disjs is the class of relations 𝑟 whose quotient-map QMap 𝑟 is again disjoint and whose induced quotient-carrier is element-disjoint. This is the definitional "stability-by-decomposition" packaging of disjointness: it builds Disjs from two internal layers (i) a carrier-layer constraint and (ii) a map-layer closure constraint. This is deliberately different from "u R x" style definitions: it makes the carrier of blocks and the uniqueness-of-representatives discipline first-class and reusable (via QMap) rather than implicit. (Contributed by Peter Mazsa, 16-Feb-2026.)
Disjs = {𝑟 ∈ Rels ∣ (ran QMap 𝑟 ∈ ElDisjs ∧ QMap 𝑟 ∈ Disjs )}
 
16-Feb-2026eldisjs7 39276 Elementhood in the class of disjoints. 𝑅 ∈ Disjs iff:

𝑅 ∈ Rels, and

every 𝑥 belongs to at most one block 𝑢 in the quotient-carrier (dom 𝑅 / 𝑅) (element-disjointness at the carrier), and

every block 𝑢 in the quotient-carrier has a unique representative 𝑡 ∈ dom 𝑅 such that 𝑢 = [𝑡]𝑅.

Provides the "fully expanded" quantifier characterization of the same decomposition as eldisjs6 39275, but without explicitly mentioning QMap. This is the "E*/E!"" view that is closest in spirit to suc11reg 9531-style injectivity and to the "unique generator per block" narrative. It is also the right contrast-point to older one-line criteria like dfdisjs4 39131 (the "u R x" style), because it makes the carrier and representation discipline explicit and type-safe. (Contributed by Peter Mazsa, 16-Feb-2026.)

(𝑅 ∈ Disjs ↔ (𝑅 ∈ Rels ∧ (∀𝑥∃*𝑢 ∈ (dom 𝑅 / 𝑅)𝑥𝑢 ∧ ∀𝑢 ∈ (dom 𝑅 / 𝑅)∃!𝑡 ∈ dom 𝑅 𝑢 = [𝑡]𝑅)))
 
16-Feb-2026eldisjs6 39275 Elementhood in the class of disjoints. A relation 𝑅 is in Disjs iff:

it is relation-typed, and

its quotient-map QMap 𝑅 is itself disjoint, and

its quotient-carrier ran QMap 𝑅 = (dom 𝑅 / 𝑅) lies in ElDisjs (element-disjoint carriers).

This is the central "stability-by-decomposition" theorem for Disjs: it explains why Disjs is internally well-behaved without adding an external stability clause. It is the exact template that PetParts imitates: for pet 39300, the analogue of "map layer" is the disjointness of the lifted span, the analogue of "carrier layer" is the block-lift fixpoint (BlockLiftFix), and then adds external grade stability (SucMap ShiftStable) which Disjs does not need. (Contributed by Peter Mazsa, 16-Feb-2026.)

(𝑅 ∈ Disjs ↔ (𝑅 ∈ Rels ∧ (ran QMap 𝑅 ∈ ElDisjs ∧ QMap 𝑅 ∈ Disjs )))
 
16-Feb-2026rnqmapeleldisjsim 39197 Element-disjointness of the quotient carrier forces coset disjointness. Supplies the "cosets don't overlap unless equal" direction, but expressed via ran QMap 𝑅 (the quotient carrier) and ElDisjs. This is the structural reason Disjs needs a "carrier disjointness" level distinct from the "unique representatives" level. (Contributed by Peter Mazsa, 16-Feb-2026.)
((𝑅𝑉 ∧ ran QMap 𝑅 ∈ ElDisjs ∧ (𝐴 ∈ dom 𝑅𝐵 ∈ dom 𝑅)) → (([𝐴]𝑅 ∩ [𝐵]𝑅) ≠ ∅ → [𝐴]𝑅 = [𝐵]𝑅))
 
16-Feb-2026qmapeldisjsbi 39196 Injectivity of coset map from QMap being disjoint (biconditional form). Convenience version of qmapeldisjsim 39195. (Contributed by Peter Mazsa, 16-Feb-2026.)
((𝑅𝑉 ∧ QMap 𝑅 ∈ Disjs ∧ (𝐴 ∈ dom 𝑅𝐵 ∈ dom 𝑅)) → ([𝐴]𝑅 = [𝐵]𝑅𝐴 = 𝐵))
 
16-Feb-2026qmapeldisjsim 39195 Injectivity of coset map from QMap being disjoint (implication form): under the Disjs condition on QMap 𝑅, the coset assignment is injective on dom 𝑅. (Contributed by Peter Mazsa, 16-Feb-2026.)
((𝑅𝑉 ∧ QMap 𝑅 ∈ Disjs ∧ (𝐴 ∈ dom 𝑅𝐵 ∈ dom 𝑅)) → ([𝐴]𝑅 = [𝐵]𝑅𝐴 = 𝐵))
 
16-Feb-2026disjimeceqbi2 39142 Injectivity of the block constructor under disjointness. suc11reg 9531 analogue: under disjointness, equal blocks force equal generators (on dom 𝑅). (Contributed by Peter Mazsa, 16-Feb-2026.)
( Disj 𝑅 → ((𝐴 ∈ dom 𝑅𝐵 ∈ dom 𝑅) → ([𝐴]𝑅 = [𝐵]𝑅𝐴 = 𝐵)))
 
16-Feb-2026disjimeceqim2 39140 Disj implies injectivity (pairwise form). The same content as disjimeceqim 39139 but packaged for direct use with explicit hypotheses (𝐴 ∈ dom 𝑅𝐵 ∈ dom 𝑅). (Contributed by Peter Mazsa, 16-Feb-2026.)
( Disj 𝑅 → ((𝐴 ∈ dom 𝑅𝐵 ∈ dom 𝑅) → ([𝐴]𝑅 = [𝐵]𝑅𝐴 = 𝐵)))
 
16-Feb-2026falseral0 4455 A false statement can only be true for elements of an empty set. (Contributed by AV, 30-Oct-2020.) (Proof shortened by TM, 16-Feb-2026.)
((∀𝑥 ¬ 𝜑 ∧ ∀𝑥𝐴 𝜑) → 𝐴 = ∅)
 
16-Feb-2026r19.3rzv 4444 Restricted quantification of wff not containing quantified variable. (Contributed by NM, 10-Mar-1997.) Avoid ax-12 2185. (Revised by TM, 16-Feb-2026.)
(𝐴 ≠ ∅ → (𝜑 ↔ ∀𝑥𝐴 𝜑))
 
15-Feb-2026eldisjsim5 39274 Disjs is closed under QMap. If a relation is "disjoint-structured" (Disjs), then its canonical block map is also "disjoint-structured". This is the second "structure level" in Disjs: it expresses that the property is stable under passing to the canonical block map, a theme that mirrors Pet-grade stability at a different axis. (Contributed by Peter Mazsa, 15-Feb-2026.)
(𝑅 ∈ Disjs → QMap 𝑅 ∈ Disjs )
 
15-Feb-2026eldisjsim4 39273 Disjs implies element-disjoint range of QMap. Same as eldisjsim3 39272 but expressed using the block-map range ran QMap 𝑅 (often the more modular expression). (Contributed by Peter Mazsa, 15-Feb-2026.)
(𝑅 ∈ Disjs → ran QMap 𝑅 ∈ ElDisjs )
 
15-Feb-2026vieta 33739 Vieta's Formulas: Coefficients of a monic polynomial 𝐹 expressed as a product of linear polynomials of the form 𝑋𝑍 can be expressed in terms of elementary symmetric polynomials. The formulas appear in Chapter 6 of [Lang], p. 190. Theorem vieta1 26289 is a special case for the complex numbers, for the case 𝐾 = 1. (Contributed by Thierry Arnoux, 15-Feb-2026.)
𝑊 = (Poly1𝑅)    &   𝐵 = (Base‘𝑅)    &    = (-g𝑊)    &   𝑀 = (mulGrp‘𝑊)    &   𝑄 = (𝐼 eval 𝑅)    &   𝐸 = (𝐼eSymPoly𝑅)    &   𝑁 = (invg𝑅)    &    1 = (1r𝑅)    &    · = (.r𝑅)    &   𝑋 = (var1𝑅)    &   𝐴 = (algSc‘𝑊)    &    = (.g‘(mulGrp‘𝑅))    &   𝐻 = (♯‘𝐼)    &   (𝜑𝐼 ∈ Fin)    &   (𝜑𝑅 ∈ IDomn)    &   (𝜑𝑍:𝐼𝐵)    &   𝐹 = (𝑀 Σg (𝑛𝐼 ↦ (𝑋 (𝐴‘(𝑍𝑛)))))    &   (𝜑𝐾 ∈ (0...𝐻))    &   𝐶 = (coe1𝐹)       (𝜑 → (𝐶‘(𝐻𝐾)) = ((𝐾 (𝑁1 )) · ((𝑄‘(𝐸𝐾))‘𝑍)))
 
15-Feb-2026vietalem 33738 Lemma for vieta 33739: induction step. (Contributed by Thierry Arnoux, 15-Feb-2026.)
𝑊 = (Poly1𝑅)    &   𝐵 = (Base‘𝑅)    &    = (-g𝑊)    &   𝑀 = (mulGrp‘𝑊)    &   𝑄 = (𝐼 eval 𝑅)    &   𝐸 = (𝐼eSymPoly𝑅)    &   𝑁 = (invg𝑅)    &    1 = (1r𝑅)    &    · = (.r𝑅)    &   𝑋 = (var1𝑅)    &   𝐴 = (algSc‘𝑊)    &    = (.g‘(mulGrp‘𝑅))    &   𝐻 = (♯‘𝐼)    &   (𝜑𝐼 ∈ Fin)    &   (𝜑𝑅 ∈ IDomn)    &   (𝜑𝑍:𝐼𝐵)    &   𝐹 = (𝑀 Σg (𝑛𝐼 ↦ (𝑋 (𝐴‘(𝑍𝑛)))))    &   (𝜑𝐾 ∈ (0...𝐻))    &   (𝜑𝑌𝐼)    &   𝐽 = (𝐼 ∖ {𝑌})    &   (𝜑 → ∀𝑧 ∈ (𝐵m 𝐽)∀𝑘 ∈ (0...(♯‘𝐽))((coe1‘(𝑀 Σg (𝑛𝐽 ↦ (𝑋 (𝐴‘(𝑧𝑛))))))‘((♯‘𝐽) − 𝑘)) = ((𝑘 (𝑁1 )) · (((𝐽 eval 𝑅)‘((𝐽eSymPoly𝑅)‘𝑘))‘𝑧)))    &   (𝜑 → ((deg1𝑅)‘(𝑀 Σg (𝑛𝐽 ↦ (𝑋 (𝐴‘((𝑍𝐽)‘𝑛)))))) = (♯‘𝐽))       (𝜑 → ((coe1𝐹)‘𝐾) = (((𝐻𝐾) (𝑁1 )) · ((𝑄‘(𝐸‘(𝐻𝐾)))‘𝑍)))
 
15-Feb-2026vietadeg1 33737 The degree of a product of 𝐻 of linear polynomials of the form 𝑋𝑍 is 𝐻. (Contributed by Thierry Arnoux, 15-Feb-2026.)
𝑊 = (Poly1𝑅)    &   𝐵 = (Base‘𝑅)    &    = (-g𝑊)    &   𝑀 = (mulGrp‘𝑊)    &   𝑄 = (𝐼 eval 𝑅)    &   𝐸 = (𝐼eSymPoly𝑅)    &   𝑁 = (invg𝑅)    &    1 = (1r𝑅)    &    · = (.r𝑅)    &   𝑋 = (var1𝑅)    &   𝐴 = (algSc‘𝑊)    &    = (.g‘(mulGrp‘𝑅))    &   𝐻 = (♯‘𝐼)    &   (𝜑𝐼 ∈ Fin)    &   (𝜑𝑅 ∈ IDomn)    &   (𝜑𝑍:𝐼𝐵)    &   𝐹 = (𝑀 Σg (𝑛𝐼 ↦ (𝑋 (𝐴‘(𝑍𝑛)))))    &   𝐷 = (deg1𝑅)       (𝜑 → (𝐷𝐹) = 𝐻)
 
15-Feb-2026esplyfvn 33736 Express the last elementary symmetric polynomial, evaluated at a given set of points 𝑍, in terms of the last elementary symmetric polynomial with one less variable. (Contributed by Thierry Arnoux, 15-Feb-2026.)
𝐵 = (Base‘𝑅)    &    + = (+g𝑅)    &    · = (.r𝑅)    &   𝑄 = (𝐼 eval 𝑅)    &   𝑂 = (𝐽 eval 𝑅)    &   𝐸 = (𝐼eSymPoly𝑅)    &   𝐹 = (𝐽eSymPoly𝑅)    &   𝐻 = (♯‘𝐼)    &   𝐾 = (♯‘𝐽)    &   𝐽 = (𝐼 ∖ {𝑌})    &   (𝜑𝐼 ∈ Fin)    &   (𝜑𝑅 ∈ CRing)    &   (𝜑𝑌𝐼)    &   (𝜑𝑍:𝐼𝐵)       (𝜑 → ((𝑄‘(𝐸𝐻))‘𝑍) = ((𝑍𝑌) · ((𝑂‘(𝐹𝐾))‘(𝑍𝐽))))
 
15-Feb-2026esplyindfv 33735 A recursive formula for the elementary symmetric polynomials, evaluated at a given set of points 𝑍. (Contributed by Thierry Arnoux, 15-Feb-2026.)
· = (.r𝑅)    &   (𝜑𝐼 ∈ Fin)    &   (𝜑𝑅 ∈ CRing)    &   (𝜑𝑌𝐼)    &   𝐽 = (𝐼 ∖ {𝑌})    &   𝐸 = (𝐽eSymPoly𝑅)    &   (𝜑𝐾 ∈ (0...(♯‘𝐽)))    &   𝐶 = { ∈ (ℕ0m 𝐽) ∣ finSupp 0}    &   𝐹 = ((𝐼eSymPoly𝑅)‘(𝐾 + 1))    &   𝐵 = (Base‘𝑅)    &   𝑄 = (𝐼 eval 𝑅)    &   𝑂 = (𝐽 eval 𝑅)    &    + = (+g𝑅)    &   (𝜑𝑍:𝐼𝐵)       (𝜑 → ((𝑄𝐹)‘𝑍) = (((𝑍𝑌) · ((𝑂‘(𝐸𝐾))‘(𝑍𝐽))) + ((𝑂‘(𝐸‘(𝐾 + 1)))‘(𝑍𝐽))))
 
15-Feb-2026esplyfval0 33723 The 0-th elementary symmetric polynomial is the constant 1. (Contributed by Thierry Arnoux, 15-Feb-2026.)
(𝜑𝐼𝑉)    &   (𝜑𝑅 ∈ Ring)    &   𝑈 = (1r‘(𝐼 mPoly 𝑅))       (𝜑 → ((𝐼eSymPoly𝑅)‘0) = 𝑈)
 
15-Feb-2026evlextv 33701 Evaluating a variable-extended polynomial is the same as evaluating the polynomial in the original set of variables (in both cases, the additionial variable is ignored). (Contributed by Thierry Arnoux, 15-Feb-2026.)
𝑄 = (𝐼 eval 𝑅)    &   𝑂 = (𝐽 eval 𝑅)    &   𝐽 = (𝐼 ∖ {𝑌})    &   𝑀 = (Base‘(𝐽 mPoly 𝑅))    &   𝐵 = (Base‘𝑅)    &   𝐸 = (𝐼extendVars𝑅)    &   (𝜑𝑅 ∈ CRing)    &   (𝜑𝐼𝑉)    &   (𝜑𝑌𝐼)    &   (𝜑𝐹𝑀)    &   (𝜑𝐴:𝐼𝐵)       (𝜑 → ((𝑄‘((𝐸𝑌)‘𝐹))‘𝐴) = ((𝑂𝐹)‘(𝐴𝐽)))
 
15-Feb-2026evlvarval 33700 Polynomial evaluation builder for a variable. (Contributed by Thierry Arnoux, 15-Feb-2026.)
𝑄 = (𝐼 eval 𝑆)    &   𝑃 = (𝐼 mPoly 𝑆)    &   𝐾 = (Base‘𝑆)    &   𝐵 = (Base‘𝑃)    &    = (.r𝑃)    &    · = (.r𝑆)    &   (𝜑𝐼𝑍)    &   (𝜑𝑆 ∈ CRing)    &   (𝜑𝐴 ∈ (𝐾m 𝐼))    &   𝑉 = (𝐼 mVar 𝑆)    &   (𝜑𝑋𝐼)       (𝜑 → ((𝑉𝑋) ∈ 𝐵 ∧ ((𝑄‘(𝑉𝑋))‘𝐴) = (𝐴𝑋)))
 
15-Feb-2026evlscaval 33699 Polynomial evaluation for scalars. See evlsscaval 43014. (Contributed by Thierry Arnoux, 15-Feb-2026.)
𝑄 = (𝐼 eval 𝑅)    &   𝑊 = (𝐼 mPoly 𝑅)    &   𝐵 = (Base‘𝑅)    &   𝐴 = (algSc‘𝑊)    &   (𝜑𝐼𝑉)    &   (𝜑𝑅 ∈ CRing)    &   (𝜑𝑋𝐵)    &   (𝜑𝐿:𝐼𝐵)       (𝜑 → ((𝑄‘(𝐴𝑋))‘𝐿) = 𝑋)
 
15-Feb-2026gsummoncoe1fz 33673 A coefficient of the polynomial represented as a sum of scaled monomials is the coefficient of the corresponding scaled monomial. See gsummoncoe1fzo 33672. (Contributed by Thierry Arnoux, 15-Feb-2026.)
𝑃 = (Poly1𝑅)    &   𝐵 = (Base‘𝑃)    &   𝑋 = (var1𝑅)    &    = (.g‘(mulGrp‘𝑃))    &   (𝜑𝑅 ∈ Ring)    &   𝐾 = (Base‘𝑅)    &    = ( ·𝑠𝑃)    &   (𝜑𝐷 ∈ ℕ0)    &   (𝜑 → ∀𝑘 ∈ (0...𝐷)𝐴𝐾)    &   (𝜑𝐿 ∈ (0...𝐷))    &   (𝑘 = 𝐿𝐴 = 𝐶)       (𝜑 → ((coe1‘(𝑃 Σg (𝑘 ∈ (0...𝐷) ↦ (𝐴 (𝑘 𝑋)))))‘𝐿) = 𝐶)
 
15-Feb-2026ply1coedeg 33664 Decompose a univariate polynomial 𝐾 as a sum of powers, up to its degree 𝐷. (Contributed by Thierry Arnoux, 15-Feb-2026.)
𝑃 = (Poly1𝑅)    &   𝑋 = (var1𝑅)    &   𝐵 = (Base‘𝑃)    &    · = ( ·𝑠𝑃)    &   𝑀 = (mulGrp‘𝑃)    &    = (.g𝑀)    &   𝐴 = (coe1𝐾)    &   𝐷 = ((deg1𝑅)‘𝐾)    &   (𝜑𝑅 ∈ Ring)    &   (𝜑𝐾𝐵)       (𝜑𝐾 = (𝑃 Σg (𝑘 ∈ (0...𝐷) ↦ ((𝐴𝑘) · (𝑘 𝑋)))))
 
15-Feb-2026deg1prod 33658 Degree of a product of polynomials. (Contributed by Thierry Arnoux, 15-Feb-2026.)
𝐷 = (deg1𝑅)    &   𝑃 = (Poly1𝑅)    &   𝐵 = (Base‘𝑃)    &   𝑀 = (mulGrp‘𝑃)    &    0 = (0g𝑃)    &   (𝜑𝐴 ∈ Fin)    &   (𝜑𝑅 ∈ IDomn)    &   (𝜑𝐹:𝐴⟶(𝐵 ∖ { 0 }))       (𝜑 → (𝐷‘(𝑀 Σg 𝐹)) = Σ𝑘𝐴 (𝐷‘(𝐹𝑘)))
 
15-Feb-2026assaassrd 33631 Right-associative property of an associative algebra, deduction version. (Contributed by Thierry Arnoux, 15-Feb-2026.)
𝑉 = (Base‘𝑊)    &   𝐹 = (Scalar‘𝑊)    &   𝐵 = (Base‘𝐹)    &    · = ( ·𝑠𝑊)    &    × = (.r𝑊)    &   (𝜑𝑊 ∈ AssAlg)    &   (𝜑𝐴𝐵)    &   (𝜑𝑋𝑉)    &   (𝜑𝑌𝑉)       (𝜑 → (𝑋 × (𝐴 · 𝑌)) = (𝐴 · (𝑋 × 𝑌)))
 
15-Feb-2026assaassd 33630 Left-associative property of an associative algebra, deduction version. (Contributed by Thierry Arnoux, 15-Feb-2026.)
𝑉 = (Base‘𝑊)    &   𝐹 = (Scalar‘𝑊)    &   𝐵 = (Base‘𝐹)    &    · = ( ·𝑠𝑊)    &    × = (.r𝑊)    &   (𝜑𝑊 ∈ AssAlg)    &   (𝜑𝐴𝐵)    &   (𝜑𝑋𝑉)    &   (𝜑𝑌𝑉)       (𝜑 → ((𝐴 · 𝑋) × 𝑌) = (𝐴 · (𝑋 × 𝑌)))
 
15-Feb-2026domnprodeq0 33352 A product over a domain is zero exactly when one of the factors is zero. Generalization of domneq0 20676 for any number of factors. See also domnprodn0 33351. (Contributed by Thierry Arnoux, 15-Feb-2026.)
𝑀 = (mulGrp‘𝑅)    &   𝐵 = (Base‘𝑅)    &    0 = (0g𝑅)    &   (𝜑𝑅 ∈ IDomn)    &   (𝜑𝐴 ∈ Fin)    &   (𝜑𝐹:𝐴𝐵)       (𝜑 → ((𝑀 Σg 𝐹) = 00 ∈ ran 𝐹))
 
15-Feb-2026ringm1expp1 33310 Ring exponentiation of minus one: Adding one to the exponent is the same as taking the additive inverse. (Contributed by Thierry Arnoux, 15-Feb-2026.)
1 = (1r𝑅)    &   𝑁 = (invg𝑅)    &    = (.g‘(mulGrp‘𝑅))    &   (𝜑𝑅 ∈ Ring)    &   (𝜑𝐾 ∈ ℕ0)       (𝜑 → ((𝐾 + 1) (𝑁1 )) = (𝑁‘(𝐾 (𝑁1 ))))
 
15-Feb-2026ringrngd 33305 A unital ring is a non-unital ring, deduction version. (Contributed by Thierry Arnoux, 15-Feb-2026.)
(𝜑𝑅 ∈ Ring)       (𝜑𝑅 ∈ Rng)
 
15-Feb-2026gsummulsubdishift2s 33147 Distribute a subtraction over an indexed sum, shift one of the resulting sums, and regroup terms. (Contributed by Thierry Arnoux, 15-Feb-2026.)
𝐵 = (Base‘𝑅)    &    + = (+g𝑅)    &    = (-g𝑅)    &    · = (.r𝑅)    &   (𝜑𝑅 ∈ Ring)    &   (𝜑𝐴𝐵)    &   (𝜑𝐶𝐵)    &   (𝜑𝑁 ∈ ℕ0)    &   ((𝜑𝑖 ∈ (0...𝑁)) → 𝑉𝐵)    &   (𝑖 = 0 → 𝑉 = 𝐺)    &   (𝑖 = 𝑁𝑉 = 𝐻)    &   (𝑖 = 𝑘𝑉 = 𝑃)    &   (𝑖 = (𝑘 + 1) → 𝑉 = 𝑄)    &   (𝜑𝐸 = ((𝐺 · 𝐴) (𝐻 · 𝐶)))    &   ((𝜑𝑘 ∈ (0..^𝑁)) → 𝐹 = ((𝑄 · 𝐴) (𝑃 · 𝐶)))       (𝜑 → ((𝑅 Σg (𝑘 ∈ (0...𝑁) ↦ 𝑃)) · (𝐴 𝐶)) = ((𝑅 Σg (𝑘 ∈ (0..^𝑁) ↦ 𝐹)) + 𝐸))
 
15-Feb-2026gsummulsubdishift1s 33146 Distribute a subtraction over an indexed sum, shift one of the resulting sums, and regroup terms. (Contributed by Thierry Arnoux, 15-Feb-2026.)
𝐵 = (Base‘𝑅)    &    + = (+g𝑅)    &    = (-g𝑅)    &    · = (.r𝑅)    &   (𝜑𝑅 ∈ Ring)    &   (𝜑𝐴𝐵)    &   (𝜑𝐶𝐵)    &   (𝜑𝑁 ∈ ℕ0)    &   ((𝜑𝑖 ∈ (0...𝑁)) → 𝑉𝐵)    &   (𝑖 = 0 → 𝑉 = 𝐺)    &   (𝑖 = 𝑁𝑉 = 𝐻)    &   (𝑖 = 𝑘𝑉 = 𝑃)    &   (𝑖 = (𝑘 + 1) → 𝑉 = 𝑄)    &   (𝜑𝐸 = ((𝐻 · 𝐴) (𝐺 · 𝐶)))    &   ((𝜑𝑘 ∈ (0..^𝑁)) → 𝐹 = ((𝑃 · 𝐴) (𝑄 · 𝐶)))       (𝜑 → ((𝑅 Σg (𝑘 ∈ (0...𝑁) ↦ 𝑃)) · (𝐴 𝐶)) = ((𝑅 Σg (𝑘 ∈ (0..^𝑁) ↦ 𝐹)) + 𝐸))
 
15-Feb-2026gsummulsubdishift2 33145 Distribute a subtraction over an indexed sum, shift one of the resulting sums, and regroup terms. (Contributed by Thierry Arnoux, 15-Feb-2026.)
𝐵 = (Base‘𝑅)    &    + = (+g𝑅)    &    = (-g𝑅)    &    · = (.r𝑅)    &   (𝜑𝑅 ∈ Ring)    &   (𝜑𝐴𝐵)    &   (𝜑𝐶𝐵)    &   (𝜑𝑁 ∈ ℕ0)    &   (𝜑𝐷:(0...𝑁)⟶𝐵)    &   (𝜑𝐸 = (((𝐷‘0) · 𝐴) ((𝐷𝑁) · 𝐶)))    &   ((𝜑𝑘 ∈ (0..^𝑁)) → 𝐹 = (((𝐷‘(𝑘 + 1)) · 𝐴) ((𝐷𝑘) · 𝐶)))       (𝜑 → ((𝑅 Σg 𝐷) · (𝐴 𝐶)) = ((𝑅 Σg (𝑘 ∈ (0..^𝑁) ↦ 𝐹)) + 𝐸))
 
15-Feb-2026gsummulsubdishift1 33144 Distribute a subtraction over an indexed sum, shift one of the resulting sums, and regroup terms. (Contributed by Thierry Arnoux, 15-Feb-2026.)
𝐵 = (Base‘𝑅)    &    + = (+g𝑅)    &    = (-g𝑅)    &    · = (.r𝑅)    &   (𝜑𝑅 ∈ Ring)    &   (𝜑𝐴𝐵)    &   (𝜑𝐶𝐵)    &   (𝜑𝑁 ∈ ℕ0)    &   (𝜑𝐷:(0...𝑁)⟶𝐵)    &   (𝜑𝐸 = (((𝐷𝑁) · 𝐴) ((𝐷‘0) · 𝐶)))    &   ((𝜑𝑘 ∈ (0..^𝑁)) → 𝐹 = (((𝐷𝑘) · 𝐴) ((𝐷‘(𝑘 + 1)) · 𝐶)))       (𝜑 → ((𝑅 Σg 𝐷) · (𝐴 𝐶)) = ((𝑅 Σg (𝑘 ∈ (0..^𝑁) ↦ 𝐹)) + 𝐸))
 
15-Feb-2026gsummptfzsplitla 33135 Split a group sum expressed as mapping with a finite set of sequential integers as domain into two parts, extracting a singleton from the left. (Contributed by Thierry Arnoux, 15-Feb-2026.)
𝐵 = (Base‘𝐺)    &    + = (+g𝐺)    &   (𝜑𝐺 ∈ CMnd)    &   (𝜑𝑁 ∈ (ℤ𝑀))    &   ((𝜑𝑘 ∈ (𝑀...𝑁)) → 𝑌𝐵)    &   ((𝜑𝑘 = 𝑀) → 𝑌 = 𝑋)       (𝜑 → (𝐺 Σg (𝑘 ∈ (𝑀...𝑁) ↦ 𝑌)) = (𝑋 + (𝐺 Σg (𝑘 ∈ ((𝑀 + 1)...𝑁) ↦ 𝑌))))
 
15-Feb-2026gsummptfzsplitra 33134 Split a group sum expressed as mapping with a finite set of sequential integers as domain into two parts, extracting a singleton from the right. (Contributed by Thierry Arnoux, 15-Feb-2026.)
𝐵 = (Base‘𝐺)    &    + = (+g𝐺)    &   (𝜑𝐺 ∈ CMnd)    &   (𝜑𝑁 ∈ (ℤ𝑀))    &   ((𝜑𝑘 ∈ (𝑀...𝑁)) → 𝑌𝐵)    &   ((𝜑𝑘 = 𝑁) → 𝑌 = 𝑋)       (𝜑 → (𝐺 Σg (𝑘 ∈ (𝑀...𝑁) ↦ 𝑌)) = ((𝐺 Σg (𝑘 ∈ (𝑀..^𝑁) ↦ 𝑌)) + 𝑋))
 
15-Feb-2026gsummptp1 33133 Reindex a zero-based sum as a one-base sum. (Contributed by Thierry Arnoux, 15-Feb-2026.)
𝐵 = (Base‘𝑅)    &   (𝜑𝑅 ∈ CMnd)    &   (𝜑𝑁 ∈ ℕ0)    &   ((𝜑𝑙 ∈ (1...𝑁)) → 𝑌𝐵)    &   (((𝜑𝑘 ∈ (0..^𝑁)) ∧ 𝑙 = (𝑘 + 1)) → 𝑌 = 𝑋)       (𝜑 → (𝑅 Σg (𝑘 ∈ (0..^𝑁) ↦ 𝑋)) = (𝑅 Σg (𝑙 ∈ (1...𝑁) ↦ 𝑌)))
 
15-Feb-2026gsummptrev 33132 Revert ordering in a group sum. See also gsumwrev 19332. (Contributed by Thierry Arnoux, 15-Feb-2026.)
𝐵 = (Base‘𝑀)    &   (𝜑𝑀 ∈ CMnd)    &   (𝜑𝑁 ∈ ℕ0)    &   ((𝜑𝑘 ∈ (0...𝑁)) → 𝑋𝐵)    &   (((𝜑𝑙 ∈ (0...𝑁)) ∧ 𝑘 = (𝑁𝑙)) → 𝑋 = 𝑌)       (𝜑 → (𝑀 Σg (𝑘 ∈ (0...𝑁) ↦ 𝑋)) = (𝑀 Σg (𝑙 ∈ (0...𝑁) ↦ 𝑌)))
 
15-Feb-2026gsummptfsres 33130 Extend a finitely supported group sum by padding outside with zeroes. (Contributed by Thierry Arnoux, 15-Feb-2026.)
𝐵 = (Base‘𝐺)    &    0 = (0g𝐺)    &   (𝜑𝐺 ∈ CMnd)    &   (𝜑𝐴𝑉)    &   ((𝜑𝑥 ∈ (𝐴𝑆)) → 𝑌 = 0 )    &   (𝜑 → (𝑥𝐴𝑌) finSupp 0 )    &   ((𝜑𝑥𝐴) → 𝑌𝐵)    &   (𝜑𝑆𝐴)       (𝜑 → (𝐺 Σg (𝑥𝐴𝑌)) = (𝐺 Σg (𝑥𝑆𝑌)))
 
15-Feb-2026ablcomd 33121 An abelian group operation is commutative, deduction version. (Contributed by Thierry Arnoux, 15-Feb-2026.)
𝐵 = (Base‘𝐺)    &    + = (+g𝐺)    &   (𝜑𝐺 ∈ Abel)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)       (𝜑 → (𝑋 + 𝑌) = (𝑌 + 𝑋))
 
15-Feb-2026grpinvinvd 33115 Double inverse law for groups. (Contributed by Thierry Arnoux, 15-Feb-2026.)
𝐵 = (Base‘𝐺)    &   𝑁 = (invg𝐺)    &   (𝜑𝐺 ∈ Grp)    &   (𝜑𝑋𝐵)       (𝜑 → (𝑁‘(𝑁𝑋)) = 𝑋)
 
15-Feb-2026indsn 32938 The indicator function of a singleton. (Contributed by Thierry Arnoux, 15-Feb-2026.)
((𝑂𝑉𝑋𝑂) → ((𝟭‘𝑂)‘{𝑋}) = (𝑥𝑂 ↦ if(𝑥 = 𝑋, 1, 0)))
 
15-Feb-2026nn0mnfxrd 32839 Nonnegative integers or minus infinity are extended real numbers. (Contributed by Thierry Arnoux, 15-Feb-2026.)
(𝜑𝐴 ∈ (ℕ0 ∪ {-∞}))       (𝜑𝐴 ∈ ℝ*)
 
15-Feb-2026fresunsn 32713 Recover the original function from a point-added function. See also funresdfunsn 7137 and fsnunres 7136. (Contributed by Thierry Arnoux, 15-Feb-2026.)
((𝐹 Fn 𝐴𝑋𝐴 ∧ (𝐹𝑋) = 𝑌) → ((𝐹 ↾ (𝐴 ∖ {𝑋})) ∪ {⟨𝑋, 𝑌⟩}) = 𝐹)
 
15-Feb-2026dfmo 2541 Simplify definition df-mo 2540 by removing its provable hypothesis. (Contributed by Wolf Lammen, 15-Feb-2026.)
(∃*𝑥𝜑 ↔ ∃𝑦𝑥(𝜑𝑥 = 𝑦))
 
14-Feb-2026dmqmap 38788 QMap preserves the domain. Confirms that QMap is defined exactly on the points where cosets [𝑥]𝑅 make sense (those in dom 𝑅). (Contributed by Peter Mazsa, 14-Feb-2026.)
(𝑅𝑉 → dom QMap 𝑅 = dom 𝑅)
 
14-Feb-2026ecqmap 38784 QMap fibers are singletons of blocks. Makes QMap behave like a "block constructor function" on dom 𝑅. (Contributed by Peter Mazsa, 14-Feb-2026.)
(𝐴 ∈ dom 𝑅 → [𝐴] QMap 𝑅 = {[𝐴]𝑅})
 
14-Feb-2026dfqmap3 38783 Alternate definition of the quotient map: QMap as ordered-pair class abstraction. Gives the raw set-builder characterization for extensional proofs, Rel proofs (relqmap 38787), and composition/intersection manipulations. (Contributed by Peter Mazsa, 14-Feb-2026.)
QMap 𝑅 = {⟨𝑥, 𝑦⟩ ∣ (𝑥 ∈ dom 𝑅𝑦 = [𝑥]𝑅)}
 
14-Feb-2026dfqmap2 38782 Alternate definition of the quotient map: QMap in image-of-singleton form. (Contributed by Peter Mazsa, 14-Feb-2026.)
QMap 𝑅 = (𝑥 ∈ dom 𝑅 ↦ (𝑅 “ {𝑥}))
 
12-Feb-2026disjqmap 39162 Disjointness of QMap equals unique generation of the quotient carrier. The cleaned, carrier-respecting version of disjqmap2 39161. This is the statement "each equivalence class has a unique representative" for the general coset carrier (dom 𝑅 / 𝑅). (Contributed by Peter Mazsa, 12-Feb-2026.)
(𝑅𝑉 → ( Disj QMap 𝑅 ↔ ∀𝑢 ∈ (dom 𝑅 / 𝑅)∃!𝑡 ∈ dom 𝑅 𝑢 = [𝑡]𝑅))
 
12-Feb-2026disjqmap2 39161 Disjointness of QMap equals ∃*-generation. Pairs with disjqmap 39162 and raldmqseu 38700 to move between ∃* and ∃! depending on context. (Contributed by Peter Mazsa, 12-Feb-2026.)
(𝑅𝑉 → ( Disj QMap 𝑅 ↔ ∀𝑢∃*𝑡 ∈ dom 𝑅 𝑢 = [𝑡]𝑅))
 
12-Feb-2026qmapeldisjs 39160 When 𝑅 is a set (e.g., when it is an element of the class of relations df-rels 38775), the quotient map element of the class of disjoint relations and the disjoint relation predicate for quotient maps are the same. (Contributed by Peter Mazsa, 12-Feb-2026.)
(𝑅𝑉 → ( QMap 𝑅 ∈ Disjs ↔ Disj QMap 𝑅))
 
12-Feb-2026rnqmap 38789 The range of the quotient map is the quotient carrier. It lets us replace quotient-carrier reasoning by map/range reasoning (and conversely) via df-qmap 38781 and dfqs2 8643. (Contributed by Peter Mazsa, 12-Feb-2026.)
ran QMap 𝑅 = (dom 𝑅 / 𝑅)
 
12-Feb-2026relqmap 38787 Quotient map is a relation. Guarantees that QMap can be composed, restricted, and used in other relation infrastructure (e.g., membership in Disjs, Rels-based typing). (Contributed by Peter Mazsa, 12-Feb-2026.)
Rel QMap 𝑅
 
12-Feb-2026qmapex 38786 Quotient map exists if 𝑅 exists. Type-safety: ensures QMap is a set under the standard "relation sethood" hypothesis. (Contributed by Peter Mazsa, 12-Feb-2026.)
(𝑅𝑉 → QMap 𝑅 ∈ V)
 
12-Feb-2026df-qmap 38781 Define the quotient map (coset map), see also dfqmap2 38782 and dfqmap3 38783. QMap 𝑅 is the "send a generator / domain element to its 𝑅 -coset" map: it maps each 𝑥 ∈ dom 𝑅 to the block [𝑥]𝑅. Makes the quotient operation / structurally explicit as the range of a canonical map (see dfqs2 8643, rnqmap 38789). This is crucial for

(i) modular "two-layer" characterizations (map layer + carrier layer) such as dfdisjs6 39277 / dfdisjs7 39278,

(ii) transport of properties between a relation and its induced quotient-carrier (e.g. "elements are blocks" via rnqmap 38789), and

(iii) expressing stability/invariance constraints as ordinary conditions on a graph (e.g. ran QMap 𝑟 ∈ ElDisjs, QMap 𝑟 ∈ Disjs). (Contributed by Peter Mazsa, 12-Feb-2026.)

QMap 𝑅 = (𝑥 ∈ dom 𝑅 ↦ [𝑥]𝑅)
 
11-Feb-2026nfale2 42669 An inner existential quantifier's variable is bound. (Contributed by SN, 11-Feb-2026.)
𝑥𝑦𝑥𝜑
 
11-Feb-2026nfe2 42668 An inner existential quantifier's variable is bound. (Contributed by SN, 11-Feb-2026.)
𝑥𝑦𝑥𝜑
 
11-Feb-2026nfalh 42667 Version of nfal 2329 with an 'h' hypothesis, avoiding ax-12 2185. (Contributed by SN, 11-Feb-2026.)
(𝜑 → ∀𝑥𝜑)       𝑥𝑦𝜑
 
11-Feb-2026eldisjsim3 39272 Disjs implies element-disjoint quotient carrier. Exports the carrier-disjointness property in the ElDisjs packaging. (Contributed by Peter Mazsa, 11-Feb-2026.)
(𝑅 ∈ Disjs → (dom 𝑅 / 𝑅) ∈ ElDisjs )
 
11-Feb-2026disjsssrels 39271 The class of disjoint relations is a subclass of the class of relations. (Contributed by Peter Mazsa, 11-Feb-2026.)
Disjs ⊆ Rels
 
11-Feb-2026eldisjsim2 39270 An element of the class of disjoint relations is an element of the class of relations. (Contributed by Peter Mazsa, 11-Feb-2026.)
(𝑅 ∈ Disjs → 𝑅 ∈ Rels )
 
11-Feb-2026eldisjsim1 39269 An element of the class of disjoint relations is disjoint. (Contributed by Peter Mazsa, 11-Feb-2026.)
(𝑅 ∈ Disjs → Disj 𝑅)
 
11-Feb-2026nfexa2 2184 An inner universal quantifier's variable is bound. (Contributed by SN, 11-Feb-2026.)
𝑥𝑦𝑥𝜑
 
11-Feb-2026nfexhe 2183 Version of nfex 2330 with the existential dual to the 'h' hypothesis, avoiding ax-12 2185. (Contributed by SN, 11-Feb-2026.)
(∃𝑥𝜑𝜑)       𝑥𝑦𝜑
 
10-Feb-2026eldisjdmqsim 39152 Shared output implies equal cosets (under ElDisj of quotient): if 𝑢 and 𝑣 both relate to the same 𝑥, then their cosets intersect, hence must coincide under quotient ElDisj. (Contributed by Peter Mazsa, 10-Feb-2026.)
(( ElDisj (dom 𝑅 / 𝑅) ∧ 𝑅 ∈ Rels ) → ((𝑢𝑅𝑥𝑣𝑅𝑥) → [𝑢]𝑅 = [𝑣]𝑅))
 
10-Feb-2026eldisjdmqsim2 39151 ElDisj of quotient implies coset-disjointness (domain form). Converts element-disjointness of the quotient carrier into a usable "cosets don't overlap unless equal" rule. (Contributed by Peter Mazsa, 10-Feb-2026.)
(( ElDisj (dom 𝑅 / 𝑅) ∧ 𝑅 ∈ Rels ) → ((𝑢 ∈ dom 𝑅𝑣 ∈ dom 𝑅) → (([𝑢]𝑅 ∩ [𝑣]𝑅) ≠ ∅ → [𝑢]𝑅 = [𝑣]𝑅)))
 
10-Feb-2026enssdom 8916 Equinumerosity implies dominance. (Contributed by NM, 31-Mar-1998.) (Proof shortened by TM, 10-Feb-2026.)
≈ ⊆ ≼
 
10-Feb-2026f1oi 6812 A restriction of the identity relation is a one-to-one onto function. (Contributed by NM, 30-Apr-1998.) (Proof shortened by Andrew Salmon, 22-Oct-2011.) Avoid ax-12 2185. (Revised by TM, 10-Feb-2026.)
( I ↾ 𝐴):𝐴1-1-onto𝐴
 
9-Feb-2026rsp3eq 38702 From a restricted universal statement over 𝐴, specialize to an arbitrary element class, cf. rsp3 38701. (Contributed by Peter Mazsa, 9-Feb-2026.)
𝑥𝐴    &   𝑦𝐴    &   𝑦𝜑    &   𝑥𝜓    &   (𝑥 = 𝑦 → (𝜑𝜓))       (∀𝑥𝐴 𝜑 → ((𝑦 = 𝐵𝐵𝐴) → 𝜓))
 
9-Feb-2026rsp3 38701 From a restricted universal statement over 𝐴, specialize to an arbitrary element 𝑦𝐴, cf. rsp 3226. (Contributed by Peter Mazsa, 9-Feb-2026.)
𝑥𝐴    &   𝑦𝐴    &   𝑦𝜑    &   𝑥𝜓    &   (𝑥 = 𝑦 → (𝜑𝜓))       (∀𝑥𝐴 𝜑 → (𝑦𝐴𝜓))
 
6-Feb-2026eldisjim3 39150 ElDisj elimination (two chosen elements). Standard specialization lemma: from ElDisj 𝐴 infer the disjointness condition for two specific elements. (Contributed by Peter Mazsa, 6-Feb-2026.)
( ElDisj 𝐴 → ((𝐵𝐴𝐶𝐴) → ((𝐵𝐶) ≠ ∅ → 𝐵 = 𝐶)))
 
6-Feb-2026raldmqseu 38700 Equivalence between "exactly one" on the quotient carrier and "at most one" globally. Provides a type-safe way to talk about unique representatives either as ∃! on the intended carrier or as a global ∃* statement. (Contributed by Peter Mazsa, 6-Feb-2026.)
(𝑅𝑉 → (∀𝑢 ∈ (dom 𝑅 / 𝑅)∃!𝑡 ∈ dom 𝑅 𝑢 = [𝑡]𝑅 ↔ ∀𝑢∃*𝑡 ∈ dom 𝑅 𝑢 = [𝑡]𝑅))
 
6-Feb-2026raldmqsmo 38698 On the quotient carrier, "at most one" and "exactly one" coincide for coset witnesses. (Contributed by Peter Mazsa, 6-Feb-2026.)
(∀𝑢 ∈ (dom 𝑅 / 𝑅)∃*𝑡 ∈ dom 𝑅 𝑢 = [𝑡]𝑅 ↔ ∀𝑢 ∈ (dom 𝑅 / 𝑅)∃!𝑡 ∈ dom 𝑅 𝑢 = [𝑡]𝑅)
 
5-Feb-2026disjimeldisjdmqs 39268 Disj implies element-disjoint quotient carrier. Supplies the carrier-disjointness half of the Disjs pattern: under Disj 𝑅, the coset family is element-disjoint. (Contributed by Peter Mazsa, 5-Feb-2026.)
( Disj 𝑅 → ElDisj (dom 𝑅 / 𝑅))
 
5-Feb-2026disjimdmqseq 39144 Disjointness implies unique-generation of quotient blocks. Converts existence-quotient comprehension (see df-qs 8642) into a uniqueness-comprehension under disjointness; rewrites (dom 𝑅 / 𝑅) carriers as exactly the class of blocks with a unique representative. This is the "unique generator per block" content in a carrier-normal form. (Contributed by Peter Mazsa, 5-Feb-2026.)
( Disj 𝑅 → (dom 𝑅 / 𝑅) = {𝑡 ∣ ∃!𝑢 ∈ dom 𝑅 𝑡 = [𝑢]𝑅})
 
5-Feb-2026disjimrmoeqec 39143 Under Disj, every block has a unique generator (∃* form). If 𝑡 is a block in the quotient sense, then there is a uniquely determined 𝑢 in dom 𝑅 such that 𝑡 = [𝑢]𝑅. This is the existence+uniqueness engine behind Disjs and QMap characterizations: it is the "representative theorem" from which the ∃! forms are obtained. (Contributed by Peter Mazsa, 5-Feb-2026.)
( Disj 𝑅 → ∃*𝑢 ∈ dom 𝑅 𝑡 = [𝑢]𝑅)
 
5-Feb-2026dfsb 2070 Simplify definition df-sb 2069 by removing its provable hypothesis. (Contributed by Wolf Lammen, 5-Feb-2026.)
([𝑡 / 𝑥]𝜑 ↔ ∀𝑦(𝑦 = 𝑡 → ∀𝑥(𝑥 = 𝑦𝜑)))
 
4-Feb-2026ss2rabd 4013 Subclass of a restricted class abstraction (deduction form). Saves ax-10 2147, ax-11 2163, ax-12 2185 over using ss2rab 4010 and sylibr 234. (Contributed by SN, 4-Feb-2026.)
(𝜑 → ∀𝑥𝐴 (𝜓𝜒))       (𝜑 → {𝑥𝐴𝜓} ⊆ {𝑥𝐴𝜒})
 
4-Feb-2026sbt 2072 A substitution into a theorem yields a theorem. See sbtALT 2075 for a shorter proof requiring more axioms. See chvar 2400 and chvarv 2401 for versions using implicit substitution. (Contributed by NM, 21-Jan-2004.) (Proof shortened by Andrew Salmon, 25-May-2011.) (Proof shortened by Wolf Lammen, 20-Jul-2018.) Revise df-sb 2069. (Revised by Steven Nguyen, 6-Jul-2023.) Revise df-sb 2069 again. (Revised by Wolf Lammen, 4-Feb-2026.)
𝜑       [𝑡 / 𝑥]𝜑
 
4-Feb-2026sbtlem 2071 In the case of sbt 2072, the hypothesis in df-sb 2069 is derivable from propositional axioms and ax-gen 1797 alone. The essential proof step is presented in this lemma. (Contributed by Wolf Lammen, 4-Feb-2026.)
𝜑       𝑦(𝑦 = 𝑡 → ∀𝑥(𝑥 = 𝑦𝜑))
 
4-Feb-2026df-sb 2069 Define proper substitution. For our notation, we use [𝑡 / 𝑥]𝜑 to mean "the wff that results from the proper substitution of 𝑡 for 𝑥 in the wff 𝜑". That is, 𝑡 properly replaces 𝑥. For example, [𝑡 / 𝑥]𝑧𝑥 is the same as 𝑧𝑡 (when 𝑥 and 𝑧 are distinct), as shown in elsb2 2131.

Our notation was introduced in Haskell B. Curry's Foundations of Mathematical Logic (1977), p. 316 and is frequently used in textbooks of lambda calculus and combinatory logic. This notation improves the common but ambiguous notation, "𝜑(𝑡) is the wff that results when 𝑡 is properly substituted for 𝑥 in 𝜑(𝑥)". For example, if the original 𝜑(𝑥) is 𝑥 = 𝑡, then 𝜑(𝑡) is 𝑡 = 𝑡, from which we obtain that 𝜑(𝑥) is 𝑥 = 𝑥. So what exactly does 𝜑(𝑥) mean? Curry's notation solves this problem.

A very similar notation, namely (𝑦𝑥)𝜑, was introduced in Bourbaki's Set Theory (Chapter 1, Description of Formal Mathematic, 1953).

In most books, proper substitution has a somewhat complicated recursive definition with multiple cases based on the occurrences of free and bound variables in the wff. Instead, we use a single formula that is exactly equivalent and gives us a direct definition. We later prove that our definition has the properties we expect of proper substitution (see Theorems sbequ 2089, sbcom2 2179 and sbid2v 2514).

Note that our definition is valid even when 𝑥 and 𝑡 are replaced with the same variable, as sbid 2263 shows. We achieve this by applying twice Tarski's definition sb6 2091 which is valid for disjoint variables, and introducing a dummy variable 𝑦 which isolates 𝑥 from 𝑡, as in dfsb7 2286 with respect to sb5 2283. We can also achieve this by having 𝑥 free in the first conjunct and bound in the second, as the alternate definition dfsb1 2486 shows. Another version that mixes free and bound variables is dfsb3 2499. When 𝑥 and 𝑡 are distinct, we can express proper substitution with the simpler expressions of sb5 2283 and sb6 2091.

Note that the occurrences of a given variable in the definiens are either all bound (𝑥, 𝑦) or all free (𝑡). Also note that the definiens uses only primitive symbols.

This double level definition will make several proofs using it appear as doubled. Alternately, one could often first prove as a lemma the same theorem with a disjoint variable condition on the substitute and the substituted variables, and then prove the original theorem by applying this lemma twice in a row.

The hypothesis asserts that the definition is independent of the particular choice of the dummy variable 𝑦. Without this hypothesis, sbjust 2067 would be derivable from propositional axioms alone: one could apply the definiens for [𝑡 / 𝑥]𝜑 twice, using different dummy variables 𝑦 and 𝑧, and then invoke bitr3i 277 to establish their equivalence. This would jeopardize the independence of axioms, as demonstrated in an analoguous situation involving df-ss 3907 to prove ax-8 2116 (see in-ax8 36422).

Prefer dfsb 2070 unless you can prove the hypothesis from fewer axioms in special cases, see sbt 2072. (Contributed by NM, 10-May-1993.) Revised from the original definition dfsb1 2486. (Revised by BJ, 22-Dec-2020.) Add the justification hypothesis. (Revised by Wolf Lammen, 4-Feb-2026.)

(∀𝑦(𝑦 = 𝑡 → ∀𝑥(𝑥 = 𝑦𝜑)) ↔ ∀𝑧(𝑧 = 𝑡 → ∀𝑥(𝑥 = 𝑧𝜑)))       ([𝑡 / 𝑥]𝜑 ↔ ∀𝑦(𝑦 = 𝑡 → ∀𝑥(𝑥 = 𝑦𝜑)))
 
3-Feb-2026disjimeceqbi 39141 Disj gives biconditional injectivity (domain-wise). Strengthens injectivity to an iff. (Contributed by Peter Mazsa, 3-Feb-2026.)
( Disj 𝑅 → ∀𝑢 ∈ dom 𝑅𝑣 ∈ dom 𝑅([𝑢]𝑅 = [𝑣]𝑅𝑢 = 𝑣))
 
3-Feb-2026disjimeceqim 39139 Disj implies coset-equality injectivity (domain-wise). Extracts the practical consequence of Disj: the map 𝑢 ↦ [𝑢]𝑅 is injective on dom 𝑅. This is exactly the "canonicity" property used repeatedly when turning ∃* into ∃! and when reasoning about uniqueness of representatives. (Contributed by Peter Mazsa, 3-Feb-2026.)
( Disj 𝑅 → ∀𝑢 ∈ dom 𝑅𝑣 ∈ dom 𝑅([𝑢]𝑅 = [𝑣]𝑅𝑢 = 𝑣))
 
3-Feb-2026dfdisjALTV5a 39138 Alternate definition of the disjoint relation predicate. Disj 𝑅 means: different domain generators have disjoint cosets (unless the generators are equal), plus Rel 𝑅 for relation-typedness. This is the characterization that makes canonicity/uniqueness arguments modular. It is the starting point for the entire "Disj unique representative per block" pipeline that feeds into Disjs, see dfdisjs7 39278. (Contributed by Peter Mazsa, 3-Feb-2026.)
( Disj 𝑅 ↔ (∀𝑢 ∈ dom 𝑅𝑣 ∈ dom 𝑅(([𝑢]𝑅 ∩ [𝑣]𝑅) ≠ ∅ → 𝑢 = 𝑣) ∧ Rel 𝑅))
 
2-Feb-2026ralrnmo 38696 On the range, "at most one" becomes "exactly one". (Contributed by Peter Mazsa, 27-Sep-2018.) (Revised by Peter Mazsa, 2-Feb-2026.)
(∀𝑥 ∈ ran 𝑅∃*𝑢 𝑢𝑅𝑥 ↔ ∀𝑥 ∈ ran 𝑅∃!𝑢 𝑢𝑅𝑥)
 
2-Feb-2026ralmo 38695 "At most one" can be restricted to the range. (Contributed by Peter Mazsa, 2-Feb-2026.)
(∀𝑥∃*𝑢 𝑢𝑅𝑥 ↔ ∀𝑥 ∈ ran 𝑅∃*𝑢 𝑢𝑅𝑥)
 
2-Feb-2026mptelee 28977 A condition for a mapping to be an element of a Euclidean space. (Contributed by Scott Fenton, 7-Jun-2013.) (Proof shortened by SN, 2-Feb-2026.)
(𝑁 ∈ ℕ → ((𝑘 ∈ (1...𝑁) ↦ (𝐴𝐹𝐵)) ∈ (𝔼‘𝑁) ↔ ∀𝑘 ∈ (1...𝑁)(𝐴𝐹𝐵) ∈ ℝ))
 
2-Feb-2026moabex 5405 "At most one" existence implies a class abstraction exists. (Contributed by NM, 30-Dec-1996.) Avoid axioms. (Revised by SN, 2-Feb-2026.)
(∃*𝑥𝜑 → {𝑥𝜑} ∈ V)
 
2-Feb-2026iunss 4988 Subset theorem for an indexed union. (Contributed by NM, 13-Sep-2003.) (Proof shortened by Andrew Salmon, 25-Jul-2011.) Avoid ax-10 2147, ax-12 2185. (Revised by SN, 2-Feb-2026.)
( 𝑥𝐴 𝐵𝐶 ↔ ∀𝑥𝐴 𝐵𝐶)
 
2-Feb-2026iunssf 4986 Subset theorem for an indexed union. (Contributed by Glauco Siliprandi, 3-Mar-2021.) Avoid ax-10 2147. (Revised by SN, 2-Feb-2026.)
𝑥𝐶       ( 𝑥𝐴 𝐵𝐶 ↔ ∀𝑥𝐴 𝐵𝐶)
 
1-Feb-2026xp0 5724 The Cartesian product with the empty set is empty. Part of Theorem 3.13(ii) of [Monk1] p. 37. (Contributed by NM, 12-Apr-2004.) Avoid axioms. (Revised by TM, 1-Feb-2026.)
(𝐴 × ∅) = ∅
 
1-Feb-2026uni0 4879 The union of the empty set is the empty set. Theorem 8.7 of [Quine] p. 54. (Contributed by NM, 16-Sep-1993.) Remove use of ax-nul 5241. (Revised by Eric Schmidt, 4-Apr-2007.) Avoid ax-11 2163. (Revised by TM, 1-Feb-2026.)
∅ = ∅
 
1-Feb-2026rabss2 4018 Subclass law for restricted abstraction. (Contributed by NM, 18-Dec-2004.) (Proof shortened by Andrew Salmon, 26-Jun-2011.) Avoid axioms. (Revised by TM, 1-Feb-2026.)
(𝐴𝐵 → {𝑥𝐴𝜑} ⊆ {𝑥𝐵𝜑})
 
1-Feb-2026ss2rabdv 4016 Deduction of restricted abstraction subclass from implication. (Contributed by NM, 30-May-2006.) Avoid axioms. (Revised by TM, 1-Feb-2026.)
((𝜑𝑥𝐴) → (𝜓𝜒))       (𝜑 → {𝑥𝐴𝜓} ⊆ {𝑥𝐴𝜒})
 
31-Jan-2026cnv0 6097 The converse of the empty set. (Contributed by NM, 6-Apr-1998.) Remove dependency on ax-sep 5231, ax-nul 5241, ax-pr 5370. (Revised by KP, 25-Oct-2021.) Avoid ax-12 2185. (Revised by TM, 31-Jan-2026.)
∅ = ∅
 
30-Jan-2026chnsuslle 47327 Length of a subsequence is bounded by the length of original chain. (Contributed by Ender Ting, 30-Jan-2026.)
(𝜑𝑊 ∈ ( < Chain 𝐴))    &   (𝜑𝐼 ∈ ( < Chain (0..^(♯‘𝑊))))    &   (𝜑< Po 𝐴)       (𝜑 → (♯‘(𝑊𝐼)) ≤ (♯‘𝑊))
 
30-Jan-2026dfsuccl4 38809 Alternate definition that incorporates the most desirable properties of the successor class. (Contributed by Peter Mazsa, 30-Jan-2026.)
Suc = {𝑛 ∣ ∃!𝑚𝑛 (𝑚𝑛 ∧ suc 𝑚 = 𝑛)}
 
30-Jan-2026dfsuccl3 38808 Alternate definition of the class of all successors. (Contributed by Peter Mazsa, 30-Jan-2026.)
Suc = {𝑛 ∣ ∃!𝑚 suc 𝑚 = 𝑛}
 
29-Jan-2026nthrucw 47332 Some number sets form a chain of proper subsets. This is rephrasing nthruc 16210 as a statement about chains; the hypothesis sets the ordering relation to be "is a proper subset". The theorem talks about singleton 1, natural numbers, natural-or-zero numbers, integers, rational numbers, algebraic reals (the definition includes complex numbers as algebraic so intersection is taken), real numbers and complex numbers, which are proper subsets in order. (Contributed by Ender Ting, 29-Jan-2026.)
< = {⟨𝑥, 𝑦⟩ ∣ 𝑥𝑦}       ⟨“{1}ℕℕ0ℤℚ(𝔸 ∩ ℝ)ℝℂ”⟩ ∈ ( < Chain V)
 
29-Jan-2026chner 47331 Any two elements are equivalent in a chain constructed on an equivalence relation. (Contributed by Ender Ting, 29-Jan-2026.)
(𝜑 Er 𝐴)    &   (𝜑𝐶 ∈ ( Chain 𝐴))    &   (𝜑𝐽 ∈ (0..^(♯‘𝐶)))    &   (𝜑𝐼 ∈ (0..^(♯‘𝐶)))       (𝜑 → (𝐶𝐼) (𝐶𝐽))
 
29-Jan-2026chnerlem3 47330 Lemma for chner 47331- trichotomy of integers within the word's domain. (Contributed by Ender Ting, 29-Jan-2026.)
(𝜑 Er 𝐴)    &   (𝜑𝐶 ∈ ( Chain 𝐴))    &   (𝜑𝐽 ∈ (0..^(♯‘𝐶)))    &   (𝜑𝐼 ∈ (0..^(♯‘𝐶)))       (𝜑 → (𝐼 ∈ (0..^𝐽) ∨ 𝐽 ∈ (0..^𝐼) ∨ 𝐼 = 𝐽))
 
29-Jan-2026chnerlem2 47329 Lemma for chner 47331 where the I-th element comes before the J-th. (Contributed by Ender Ting, 29-Jan-2026.)
(𝜑 Er 𝐴)    &   (𝜑𝐶 ∈ ( Chain 𝐴))    &   (𝜑𝐽 ∈ (0..^(♯‘𝐶)))       ((𝜑𝐼 ∈ (0..^𝐽)) → (𝐶𝐼) (𝐶𝐽))
 
29-Jan-2026chnerlem1 47328 In a chain constructed on an equivalence relation, the last element is equivalent to any. This theorem is a translation of chnub 18579 to equivalence relations. (Contributed by Ender Ting, 29-Jan-2026.)
(𝜑 Er 𝐴)    &   (𝜑𝐶 ∈ ( Chain 𝐴))    &   (𝜑𝐽 ∈ (0..^(♯‘𝐶)))       (𝜑 → (𝐶𝐽) (lastS‘𝐶))
 
29-Jan-2026dfsuccl2 38805 Alternate definition of the class of all successors. (Contributed by Peter Mazsa, 29-Jan-2026.)
Suc = {𝑛 ∣ ∃𝑚 suc 𝑚 = 𝑛}
 
29-Jan-2026dfblockliftmap2 38796 Alternate definition of the block lift map. (Contributed by Peter Mazsa, 29-Jan-2026.)
(𝑅 BlockLiftMap 𝐴) = (𝑚 ∈ (𝐴 ∩ (dom 𝑅 ∖ {∅})) ↦ ([𝑚]𝑅 × 𝑚))
 
29-Jan-2026dmxrncnvepres2 38768 Domain of the range product with restricted converse epsilon relation. (Contributed by Peter Mazsa, 29-Jan-2026.)
dom (𝑅 ⋉ ( E ↾ 𝐴)) = (𝐴 ∩ (dom 𝑅 ∖ {∅}))
 
29-Jan-2026frgr2wwlkeu 30412 For two different vertices in a friendship graph, there is exactly one third vertex being the middle vertex of a (simple) path/walk of length 2 between the two vertices. (Contributed by Alexander van der Vekens, 18-Feb-2018.) (Revised by AV, 12-May-2021.) (Proof shortened by AV, 4-Jan-2022.) (Revised by Ender Ting, 29-Jan-2026.)
𝑉 = (Vtx‘𝐺)       ((𝐺 ∈ FriendGraph ∧ (𝐴𝑉𝐵𝑉) ∧ 𝐴𝐵) → ∃!𝑐𝑉 ⟨“𝐴𝑐𝐵”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐵))
 
29-Jan-2026usgr2wspthon 30051 A simple path of length 2 between two vertices corresponds to two adjacent edges in a simple graph. (Contributed by Alexander van der Vekens, 9-Mar-2018.) (Revised by AV, 17-May-2021.) (Revised by Ender Ting, 29-Jan-2026.)
𝑉 = (Vtx‘𝐺)    &   𝐸 = (Edg‘𝐺)       ((𝐺 ∈ USGraph ∧ (𝐴𝑉𝐶𝑉)) → (𝑇 ∈ (𝐴(2 WSPathsNOn 𝐺)𝐶) ↔ ∃𝑏𝑉 ((𝑇 = ⟨“𝐴𝑏𝐶”⟩ ∧ 𝐴𝐶) ∧ ({𝐴, 𝑏} ∈ 𝐸 ∧ {𝑏, 𝐶} ∈ 𝐸))))
 
29-Jan-2026usgr2wspthons3 30050 A simple path of length 2 between two vertices represented as length 3 string corresponds to two adjacent edges in a simple graph. (Contributed by Alexander van der Vekens, 8-Mar-2018.) (Revised by AV, 17-May-2021.) (Proof shortened by AV, 16-Mar-2022.) (Revised by Ender Ting, 29-Jan-2026.)
𝑉 = (Vtx‘𝐺)    &   𝐸 = (Edg‘𝐺)       ((𝐺 ∈ USGraph ∧ (𝐴𝑉𝐵𝑉𝐶𝑉)) → (⟨“𝐴𝐵𝐶”⟩ ∈ (𝐴(2 WSPathsNOn 𝐺)𝐶) ↔ (𝐴𝐶 ∧ {𝐴, 𝐵} ∈ 𝐸 ∧ {𝐵, 𝐶} ∈ 𝐸)))
 
29-Jan-2026wpthswwlks2on 30047 For two different vertices, a walk of length 2 between these vertices is a simple path of length 2 between these vertices in a simple graph. (Contributed by Alexander van der Vekens, 2-Mar-2018.) (Revised by AV, 16-Mar-2022.) (Revised by Ender Ting, 29-Jan-2026.)
((𝐺 ∈ USGraph ∧ 𝐴𝐵) → (𝐴(2 WSPathsNOn 𝐺)𝐵) = (𝐴(2 WWalksNOn 𝐺)𝐵))
 
29-Jan-2026elwspths2onw 30046 A simple path of length 2 between two vertices (in a simple pseudograph) as length 3 string. This theorem avoids the Axiom of Choice for its proof, at the cost of requiring a simple graph; the more general version is elwspths2on 30045. (Contributed by Ender Ting, 29-Jan-2026.)
𝑉 = (Vtx‘𝐺)       ((𝐺 ∈ USPGraph ∧ 𝐴𝑉𝐶𝑉) → (𝑊 ∈ (𝐴(2 WSPathsNOn 𝐺)𝐶) ↔ ∃𝑏𝑉 (𝑊 = ⟨“𝐴𝑏𝐶”⟩ ∧ ⟨“𝐴𝑏𝐶”⟩ ∈ (𝐴(2 WSPathsNOn 𝐺)𝐶))))
 
29-Jan-2026usgrwwlks2on 30041 A walk of length 2 between two vertices as word in a simple graph. This theorem is analogous to umgrwwlks2on 30042 except it talks about simple graphs and therefore does not require the Axiom of Choice for its proof. (Contributed by Ender Ting, 29-Jan-2026.)
𝑉 = (Vtx‘𝐺)    &   𝐸 = (Edg‘𝐺)       ((𝐺 ∈ USGraph ∧ (𝐴𝑉𝐵𝑉𝐶𝑉)) → (⟨“𝐴𝐵𝐶”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐶) ↔ ({𝐴, 𝐵} ∈ 𝐸 ∧ {𝐵, 𝐶} ∈ 𝐸)))
 
29-Jan-2026elreno2 28501 Alternate characterization of the surreal reals. Theorem 4.4(b) of [Gonshor] p. 39. (Contributed by Scott Fenton, 29-Jan-2026.)
(𝐴 ∈ ℝs ↔ (𝐴 No ∧ (∃𝑛 ∈ ℕs (( -us𝑛) <s 𝐴𝐴 <s 𝑛) ∧ ∀𝑥𝑂 ∈ (( L ‘𝐴) ∪ ( R ‘𝐴))∃𝑛 ∈ ℕs ( 1s /su 𝑛) ≤s (abss‘(𝐴 -s 𝑥𝑂)))))
 
29-Jan-2026abssubs 28256 Swapping order of surreal subtraction doesn't change the absolute value. (Contributed by Scott Fenton, 29-Jan-2026.)
((𝐴 No 𝐵 No ) → (abss‘(𝐴 -s 𝐵)) = (abss‘(𝐵 -s 𝐴)))
 
29-Jan-2026lesubsd 28102 Swap subtrahends in a surreal inequality. (Contributed by Scott Fenton, 29-Jan-2026.)
(𝜑𝐴 No )    &   (𝜑𝐵 No )    &   (𝜑𝐶 No )       (𝜑 → (𝐴 ≤s (𝐵 -s 𝐶) ↔ 𝐶 ≤s (𝐵 -s 𝐴)))
 
28-Jan-2026dfsucmap4 38800 Alternate definition of the successor map. (Contributed by Peter Mazsa, 28-Jan-2026.)
SucMap = (𝑚 ∈ V ↦ suc 𝑚)
 
28-Jan-2026dfsucmap2 38799 Alternate definition of the successor map. (Contributed by Peter Mazsa, 28-Jan-2026.)
SucMap = ( I AdjLiftMap dom I )
 
28-Jan-2026dfsucmap3 38798 Alternate definition of the successor map. (Contributed by Peter Mazsa, 28-Jan-2026.)
SucMap = ( I AdjLiftMap V)
 
28-Jan-2026blockadjliftmap 38793 A "two-stage" construction is obtained by first forming the block relation (𝑅 E ) and then adjoining elements as "BlockAdj". Combined, it uses the relation ((𝑅 E ) ∪ E ). (Contributed by Peter Mazsa, 28-Jan-2026.)
((𝑅 E ) AdjLiftMap 𝐴) = {⟨𝑚, 𝑛⟩ ∣ (𝑚 ∈ (𝐴 ∖ {∅}) ∧ 𝑛 = (𝑚 ∪ ([𝑚]𝑅 × 𝑚)))}
 
28-Jan-2026dfadjliftmap2 38792 Alternate definition of the adjoined lift map. (Contributed by Peter Mazsa, 28-Jan-2026.)
(𝑅 AdjLiftMap 𝐴) = (𝑚 ∈ (𝐴 ∩ (dom 𝑅 ∪ (V ∖ {∅}))) ↦ (𝑚 ∪ [𝑚]𝑅))
 
28-Jan-2026ecuncnvepres 38730 The restricted union with converse epsilon relation coset of 𝐵. (Contributed by Peter Mazsa, 28-Jan-2026.)
(𝐵𝐴 → [𝐵]((𝑅 E ) ↾ 𝐴) = (𝐵 ∪ [𝐵]𝑅))
 
28-Jan-2026ecunres 38729 The restricted union coset of 𝐵. (Contributed by Peter Mazsa, 28-Jan-2026.)
(𝐵𝑉 → [𝐵]((𝑅𝑆) ↾ 𝐴) = ([𝐵](𝑅𝐴) ∪ [𝐵](𝑆𝐴)))
 
28-Jan-2026ecun 38728 The union coset of 𝐴. (Contributed by Peter Mazsa, 28-Jan-2026.)
(𝐴𝑉 → [𝐴](𝑅𝑆) = ([𝐴]𝑅 ∪ [𝐴]𝑆))
 
28-Jan-2026dmxrnuncnvepres 38727 Domain of the combined relation of two special relations, see blockadjliftmap 38793. (Contributed by Peter Mazsa, 28-Jan-2026.)
dom (((𝑅 E ) ∪ E ) ↾ 𝐴) = (𝐴 ∖ {∅})
 
28-Jan-2026dmuncnvepres 38726 Domain of the union with the converse epsilon, restricted. (Contributed by Peter Mazsa, 28-Jan-2026.)
dom ((𝑅 E ) ↾ 𝐴) = (𝐴 ∩ (dom 𝑅 ∪ (V ∖ {∅})))
 
28-Jan-2026dmcnvepres 38725 Domain of the restricted converse epsilon relation. (Contributed by Peter Mazsa, 28-Jan-2026.)
dom ( E ↾ 𝐴) = (𝐴 ∖ {∅})
 
28-Jan-2026sps3wwlks2on 30040 A length 3 string which represents a walk of length 2 between two vertices. Concerns simple pseudographs, in contrast to s3wwlks2on 30039 and does not require the Axiom of Choice for its proof. (Contributed by Ender Ting, 28-Jan-2026.)
𝑉 = (Vtx‘𝐺)       ((𝐺 ∈ USPGraph ∧ 𝐴𝑉𝐶𝑉) → (⟨“𝐴𝐵𝐶”⟩ ∈ (𝐴(2 WWalksNOn 𝐺)𝐶) ↔ ∃𝑓(𝑓(Walks‘𝐺)⟨“𝐴𝐵𝐶”⟩ ∧ (♯‘𝑓) = 2)))
 
27-Jan-2026sucpre 38832 suc is a right-inverse of pre on Suc. This theorem states the partial inverse relation in the direction we most often need. (Contributed by Peter Mazsa, 27-Jan-2026.)
(𝑁 ∈ Suc → suc pre 𝑁 = 𝑁)
 
27-Jan-2026eupre 38829 Unique predecessor exists on the successor class. (Contributed by Peter Mazsa, 27-Jan-2026.)
(𝑁𝑉 → (𝑁 ∈ Suc ↔ ∃!𝑚 𝑚 SucMap 𝑁))
 
27-Jan-2026dfpre 38811 Alternate definition of the successor-predecessor. (Contributed by Peter Mazsa, 27-Jan-2026.)
pre 𝑁 = (℩𝑚𝑚 ∈ Pred( SucMap , V, 𝑁))
 
27-Jan-2026df-pre 38810 Define the term-level successor-predecessor. It is the unique 𝑚 with suc 𝑚 = 𝑁 when such an 𝑚 exists; otherwise pre 𝑁 is the arbitrary default chosen by . See its alternate definitions dfpre 38811, dfpre2 38812, dfpre3 38813 and dfpre4 38815.

Our definition is a special case of the widely recognised general 𝑅 -predecessor class df-pred 6259 (the class of all elements 𝑚 of 𝐴 such that 𝑚𝑅𝑁, dfpred3g 6271, cf. also df-bnj14 34848) in several respects. Its most abstract property as a specialisation is that it has a unique existing value by default. This is in contrast to the general version. The uniqueness (conditional on existence) is implied by the property of this specific instance of the general case involving the successor map df-sucmap 38797 in place of 𝑅, so that 𝑚 SucMap 𝑁, cf. sucmapleftuniq 38825, which originates from suc11reg 9531. Existence 𝑚𝑚 SucMap 𝑁 holds exactly on 𝑁 ∈ ran SucMap, cf. elrng 5840.

Note that dom SucMap = V (see dmsucmap 38803), so the equivalent definition dfpre 38811 uses (℩𝑚𝑚 ∈ Pred( SucMap , V, 𝑁)). (Contributed by Peter Mazsa, 27-Jan-2026.)

pre 𝑁 = (℩𝑚𝑚 ∈ Pred( SucMap , dom SucMap , 𝑁))
 
26-Jan-2026dfpre4 38815 Alternate definition of the predecessor of the 𝑁 set. The SucMap is just the "PreMap"; we did not define it because we do not expect to use it extensively in future (cf. the comments of df-sucmap 38797). (Contributed by Peter Mazsa, 26-Jan-2026.)
(𝑁𝑉 → pre 𝑁 = (℩𝑚𝑚 ∈ [𝑁] SucMap ))
 
26-Jan-2026dfpred4 38814 Alternate definition of the predecessor class when 𝑁 is a set. (Contributed by Peter Mazsa, 26-Jan-2026.)
(𝑁𝑉 → Pred(𝑅, 𝐴, 𝑁) = [𝑁](𝑅𝐴))
 
25-Jan-2026df-shiftstable 38817 Define shift-stability, a general "procedure" pattern for "the one-step backward shift/transport of 𝐹 along 𝑆", and then 𝐹 enforces "and it already holds here".

Let 𝐹 be a relation encoding a property that depends on a "level" coordinate (for example, a feasibility condition indexed by a carrier, a grade, or a stage in a construction). Let 𝑆 be a shift relation between levels (for example, the successor map SucMap, or any other grading step).

The composed relation (𝑆𝐹) transports 𝐹 one step along the shift: 𝑟(𝑆𝐹)𝑛 means there exists a predecessor level 𝑚 such that 𝑟𝐹𝑚 and 𝑚𝑆𝑛 (e.g., 𝑚 SucMap 𝑛). We do not introduce a separate notation for "Shift" because it is simply the standard relational composition df-co 5633.

The intersection ((𝑆𝐹) ∩ 𝐹) is the locally shift-stable fragment of 𝐹: it consists exactly of those points where the property holds at some immediate predecessor that shifts to 𝑛 and also holds at level 𝑛. In other words, it isolates the part of 𝐹 that is already compatible with one-step tower coherence.

This definition packages a common construction pattern used throughout the development: "constrain by one-step stability under a chosen shift, then additionally constrain by 𝐹". Iterating the operator (𝑋 ↦ ((𝑆𝑋) ∩ 𝑋) corresponds to multi-step/tower coherence; the one-step definition here is the economical kernel from which such "tower" readings can be developed when needed. (Contributed by Peter Mazsa, 25-Jan-2026.)

(𝑆 ShiftStable 𝐹) = ((𝑆𝐹) ∩ 𝐹)
 
25-Jan-2026df-succl 38804 Define Suc as the class of all successors, i.e. the range of the successor map: 𝑛 ∈ Suc iff 𝑚suc 𝑚 = 𝑛 (see dfsuccl2 38805). By injectivity of suc (suc11reg 9531), every 𝑛 ∈ Suc has at most one predecessor, which is exactly what pre 𝑛 (df-pre 38810) names. Cf. dfsuccl3 38808 and dfsuccl4 38809. (Contributed by Peter Mazsa, 25-Jan-2026.)
Suc = ran SucMap
 
25-Jan-2026df-sucmap 38797 Define the successor map, directly as the graph of the successor operation, using only elementary set theory (ordered-pair class abstraction). This avoids committing to any particular construction of the successor function/class from other operators (e.g. a union/composition presentation), while remaining provably equivalent to those presentations (cf. dfsucmap2 38799 and dfsucmap3 38798 vs. df-succf 36068 and dfsuccf2 36139). For maximum mappy shape, see dfsucmap4 38800.

We also treat the successor relation as the default shift relation for grading/tower arguments (cf. df-shiftstable 38817). Because it is used pervasively in shift-lift infrastructure, we adopt the short name SucMap rather than the fully systematic "SucAdjLiftMap".

You may also define the predecessor relation as the converse graph "PreMap" as SucMap, which reverses successor edges ( cf. cnvopab 6094) and sends each successor to its (unique) predecessor when it exists. (Contributed by Peter Mazsa, 25-Jan-2026.)

SucMap = {⟨𝑚, 𝑛⟩ ∣ suc 𝑚 = 𝑛}
 
25-Jan-2026ecxrncnvep2 38745 The (𝑅 E )-coset of a set is the Cartesian product of its 𝑅-coset and the set. (Contributed by Peter Mazsa, 25-Jan-2026.)
(𝐴𝑉 → [𝐴](𝑅 E ) = ([𝐴]𝑅 × 𝐴))
 
25-Jan-2026omprcomonb 35280 The class of all finite ordinals is a proper class iff all ordinal sets are finite. (Contributed by BTernaryTau, 25-Jan-2026.)
(¬ ω ∈ V ↔ ω = On)
 
25-Jan-2026fineqvomonb 35279 All sets are finite iff all ordinal sets are finite. (Contributed by BTernaryTau, 25-Jan-2026.)
(Fin = V ↔ ω = On)
 
25-Jan-2026r1omfv 35270 Value of the cumulative hierarchy of sets function at ω. (Contributed by BTernaryTau, 25-Jan-2026.)
(𝑅1‘ω) = (𝑅1 “ ω)
 
25-Jan-2026r12 35254 Value of the cumulative hierarchy of sets function at 2o. (Contributed by BTernaryTau, 25-Jan-2026.)
(𝑅1‘2o) = 2o
 
25-Jan-2026xoromon 35248 ω is either an ordinal set or the proper class of all ordinal sets, but not both. This is a stronger version of omon 7822. (Contributed by BTernaryTau, 25-Jan-2026.)
(ω ∈ On ⊻ ω = On)
 
25-Jan-2026esplyind 33734 A recursive formula for the elementary symmetric polynomials. (Contributed by Thierry Arnoux, 25-Jan-2026.)
𝑊 = (𝐼 mPoly 𝑅)    &   𝑉 = (𝐼 mVar 𝑅)    &    + = (+g𝑊)    &    · = (.r𝑊)    &   𝐷 = { ∈ (ℕ0m 𝐼) ∣ finSupp 0}    &   𝐺 = ((𝐼extendVars𝑅)‘𝑌)    &   (𝜑𝐼 ∈ Fin)    &   (𝜑𝑅 ∈ Ring)    &   (𝜑𝑌𝐼)    &   𝐽 = (𝐼 ∖ {𝑌})    &   𝐸 = (𝐽eSymPoly𝑅)    &   (𝜑𝐾 ∈ (1...(♯‘𝐼)))    &   𝐶 = { ∈ (ℕ0m 𝐽) ∣ finSupp 0}       (𝜑 → ((𝐼eSymPoly𝑅)‘𝐾) = (((𝑉𝑌) · (𝐺‘(𝐸‘(𝐾 − 1)))) + (𝐺‘(𝐸𝐾))))
 
25-Jan-2026esplyfval3 33731 Alternate expression for the value of the 𝐾-th elementary symmetric polynomial. (Contributed by Thierry Arnoux, 25-Jan-2026.)
𝐷 = { ∈ (ℕ0m 𝐼) ∣ finSupp 0}    &   (𝜑𝐼 ∈ Fin)    &   (𝜑𝑅 ∈ Ring)    &   (𝜑𝐾 ∈ ℕ0)    &    0 = (0g𝑅)    &    1 = (1r𝑅)       (𝜑 → ((𝐼eSymPoly𝑅)‘𝐾) = (𝑓𝐷 ↦ if((ran 𝑓 ⊆ {0, 1} ∧ (♯‘(𝑓 supp 0)) = 𝐾), 1 , 0 )))
 
25-Jan-2026esplyfval2 33724 When 𝐾 is out-of-bounds, the 𝐾-th elementary symmetric polynomial is zero. (Contributed by Thierry Arnoux, 25-Jan-2026.)
𝐷 = { ∈ (ℕ0m 𝐼) ∣ finSupp 0}    &   (𝜑𝐼 ∈ Fin)    &   (𝜑𝑅 ∈ Ring)    &   (𝜑𝐾 ∈ (ℕ0 ∖ (0...(♯‘𝐼))))    &   𝑍 = (0g‘(𝐼 mPoly 𝑅))       (𝜑 → ((𝐼eSymPoly𝑅)‘𝐾) = 𝑍)
 
25-Jan-2026mplmulmvr 33698 Multiply a polynomial 𝐹 with a variable 𝑋 (i.e. with a monic monomial). (Contributed by Thierry Arnoux, 25-Jan-2026.)
𝑃 = (𝐼 mPoly 𝑅)    &   𝑋 = ((𝐼 mVar 𝑅)‘𝑌)    &   𝑀 = (Base‘𝑃)    &    · = (.r𝑃)    &    0 = (0g𝑅)    &   𝐷 = { ∈ (ℕ0m 𝐼) ∣ finSupp 0}    &   𝐴 = ((𝟭‘𝐼)‘{𝑌})    &   (𝜑𝐼𝑉)    &   (𝜑𝑌𝐼)    &   (𝜑𝑅 ∈ Ring)    &   (𝜑𝐹𝑀)       (𝜑 → (𝑋 · 𝐹) = (𝑏𝐷 ↦ if((𝑏𝑌) = 0, 0 , (𝐹‘(𝑏f𝐴)))))
 
25-Jan-2026mvrvalind 33697 Value of the generating elements of the power series structure, expressed using the indicator function. (Contributed by Thierry Arnoux, 25-Jan-2026.)
𝑉 = (𝐼 mVar 𝑅)    &   𝐷 = { ∈ (ℕ0m 𝐼) ∣ ( “ ℕ) ∈ Fin}    &    0 = (0g𝑅)    &    1 = (1r𝑅)    &   (𝜑𝐼𝑊)    &   (𝜑𝑅𝑌)    &   (𝜑𝑋𝐼)    &   (𝜑𝐹𝐷)    &   𝐴 = ((𝟭‘𝐼)‘{𝑋})       (𝜑 → ((𝑉𝑋)‘𝐹) = if(𝐹 = 𝐴, 1 , 0 ))
 
25-Jan-2026extvfvalf 33696 The "variable extension" function maps polynomials with variables indexed in 𝐽 to polynomials with variables indexed in 𝐼. (Contributed by Thierry Arnoux, 25-Jan-2026.)
𝐷 = { ∈ (ℕ0m 𝐼) ∣ finSupp 0}    &    0 = (0g𝑅)    &   (𝜑𝐼𝑉)    &   (𝜑𝑅 ∈ Ring)    &   𝐵 = (Base‘𝑅)    &   𝐽 = (𝐼 ∖ {𝐴})    &   𝑀 = (Base‘(𝐽 mPoly 𝑅))    &   (𝜑𝐴𝐼)    &   𝑁 = (Base‘(𝐼 mPoly 𝑅))       (𝜑 → ((𝐼extendVars𝑅)‘𝐴):𝑀𝑁)
 
25-Jan-2026extvfvcl 33695 Closure for the "variable extension" function evaluated for converting a given polynomial 𝐹 by adding a variable with index 𝐴. (Contributed by Thierry Arnoux, 25-Jan-2026.)
𝐷 = { ∈ (ℕ0m 𝐼) ∣ finSupp 0}    &    0 = (0g𝑅)    &   (𝜑𝐼𝑉)    &   (𝜑𝑅 ∈ Ring)    &   𝐵 = (Base‘𝑅)    &   𝐽 = (𝐼 ∖ {𝐴})    &   𝑀 = (Base‘(𝐽 mPoly 𝑅))    &   (𝜑𝐴𝐼)    &   (𝜑𝐹𝑀)    &   𝑁 = (Base‘(𝐼 mPoly 𝑅))       (𝜑 → (((𝐼extendVars𝑅)‘𝐴)‘𝐹) ∈ 𝑁)
 
25-Jan-2026extvfvvcl 33694 Closure for the "variable extension" function evaluated for converting a given polynomial 𝐹 by adding a variable with index 𝐴. (Contributed by Thierry Arnoux, 25-Jan-2026.)
𝐷 = { ∈ (ℕ0m 𝐼) ∣ finSupp 0}    &    0 = (0g𝑅)    &   (𝜑𝐼𝑉)    &   (𝜑𝑅 ∈ Ring)    &   𝐵 = (Base‘𝑅)    &   𝐽 = (𝐼 ∖ {𝐴})    &   𝑀 = (Base‘(𝐽 mPoly 𝑅))    &   (𝜑𝐴𝐼)    &   (𝜑𝐹𝑀)    &   (𝜑𝑋𝐷)       (𝜑 → ((((𝐼extendVars𝑅)‘𝐴)‘𝐹)‘𝑋) ∈ 𝐵)
 
25-Jan-2026extvfvv 33693 The "variable extension" function evaluated for converting a given polynomial 𝐹 by adding a variable with index 𝐴. (Contributed by Thierry Arnoux, 25-Jan-2026.)
𝐷 = { ∈ (ℕ0m 𝐼) ∣ finSupp 0}    &    0 = (0g𝑅)    &   (𝜑𝐼𝑉)    &   (𝜑𝑅𝑊)    &   (𝜑𝐴𝐼)    &   𝐽 = (𝐼 ∖ {𝐴})    &   𝑀 = (Base‘(𝐽 mPoly 𝑅))    &   (𝜑𝐹𝑀)    &   (𝜑𝑋𝐷)       (𝜑 → ((((𝐼extendVars𝑅)‘𝐴)‘𝐹)‘𝑋) = if((𝑋𝐴) = 0, (𝐹‘(𝑋𝐽)), 0 ))
 
25-Jan-2026extvfv 33692 The "variable extension" function evaluated for converting a given polynomial 𝐹 by adding a variable with index 𝐴. (Contributed by Thierry Arnoux, 25-Jan-2026.)
𝐷 = { ∈ (ℕ0m 𝐼) ∣ finSupp 0}    &    0 = (0g𝑅)    &   (𝜑𝐼𝑉)    &   (𝜑𝑅𝑊)    &   (𝜑𝐴𝐼)    &   𝐽 = (𝐼 ∖ {𝐴})    &   𝑀 = (Base‘(𝐽 mPoly 𝑅))    &   (𝜑𝐹𝑀)       (𝜑 → (((𝐼extendVars𝑅)‘𝐴)‘𝐹) = (𝑥𝐷 ↦ if((𝑥𝐴) = 0, (𝐹‘(𝑥𝐽)), 0 )))
 
25-Jan-2026extvfval 33691 The "variable extension" function evaluated for adding a variable with index 𝐴. (Contributed by Thierry Arnoux, 25-Jan-2026.)
𝐷 = { ∈ (ℕ0m 𝐼) ∣ finSupp 0}    &    0 = (0g𝑅)    &   (𝜑𝐼𝑉)    &   (𝜑𝑅𝑊)    &   (𝜑𝐴𝐼)    &   𝐽 = (𝐼 ∖ {𝐴})    &   𝑀 = (Base‘(𝐽 mPoly 𝑅))       (𝜑 → ((𝐼extendVars𝑅)‘𝐴) = (𝑓𝑀 ↦ (𝑥𝐷 ↦ if((𝑥𝐴) = 0, (𝑓‘(𝑥𝐽)), 0 ))))
 
25-Jan-2026extvval 33690 Value of the "variable extension" function. (Contributed by Thierry Arnoux, 25-Jan-2026.)
𝐷 = { ∈ (ℕ0m 𝐼) ∣ finSupp 0}    &    0 = (0g𝑅)    &   (𝜑𝐼𝑉)    &   (𝜑𝑅𝑊)    &   𝐽 = (𝐼 ∖ {𝑎})    &   𝑀 = (Base‘(𝐽 mPoly 𝑅))       (𝜑 → (𝐼extendVars𝑅) = (𝑎𝐼 ↦ (𝑓𝑀 ↦ (𝑥𝐷 ↦ if((𝑥𝑎) = 0, (𝑓‘(𝑥 ↾ (𝐼 ∖ {𝑎}))), 0 )))))
 
25-Jan-2026nn0diffz0 32882 Upper set of the nonnegative integers. (Contributed by Thierry Arnoux, 25-Jan-2026.)
(𝑁 ∈ ℕ0 → (ℕ0 ∖ (0...𝑁)) = (ℤ‘(𝑁 + 1)))
 
25-Jan-2026rnressnsn 32765 The range of a restriction to a singleton is a singleton. See dmressnsn 5982. (Contributed by Thierry Arnoux, 25-Jan-2026.)
((Fun 𝐹𝐴 ∈ dom 𝐹) → ran (𝐹 ↾ {𝐴}) = {(𝐹𝐴)})
 
25-Jan-2026partfun2 32764 Rewrite a function defined by parts, using a mapping and an if construct, into a union of functions on disjoint domains. See also partfun 6639 and ifmpt2v 7462. (Contributed by Thierry Arnoux, 25-Jan-2026.)
𝐷 = {𝑥𝐴𝜑}       (𝑥𝐴 ↦ if(𝜑, 𝐵, 𝐶)) = ((𝑥𝐷𝐵) ∪ (𝑥 ∈ (𝐴𝐷) ↦ 𝐶))
 
25-Jan-2026indconst1 12163 Indicator of the whole set. (Contributed by Thierry Arnoux, 25-Jan-2026.)
(𝑂𝑉 → ((𝟭‘𝑂)‘𝑂) = (𝑂 × {1}))
 
25-Jan-2026indconst0 12162 Indicator of the empty set. (Contributed by Thierry Arnoux, 25-Jan-2026.)
(𝑂𝑉 → ((𝟭‘𝑂)‘∅) = (𝑂 × {0}))
 
25-Jan-2026tz6.12-2 6821 Function value when 𝐹 is not a function. Theorem 6.12(2) of [TakeutiZaring] p. 27. (Contributed by NM, 30-Apr-2004.) (Proof shortened by Mario Carneiro, 31-Aug-2015.) Avoid ax-10 2147, ax-11 2163, ax-12 2185. (Revised by TM, 25-Jan-2026.)
(¬ ∃!𝑥 𝐴𝐹𝑥 → (𝐹𝐴) = ∅)
 
24-Jan-2026r1omhfb 35272 The class of all hereditarily finite sets is the only class with the property that all sets are members of it iff they are finite and all of their elements are members of it. (Contributed by BTernaryTau, 24-Jan-2026.)
(𝐻 = (𝑅1 “ ω) ↔ ∀𝑥(𝑥𝐻 ↔ (𝑥 ∈ Fin ∧ ∀𝑦𝑥 𝑦𝐻)))
 
24-Jan-2026trssfir1om 35271 If every element in a transitive class is finite, then every element is also hereditarily finite. (Contributed by BTernaryTau, 24-Jan-2026.)
((Tr 𝐴𝐴 ⊆ Fin) → 𝐴 (𝑅1 “ ω))
 
24-Jan-2026r11 35253 Value of the cumulative hierarchy of sets function at 1o. (Contributed by BTernaryTau, 24-Jan-2026.)
(𝑅1‘1o) = 1o
 
24-Jan-2026rnco 6210 The range of the composition of two classes. (Contributed by NM, 12-Dec-2006.) (Proof shortened by Peter Mazsa, 2-Oct-2022.) Avoid ax-11 2163. (Revised by TM, 24-Jan-2026.)
ran (𝐴𝐵) = ran (𝐴 ↾ ran 𝐵)
 
24-Jan-2026dm0rn0 5873 An empty domain is equivalent to an empty range. (Contributed by NM, 21-May-1998.) Avoid ax-10 2147, ax-11 2163, ax-12 2185. (Revised by TM, 24-Jan-2026.)
(dom 𝐴 = ∅ ↔ ran 𝐴 = ∅)
 
24-Jan-2026eqabcbw 2811 Version of eqabcb 2877 using implicit substitution, which requires fewer axioms. (Contributed by TM, 24-Jan-2026.)
(𝑥 = 𝑦 → (𝜑𝜓))       ({𝑥𝜑} = 𝐴 ↔ ∀𝑦(𝜓𝑦𝐴))
 
24-Jan-2026excomw 2048 Weak version of excom 2168 and biconditional form of excomimw 2046. Uses only Tarski's FOL axiom schemes. (Contributed by TM, 24-Jan-2026.)
(𝑥 = 𝑤 → (𝜑𝜓))    &   (𝑦 = 𝑧 → (𝜑𝜒))       (∃𝑥𝑦𝜑 ↔ ∃𝑦𝑥𝜑)
 
22-Jan-2026chnsubseq 47326 An order-preserving subsequence of an ordered chain is itself a chain. (Contributed by Ender Ting, 22-Jan-2026.)
(𝜑𝑊 ∈ ( < Chain 𝐴))    &   (𝜑𝐼 ∈ ( < Chain (0..^(♯‘𝑊))))    &   (𝜑< Po 𝐴)       (𝜑 → (𝑊𝐼) ∈ ( < Chain 𝐴))
 
22-Jan-2026chnsubseqwl 47325 A subsequence of a chain has the same length as its indexing sequence. (Contributed by Ender Ting, 22-Jan-2026.)
(𝜑𝑊 ∈ ( < Chain 𝐴))    &   (𝜑𝐼 ∈ ( < Chain (0..^(♯‘𝑊))))       (𝜑 → (♯‘(𝑊𝐼)) = (♯‘𝐼))
 
22-Jan-2026chnsubseqword 47324 A subsequence of a chain is a word. (Contributed by Ender Ting, 22-Jan-2026.)
(𝜑𝑊 ∈ ( < Chain 𝐴))    &   (𝜑𝐼 ∈ ( < Chain (0..^(♯‘𝑊))))       (𝜑 → (𝑊𝐼) ∈ Word 𝐴)
 
22-Jan-2026r1filim 35263 A finite set appears in the cumulative hierarchy prior to a limit ordinal iff all of its elements appear in the cumulative hierarchy prior to that limit ordinal. (Contributed by BTernaryTau, 22-Jan-2026.)
((𝐴 ∈ Fin ∧ Lim 𝐵) → (𝐴 (𝑅1𝐵) ↔ ∀𝑥𝐴 𝑥 (𝑅1𝐵)))
 
22-Jan-2026rankfilimb 35261 The rank of a finite well-founded set is less than a limit ordinal iff the ranks of all of its elements are less than that limit ordinal. (Contributed by BTernaryTau, 22-Jan-2026.)
((𝐴 ∈ Fin ∧ 𝐴 (𝑅1 “ On) ∧ Lim 𝐵) → ((rank‘𝐴) ∈ 𝐵 ↔ ∀𝑥𝐴 (rank‘𝑥) ∈ 𝐵))
 
21-Jan-2026r1omhfbregs 35297 The class of all hereditarily finite sets is the only class with the property that all sets are members of it iff they are finite and all of their elements are members of it. This version of r1omhfb 35272 replaces setinds2 9663 with setinds2regs 35291 and trssfir1om 35271 with trssfir1omregs 35296. (Contributed by BTernaryTau, 21-Jan-2026.)
(𝐻 = (𝑅1 “ ω) ↔ ∀𝑥(𝑥𝐻 ↔ (𝑥 ∈ Fin ∧ ∀𝑦𝑥 𝑦𝐻)))
 
20-Jan-2026trssfir1omregs 35296 If every element in a transitive class is finite, then every element is also hereditarily finite. This version of trssfir1om 35271 replaces setinds2 9663 with setinds2regs 35291. (Contributed by BTernaryTau, 20-Jan-2026.)
((Tr 𝐴𝐴 ⊆ Fin) → 𝐴 (𝑅1 “ ω))
 
20-Jan-2026df-extv 33689 Define the "variable extension" function. The function ((𝐼extendVars𝑅)‘𝐴) converts polynomials with variables indexed by (𝐼 ∖ {𝐴}) into polynomials indexed by 𝐼, and therefore maps elements of ((𝐼 ∖ {𝐴}) mPoly 𝑅) onto (𝐼 mPoly 𝑅). (Contributed by Thierry Arnoux, 20-Jan-2026.)
extendVars = (𝑖 ∈ V, 𝑟 ∈ V ↦ (𝑎𝑖 ↦ (𝑓 ∈ (Base‘((𝑖 ∖ {𝑎}) mPoly 𝑟)) ↦ (𝑥 ∈ { ∈ (ℕ0m 𝑖) ∣ finSupp 0} ↦ if((𝑥𝑎) = 0, (𝑓‘(𝑥 ↾ (𝑖 ∖ {𝑎}))), (0g𝑟))))))
 
20-Jan-2026chnfibg 18593 Given a partial order, the set of chains is finite iff the alphabet is finite. (Contributed by Ender Ting, 20-Jan-2026.)
( < Po 𝐴 → (𝐴 ∈ Fin ↔ ( < Chain 𝐴) ∈ Fin))
 
20-Jan-2026chninf 18592 There is an infinite number of chains for any infinite alphabet and any relation. For instance, all the singletons of alphabet characters match. (Contributed by Ender Ting, 20-Jan-2026.)
(𝐴 ∉ Fin → ( < Chain 𝐴) ∉ Fin)
 
20-Jan-2026chnfi 18591 There is a finite number of chains over finite domain, as long as the relation orders it. (Contributed by Ender Ting, 20-Jan-2026.)
((𝐴 ∈ Fin ∧ < Po 𝐴) → ( < Chain 𝐴) ∈ Fin)
 
20-Jan-2026chnpolfz 18590 Provided that chain's relation is a partial order, the chain length is restricted to a specific integer range. (Contributed by Ender Ting, 20-Jan-2026.)
(𝜑< Po 𝐴)    &   (𝜑𝐵 ∈ ( < Chain 𝐴))    &   (𝜑𝐴 ∈ Fin)       (𝜑 → (♯‘𝐵) ∈ (0...(♯‘𝐴)))
 
20-Jan-2026chnpolleha 18589 A chain under relation which orders the alphabet has at most alphabet's size elements in it. (Contributed by Ender Ting, 20-Jan-2026.)
(𝜑< Po 𝐴)    &   (𝜑𝐵 ∈ ( < Chain 𝐴))    &   (𝜑𝐴𝑉)       (𝜑 → (♯‘𝐵) ≤ (♯‘𝐴))
 
20-Jan-2026chnpoadomd 18588 A chain under relation which orders the alphabet cannot have more elements than the alphabet itself. (Contributed by Ender Ting, 20-Jan-2026.)
(𝜑< Po 𝐴)    &   (𝜑𝐵 ∈ ( < Chain 𝐴))    &   (𝜑𝐴𝑉)       (𝜑 → (0..^(♯‘𝐵)) ≼ 𝐴)
 
20-Jan-2026chnpof1 18587 A chain under relation which orders the alphabet is a one-to-one function from its domain to alphabet. (Contributed by Ender Ting, 20-Jan-2026.)
(𝜑< Po 𝐴)    &   (𝜑𝐵 ∈ ( < Chain 𝐴))       (𝜑𝐵:(0..^(♯‘𝐵))–1-1𝐴)
 
20-Jan-2026chnf 18586 A chain is a zero-based finite sequence with a recoverable upper limit. (Contributed by Ender Ting, 20-Jan-2026.)
(𝐵 ∈ ( < Chain 𝐴) → 𝐵:(0..^(♯‘𝐵))⟶𝐴)
 
20-Jan-2026chnrev 18584 Reverse of a chain is chain under the converse relation and same domain. (Contributed by Ender Ting, 20-Jan-2026.)
(𝐵 ∈ ( < Chain 𝐴) → (reverse‘𝐵) ∈ ( < Chain 𝐴))
 
20-Jan-2026chnccat 18583 Concatenate two chains. (Contributed by Ender Ting, 20-Jan-2026.)
(𝜑𝑇 ∈ ( < Chain 𝐴))    &   (𝜑𝑈 ∈ ( < Chain 𝐴))    &   (𝜑 → (𝑇 = ∅ ∨ 𝑈 = ∅ ∨ (lastS‘𝑇) < (𝑈‘0)))       (𝜑 → (𝑇 ++ 𝑈) ∈ ( < Chain 𝐴))
 
20-Jan-2026chnrdss 18574 Subset theorem for chains. (Contributed by Ender Ting, 20-Jan-2026.)
(( <𝑅𝐴𝐵) → ( < Chain 𝐴) ⊆ (𝑅 Chain 𝐵))
 
20-Jan-2026chndss 18573 Chains with an alphabet are also chains with any superset alphabet. (Contributed by Ender Ting, 20-Jan-2026.)
(𝐴𝐵 → ( < Chain 𝐴) ⊆ ( < Chain 𝐵))
 
20-Jan-2026chnrss 18572 Chains under a relation are also chains under any superset relation. (Contributed by Ender Ting, 20-Jan-2026.)
( <𝑅 → ( < Chain 𝐴) ⊆ (𝑅 Chain 𝐴))
 
20-Jan-2026nfchnd 18568 Bound-variable hypothesis builder for chain collection constructor. (Contributed by Ender Ting, 20-Jan-2026.)
(𝜑𝑥 < )    &   (𝜑𝑥𝐴)       (𝜑𝑥( < Chain 𝐴))
 
19-Jan-2026r1omhf 35265 A set is hereditarily finite iff it is finite and all of its elements are hereditarily finite. (Contributed by BTernaryTau, 19-Jan-2026.)
(𝐴 (𝑅1 “ ω) ↔ (𝐴 ∈ Fin ∧ ∀𝑥𝐴 𝑥 (𝑅1 “ ω)))
 
19-Jan-2026r1filimi 35262 If all elements in a finite set appear in the cumulative hierarchy prior to a limit ordinal, then that set also appears in the cumulative hierarchy prior to the limit ordinal. (Contributed by BTernaryTau, 19-Jan-2026.)
((𝐴 ∈ Fin ∧ ∀𝑥𝐴 𝑥 (𝑅1𝐵) ∧ Lim 𝐵) → 𝐴 (𝑅1𝐵))
 
19-Jan-2026rankfilimbi 35260 If all elements in a finite well-founded set have a rank less than a limit ordinal, then the rank of that set is also less than the limit ordinal. (Contributed by BTernaryTau, 19-Jan-2026.)
(((𝐴 ∈ Fin ∧ 𝐴 (𝑅1 “ On)) ∧ (∀𝑥𝐴 (rank‘𝑥) ∈ 𝐵 ∧ Lim 𝐵)) → (rank‘𝐴) ∈ 𝐵)
 
19-Jan-2026rankval4b 35259 The rank of a set is the supremum of the successors of the ranks of its members. Exercise 9.1 of [Jech] p. 72. Also a special case of Theorem 7V(b) of [Enderton] p. 204. This variant of rankval4 9782 does not use Regularity, and so requires the assumption that 𝐴 is in the range of 𝑅1. (Contributed by BTernaryTau, 19-Jan-2026.)
(𝐴 (𝑅1 “ On) → (rank‘𝐴) = 𝑥𝐴 suc (rank‘𝑥))
 
19-Jan-2026rankval2b 35258 Value of an alternate definition of the rank function. Definition of [BellMachover] p. 478. This variant of rankval2 9733 does not use Regularity, and so requires the assumption that 𝐴 is in the range of 𝑅1. (Contributed by BTernaryTau, 19-Jan-2026.)
(𝐴 (𝑅1 “ On) → (rank‘𝐴) = {𝑥 ∈ On ∣ 𝐴 ⊆ (𝑅1𝑥)})
 
19-Jan-2026r1wf 35255 Each stage in the cumulative hierarchy is well-founded. (Contributed by BTernaryTau, 19-Jan-2026.)
(𝑅1𝐴) ∈ (𝑅1 “ On)
 
18-Jan-2026esplysply 33730 The 𝐾-th elementary symmetric polynomial is symmetric. (Contributed by Thierry Arnoux, 18-Jan-2026.)
𝐷 = { ∈ (ℕ0m 𝐼) ∣ finSupp 0}    &   (𝜑𝐼 ∈ Fin)    &   (𝜑𝑅 ∈ Ring)    &   (𝜑𝐾 ∈ (0...(♯‘𝐼)))       (𝜑 → ((𝐼eSymPoly𝑅)‘𝐾) ∈ (𝐼SymPoly𝑅))
 
18-Jan-2026esplyfv 33729 Coefficient for the 𝐾-th elementary symmetric polynomial and a bag of variables 𝐹: the coefficient is 1 for the bags of exactly 𝐾 variables, having exponent at most 1. (Contributed by Thierry Arnoux, 18-Jan-2026.)
𝐷 = { ∈ (ℕ0m 𝐼) ∣ finSupp 0}    &   (𝜑𝐼 ∈ Fin)    &   (𝜑𝑅 ∈ Ring)    &   (𝜑𝐾 ∈ (0...(♯‘𝐼)))    &   (𝜑𝐹𝐷)    &    0 = (0g𝑅)    &    1 = (1r𝑅)       (𝜑 → (((𝐼eSymPoly𝑅)‘𝐾)‘𝐹) = if((ran 𝐹 ⊆ {0, 1} ∧ (♯‘(𝐹 supp 0)) = 𝐾), 1 , 0 ))
 
18-Jan-2026esplyfv1 33728 Coefficient for the 𝐾-th elementary symmetric polynomial and a bag of variables 𝐹 where variables are not raised to a power. (Contributed by Thierry Arnoux, 18-Jan-2026.)
𝐷 = { ∈ (ℕ0m 𝐼) ∣ finSupp 0}    &   (𝜑𝐼 ∈ Fin)    &   (𝜑𝑅 ∈ Ring)    &   (𝜑𝐾 ∈ (0...(♯‘𝐼)))    &   (𝜑𝐹𝐷)    &    0 = (0g𝑅)    &    1 = (1r𝑅)    &   (𝜑 → ran 𝐹 ⊆ {0, 1})       (𝜑 → (((𝐼eSymPoly𝑅)‘𝐾)‘𝐹) = if((♯‘(𝐹 supp 0)) = 𝐾, 1 , 0 ))
 
18-Jan-2026esplymhp 33727 The 𝐾-th elementary symmetric polynomial is homogeneous of degree 𝐾. (Contributed by Thierry Arnoux, 18-Jan-2026.)
𝐷 = { ∈ (ℕ0m 𝐼) ∣ finSupp 0}    &   (𝜑𝐼 ∈ Fin)    &   (𝜑𝑅 ∈ Ring)    &   (𝜑𝐾 ∈ ℕ0)    &   𝐻 = (𝐼 mHomP 𝑅)       (𝜑 → ((𝐼eSymPoly𝑅)‘𝐾) ∈ (𝐻𝐾))
 
18-Jan-2026esplympl 33726 Elementary symmetric polynomials are polynomials. (Contributed by Thierry Arnoux, 18-Jan-2026.)
𝐷 = { ∈ (ℕ0m 𝐼) ∣ finSupp 0}    &   (𝜑𝐼 ∈ Fin)    &   (𝜑𝑅 ∈ Ring)    &   (𝜑𝐾 ∈ ℕ0)    &   𝑀 = (Base‘(𝐼 mPoly 𝑅))       (𝜑 → ((𝐼eSymPoly𝑅)‘𝐾) ∈ 𝑀)
 
18-Jan-2026esplylem 33725 Lemma for esplyfv 33729 and others. (Contributed by Thierry Arnoux, 18-Jan-2026.)
𝐷 = { ∈ (ℕ0m 𝐼) ∣ finSupp 0}    &   (𝜑𝐼 ∈ Fin)    &   (𝜑𝑅 ∈ Ring)    &   (𝜑𝐾 ∈ ℕ0)       (𝜑 → ((𝟭‘𝐼) “ {𝑐 ∈ 𝒫 𝐼 ∣ (♯‘𝑐) = 𝐾}) ⊆ 𝐷)
 
18-Jan-2026esplyfval 33722 The 𝐾-th elementary polynomial for a given index 𝐼 of variables and base ring 𝑅. (Contributed by Thierry Arnoux, 18-Jan-2026.)
𝐷 = { ∈ (ℕ0m 𝐼) ∣ finSupp 0}    &   (𝜑𝐼𝑉)    &   (𝜑𝑅𝑊)    &   (𝜑𝐾 ∈ ℕ0)       (𝜑 → ((𝐼eSymPoly𝑅)‘𝐾) = ((ℤRHom‘𝑅) ∘ ((𝟭‘𝐷)‘((𝟭‘𝐼) “ {𝑐 ∈ 𝒫 𝐼 ∣ (♯‘𝑐) = 𝐾}))))
 
18-Jan-2026esplyval 33721 The elementary polynomials for a given index 𝐼 of variables and base ring 𝑅. (Contributed by Thierry Arnoux, 18-Jan-2026.)
𝐷 = { ∈ (ℕ0m 𝐼) ∣ finSupp 0}    &   (𝜑𝐼𝑉)    &   (𝜑𝑅𝑊)       (𝜑 → (𝐼eSymPoly𝑅) = (𝑘 ∈ ℕ0 ↦ ((ℤRHom‘𝑅) ∘ ((𝟭‘𝐷)‘((𝟭‘𝐼) “ {𝑐 ∈ 𝒫 𝐼 ∣ (♯‘𝑐) = 𝑘})))))
 
18-Jan-2026issply 33720 Conditions for being a symmetric polynomial. (Contributed by Thierry Arnoux, 18-Jan-2026.)
𝑆 = (SymGrp‘𝐼)    &   𝑃 = (Base‘𝑆)    &   𝑀 = (Base‘(𝐼 mPoly 𝑅))    &   𝐷 = { ∈ (ℕ0m 𝐼) ∣ finSupp 0}    &   (𝜑𝐼𝑉)    &   (𝜑𝑅𝑊)    &   (𝜑𝐹𝑀)    &   (((𝜑𝑝𝑃) ∧ 𝑥𝐷) → (𝐹‘(𝑥𝑝)) = (𝐹𝑥))       (𝜑𝐹 ∈ (𝐼SymPoly𝑅))
 
18-Jan-2026df-esply 33717 Define elementary symmetric polynomials. (Contributed by Thierry Arnoux, 18-Jan-2026.)
eSymPoly = (𝑖 ∈ V, 𝑟 ∈ V ↦ (𝑘 ∈ ℕ0 ↦ ((ℤRHom‘𝑟) ∘ ((𝟭‘{ ∈ (ℕ0m 𝑖) ∣ finSupp 0})‘((𝟭‘𝑖) “ {𝑐 ∈ 𝒫 𝑖 ∣ (♯‘𝑐) = 𝑘})))))
 
18-Jan-2026gsumind 33420 The group sum of an indicator function of the set 𝐴 gives the size of 𝐴. (Contributed by Thierry Arnoux, 18-Jan-2026.)
(𝜑𝑂𝑉)    &   (𝜑𝐴𝑂)    &   (𝜑𝐴 ∈ Fin)       (𝜑 → (ℂfld Σg ((𝟭‘𝑂)‘𝐴)) = (♯‘𝐴))
 
18-Jan-2026indfsid 32944 Conditions for a function to be an indicator function. (Contributed by Thierry Arnoux, 18-Jan-2026.)
(𝜑𝑂𝑉)    &   (𝜑𝐹:𝑂⟶{0, 1})       (𝜑𝐹 = ((𝟭‘𝑂)‘(𝐹 supp 0)))
 
18-Jan-2026indfsd 32943 The indicator function of a finite set has finite support. (Contributed by Thierry Arnoux, 18-Jan-2026.)
(𝜑𝑂𝑉)    &   (𝜑𝐴𝑂)    &   (𝜑𝐴 ∈ Fin)       (𝜑 → ((𝟭‘𝑂)‘𝐴) finSupp 0)
 
18-Jan-2026hashimaf1 32899 Taking the image of a set by a one-to-one function does not affect size. (Contributed by Thierry Arnoux, 18-Jan-2026.)
(𝜑𝐹:𝐴1-1𝐵)    &   (𝜑𝐶𝐴)    &   (𝜑𝐴𝑉)       (𝜑 → (♯‘(𝐹𝐶)) = (♯‘𝐶))
 
18-Jan-2026pw2cut2 28468 Cut expression for powers of two. Theorem 12 of [Conway] p. 12-13. (Contributed by Scott Fenton, 18-Jan-2026.)
((𝐴 ∈ ℤs𝑁 ∈ ℕ0s) → (𝐴 /su (2ss𝑁)) = ({((𝐴 -s 1s ) /su (2ss𝑁))} |s {((𝐴 +s 1s ) /su (2ss𝑁))}))
 
18-Jan-2026pw2ltsdiv1d 28458 Surreal less-than relationship for division by a power of two. (Contributed by Scott Fenton, 18-Jan-2026.)
(𝜑𝐴 No )    &   (𝜑𝐵 No )    &   (𝜑𝑁 ∈ ℕ0s)       (𝜑 → (𝐴 <s 𝐵 ↔ (𝐴 /su (2ss𝑁)) <s (𝐵 /su (2ss𝑁))))
 
18-Jan-2026sltssnb 27775 Surreal set less-than of two singletons. (Contributed by Scott Fenton, 18-Jan-2026.)
(𝜑𝐴 No )    &   (𝜑𝐵 No )       (𝜑 → ({𝐴} <<s {𝐵} ↔ 𝐴 <s 𝐵))
 
17-Jan-2026ex-chn2 18595 Example: sequence <" ZZ NN QQ "> is a valid chain under the equinumerosity relation in universal domain. (Contributed by Ender Ting, 17-Jan-2026.)
⟨“ℤℕℚ”⟩ ∈ ( ≈ Chain V)
 
17-Jan-2026ex-chn1 18594 Example: a doubleton of twos is a valid chain under the identity relation and domain of integers. (Contributed by Ender Ting, 17-Jan-2026.)
⟨“22”⟩ ∈ ( I Chain ℤ)
 
17-Jan-2026chnflenfi 18585 There is a finite number of chains with fixed length over finite alphabet. Trivially holds for invalid lengths as there're no matching sequences. (Contributed by Ender Ting, 5-Jan-2025.) (Revised by Ender Ting, 17-Jan-2026.)
(𝐴 ∈ Fin → {𝑎 ∈ ( < Chain 𝐴) ∣ (♯‘𝑎) = 𝑇} ∈ Fin)
 
17-Jan-2026nulchn 18576 Empty set is an increasing chain for every range and every relation. (Contributed by Ender Ting, 19-Nov-2024.) (Revised by Ender Ting, 17-Jan-2026.)
∅ ∈ ( < Chain 𝐴)
 
17-Jan-2026chnexg 18575 Chains with a set given for range form a set. (Contributed by Ender Ting, 21-Nov-2024.) (Revised by Ender Ting, 17-Jan-2026.)
(𝐴𝑉 → ( < Chain 𝐴) ∈ V)
 
17-Jan-2026chneq12 18571 Equality theorem for chains. (Contributed by Ender Ting, 17-Jan-2026.)
(( < = 𝑅𝐴 = 𝐵) → ( < Chain 𝐴) = (𝑅 Chain 𝐵))
 
17-Jan-2026chneq2 18570 Equality theorem for chains. (Contributed by Ender Ting, 17-Jan-2026.)
(𝐴 = 𝐵 → ( < Chain 𝐴) = ( < Chain 𝐵))
 
17-Jan-2026chneq1 18569 Equality theorem for chains. (Contributed by Ender Ting, 17-Jan-2026.)
( < = 𝑅 → ( < Chain 𝐴) = (𝑅 Chain 𝐴))
 
15-Jan-2026r1ssel 35266 A set is a subset of the value of the cumulative hierarchy of sets function iff it is an element of the value at the successor. (Contributed by BTernaryTau, 15-Jan-2026.)
(𝐵 ∈ On → (𝐴 ⊆ (𝑅1𝐵) ↔ 𝐴 ∈ (𝑅1‘suc 𝐵)))
 
15-Jan-2026fissorduni 35249 The union (supremum) of a finite set of ordinals less than a nonzero ordinal class is an element of that ordinal class. (Contributed by BTernaryTau, 15-Jan-2026.)
((𝐴 ∈ Fin ∧ 𝐴𝐵 ∧ (Ord 𝐵𝐵 ≠ ∅)) → 𝐴𝐵)
 
15-Jan-2026splysubrg 33719 The symmetric polynomials form a subring of the ring of polynomials. (Contributed by Thierry Arnoux, 15-Jan-2026.)
𝑆 = (SymGrp‘𝐼)    &   𝑃 = (Base‘𝑆)    &   𝑀 = (Base‘(𝐼 mPoly 𝑅))    &   𝐴 = (𝑑𝑃, 𝑓𝑀 ↦ (𝑥 ∈ { ∈ (ℕ0m 𝐼) ∣ finSupp 0} ↦ (𝑓‘(𝑥𝑑))))    &   (𝜑𝐼𝑉)    &   (𝜑𝑅 ∈ Ring)       (𝜑 → (𝐼SymPoly𝑅) ∈ (SubRing‘(𝐼 mPoly 𝑅)))
 
15-Jan-2026mplvrpmrhm 33706 The action of permuting variables in a multivariate polynomial is a ring homomorphism. (Contributed by Thierry Arnoux, 15-Jan-2026.)
𝑆 = (SymGrp‘𝐼)    &   𝑃 = (Base‘𝑆)    &   𝑀 = (Base‘(𝐼 mPoly 𝑅))    &   𝐴 = (𝑑𝑃, 𝑓𝑀 ↦ (𝑥 ∈ { ∈ (ℕ0m 𝐼) ∣ finSupp 0} ↦ (𝑓‘(𝑥𝑑))))    &   (𝜑𝐼𝑉)    &   𝐹 = (𝑓𝑀 ↦ (𝐷𝐴𝑓))    &   𝑊 = (𝐼 mPoly 𝑅)    &   (𝜑𝑅 ∈ Ring)    &   (𝜑𝐷𝑃)       (𝜑𝐹 ∈ (𝑊 RingHom 𝑊))
 
15-Jan-2026cocnvf1o 32817 Composing with the inverse of a bijection. (Contributed by Thierry Arnoux, 15-Jan-2026.)
(𝜑𝐹:𝐴𝐵)    &   (𝜑𝐺:𝐴𝐵)    &   (𝜑𝐻:𝐴1-1-onto𝐴)       (𝜑 → (𝐹 = (𝐺𝐻) ↔ 𝐺 = (𝐹𝐻)))
 
15-Jan-2026ofrco 32698 Function relation between function compositions. (Contributed by Thierry Arnoux, 15-Jan-2026.)
(𝜑𝐹 Fn 𝐴)    &   (𝜑𝐺 Fn 𝐴)    &   (𝜑𝐻:𝐶𝐴)    &   (𝜑𝐴𝑉)    &   (𝜑𝐶𝑊)    &   (𝜑𝐹r 𝑅𝐺)       (𝜑 → (𝐹𝐻) ∘r 𝑅(𝐺𝐻))
 
15-Jan-2026fnfvor 32697 Relation between two functions implies the same relation for the function value at a given 𝑋. See also fnfvof 7641. (Contributed by Thierry Arnoux, 15-Jan-2026.)
(𝜑𝐹 Fn 𝐴)    &   (𝜑𝐺 Fn 𝐴)    &   (𝜑𝐴𝑉)    &   (𝜑𝐹r 𝑅𝐺)    &   (𝜑𝑋𝐴)       (𝜑 → (𝐹𝑋)𝑅(𝐺𝑋))
 
15-Jan-2026elrabrd 32583 Deduction version of elrab 3635, just like elrabd 3637, but backwards direction. (Contributed by Thierry Arnoux, 15-Jan-2026.)
(𝑥 = 𝐴 → (𝜓𝜒))    &   (𝜑𝐴 ∈ {𝑥𝐵𝜓})       (𝜑𝜒)
 
12-Jan-2026preel 38835 Predecessor is a subset of its successor. (Contributed by Peter Mazsa, 12-Jan-2026.)
(𝑁 ∈ Suc → pre 𝑁𝑁)
 
12-Jan-2026press 38834 Predecessor is a subset of its successor. (Contributed by Peter Mazsa, 12-Jan-2026.)
(𝑁 ∈ Suc → pre 𝑁𝑁)
 
12-Jan-2026presuc 38833 pre is a left-inverse of suc. This theorem gives a clean rewrite rule that eliminates pre on explicit successors. (Contributed by Peter Mazsa, 12-Jan-2026.)
(𝑀𝑉 → pre suc 𝑀 = 𝑀)
 
12-Jan-2026preuniqval 38831 Uniqueness/canonicity of pre. presucmap 38830 gives one witness; this theorem gives it is the only one. It turns any predecessor proof into an equality with pre 𝑁. (Contributed by Peter Mazsa, 12-Jan-2026.)
(𝑁 ∈ ran SucMap → ∀𝑚(𝑚 SucMap 𝑁𝑚 = pre 𝑁))
 
12-Jan-2026presucmap 38830 pre is really a predecessor (when it should be). This correctness theorem for pre makes it usable in proofs without unfolding . This theorem gives one witness; preuniqval 38831 gives it is the only one. (Contributed by Peter Mazsa, 12-Jan-2026.)
(𝑁 ∈ ran SucMap → pre 𝑁 SucMap 𝑁)
 
12-Jan-2026eupre2 38828 Unique predecessor exists on the range of the successor map. (Contributed by Peter Mazsa, 12-Jan-2026.)
(𝑁𝑉 → (𝑁 ∈ ran SucMap ↔ ∃!𝑚 𝑚 SucMap 𝑁))
 
12-Jan-2026preex 38827 The successor-predecessor exists. (Contributed by Peter Mazsa, 12-Jan-2026.)
pre 𝑁 ∈ V
 
12-Jan-2026exeupre 38826 Whenever a predecessor exists, it exists alone. (Contributed by Peter Mazsa, 12-Jan-2026.)
(𝑁𝑉 → (∃𝑚 𝑚 SucMap 𝑁 ↔ ∃!𝑚 𝑚 SucMap 𝑁))
 
12-Jan-2026dfpre3 38813 Alternate definition of the successor-predecessor. (Contributed by Peter Mazsa, 12-Jan-2026.)
(𝑁𝑉 → pre 𝑁 = (℩𝑚 suc 𝑚 = 𝑁))
 
12-Jan-2026dfpre2 38812 Alternate definition of the successor-predecessor. (Contributed by Peter Mazsa, 12-Jan-2026.)
(𝑁𝑉 → pre 𝑁 = (℩𝑚𝑚 SucMap 𝑁))
 
12-Jan-2026exeupre2 38807 Whenever a predecessor exists, it exists alone. (Contributed by Peter Mazsa, 12-Jan-2026.)
(∃𝑚 suc 𝑚 = 𝑁 ↔ ∃!𝑚 suc 𝑚 = 𝑁)
 
12-Jan-2026mopre 38806 There is at most one predecessor of 𝑁. (Contributed by Peter Mazsa, 12-Jan-2026.)
∃*𝑚 suc 𝑚 = 𝑁
 
12-Jan-2026fineqvnttrclse 35284 A counterexample demonstrating that ttrclse 9639 does not hold when all sets are finite. (Contributed by BTernaryTau, 12-Jan-2026.)
𝑅 = {⟨𝑥, 𝑦⟩ ∣ (𝑥𝐴𝑥 = suc 𝑦)}    &   𝐴 = ω       (Fin = V → (𝑅 Se 𝐴 ∧ ¬ t++(𝑅𝐴) Se 𝐴))
 
12-Jan-2026fineqvnttrclselem3 35283 Lemma for fineqvnttrclse 35284. (Contributed by BTernaryTau, 12-Jan-2026.)
𝑅 = {⟨𝑥, 𝑦⟩ ∣ (𝑥𝐴𝑥 = suc 𝑦)}    &   𝐴 = ω    &   𝐹 = (𝑣 ∈ suc suc 𝑁 {𝑑 ∈ On ∣ (𝑣 +o 𝑑) = 𝐵})       ((𝐵 ∈ (ω ∖ 1o) ∧ 𝑁𝐵) → ∀𝑎 ∈ suc 𝑁(𝐹𝑎)𝑅(𝐹‘suc 𝑎))
 
12-Jan-2026fineqvnttrclselem2 35282 Lemma for fineqvnttrclse 35284. (Contributed by BTernaryTau, 12-Jan-2026.)
𝐹 = (𝑣 ∈ suc suc 𝑁 {𝑑 ∈ On ∣ (𝑣 +o 𝑑) = 𝐵})       ((𝐵 ∈ (ω ∖ 1o) ∧ 𝑁𝐵𝐴 ∈ suc suc 𝑁) → (𝐴 +o (𝐹𝐴)) = 𝐵)
 
12-Jan-2026fineqvnttrclselem1 35281 Lemma for fineqvnttrclse 35284. (Contributed by BTernaryTau, 12-Jan-2026.)
(𝐵 ∈ (ω ∖ 1o) → {𝑑 ∈ On ∣ (𝐴 +o 𝑑) = 𝐵} ∈ ω)
 
11-Jan-2026splyval 33718 The symmetric polynomials for a given index 𝐼 of variables and base ring 𝑅. These are the fixed points of the action 𝐴 which permutes variables. (Contributed by Thierry Arnoux, 11-Jan-2026.)
𝑆 = (SymGrp‘𝐼)    &   𝑃 = (Base‘𝑆)    &   𝑀 = (Base‘(𝐼 mPoly 𝑅))    &   𝐴 = (𝑑𝑃, 𝑓𝑀 ↦ (𝑥 ∈ { ∈ (ℕ0m 𝐼) ∣ finSupp 0} ↦ (𝑓‘(𝑥𝑑))))    &   (𝜑𝐼𝑉)    &   (𝜑𝑅𝑊)       (𝜑 → (𝐼SymPoly𝑅) = (𝑀FixPts𝐴))
 
11-Jan-2026df-sply 33716 Define symmetric polynomials. See splyval 33718 for a more readable expression. (Contributed by Thierry Arnoux, 11-Jan-2026.)
SymPoly = (𝑖 ∈ V, 𝑟 ∈ V ↦ ((Base‘(𝑖 mPoly 𝑟))FixPts(𝑑 ∈ (Base‘(SymGrp‘𝑖)), 𝑓 ∈ (Base‘(𝑖 mPoly 𝑟)) ↦ (𝑥 ∈ { ∈ (ℕ0m 𝑖) ∣ finSupp 0} ↦ (𝑓‘(𝑥𝑑))))))
 
11-Jan-2026mplvrpmmhm 33705 The action of permuting variables in a multivariate polynomial is a monoid homomorphism. (Contributed by Thierry Arnoux, 11-Jan-2026.)
𝑆 = (SymGrp‘𝐼)    &   𝑃 = (Base‘𝑆)    &   𝑀 = (Base‘(𝐼 mPoly 𝑅))    &   𝐴 = (𝑑𝑃, 𝑓𝑀 ↦ (𝑥 ∈ { ∈ (ℕ0m 𝐼) ∣ finSupp 0} ↦ (𝑓‘(𝑥𝑑))))    &   (𝜑𝐼𝑉)    &   𝐹 = (𝑓𝑀 ↦ (𝐷𝐴𝑓))    &   𝑊 = (𝐼 mPoly 𝑅)    &   (𝜑𝑅 ∈ Ring)    &   (𝜑𝐷𝑃)       (𝜑𝐹 ∈ (𝑊 MndHom 𝑊))
 
11-Jan-2026mplvrpmlem 33702 Lemma for mplvrpmga 33704 and others. (Contributed by Thierry Arnoux, 11-Jan-2026.)
𝑆 = (SymGrp‘𝐼)    &   𝑃 = (Base‘𝑆)    &   (𝜑𝐼𝑉)    &   (𝜑𝐷𝑃)    &   (𝜑𝑋 ∈ { ∈ (ℕ0m 𝐼) ∣ finSupp 0})       (𝜑 → (𝑋𝐷) ∈ { ∈ (ℕ0m 𝐼) ∣ finSupp 0})
 
11-Jan-2026constcof 32709 Composition with a constant function. See also fcoconst 7081. (Contributed by Thierry Arnoux, 11-Jan-2026.)
(𝜑𝐹:𝑋𝐼)    &   (𝜑𝑌𝑉)       (𝜑 → ((𝐼 × {𝑌}) ∘ 𝐹) = (𝑋 × {𝑌}))
 
10-Jan-2026finextalg 33858 A finite field extension is algebraic. Proposition 1.1 of [Lang], p. 224. (Contributed by Thierry Arnoux, 10-Jan-2026.)
(𝜑𝐸/FinExt𝐹)       (𝜑𝐸/AlgExt𝐹)
 
10-Jan-2026bralgext 33857 Express the fact that a field extension 𝐸 / 𝐹 is algebraic. (Contributed by Thierry Arnoux, 10-Jan-2026.)
𝐵 = (Base‘𝐸)    &   𝐶 = (Base‘𝐹)    &   (𝜑𝐸𝑉)    &   (𝜑𝐹𝑉)       (𝜑 → (𝐸/AlgExt𝐹 ↔ (𝐸/FldExt𝐹 ∧ (𝐸 IntgRing 𝐶) = 𝐵)))
 
10-Jan-2026extdgfialg 33854 A finite field extension 𝐸 / 𝐹 is algebraic. Part of the proof of Proposition 1.1 of [Lang], p. 224. (Contributed by Thierry Arnoux, 10-Jan-2026.)
𝐵 = (Base‘𝐸)    &   𝐷 = (dim‘((subringAlg ‘𝐸)‘𝐹))    &   (𝜑𝐸 ∈ Field)    &   (𝜑𝐹 ∈ (SubDRing‘𝐸))    &   (𝜑𝐷 ∈ ℕ0)       (𝜑 → (𝐸 IntgRing 𝐹) = 𝐵)
 
10-Jan-2026extdgfialglem2 33853 Lemma for extdgfialg 33854. (Contributed by Thierry Arnoux, 10-Jan-2026.)
𝐵 = (Base‘𝐸)    &   𝐷 = (dim‘((subringAlg ‘𝐸)‘𝐹))    &   (𝜑𝐸 ∈ Field)    &   (𝜑𝐹 ∈ (SubDRing‘𝐸))    &   (𝜑𝐷 ∈ ℕ0)    &   𝑍 = (0g𝐸)    &    · = (.r𝐸)    &   𝐺 = (𝑛 ∈ (0...𝐷) ↦ (𝑛(.g‘(mulGrp‘((subringAlg ‘𝐸)‘𝐹)))𝑋))    &   (𝜑𝑋𝐵)    &   (𝜑𝐴:(0...𝐷)⟶𝐹)    &   (𝜑𝐴 finSupp 𝑍)    &   (𝜑 → (𝐸 Σg (𝐴f · 𝐺)) = 𝑍)    &   (𝜑𝐴 ≠ ((0...𝐷) × {𝑍}))       (𝜑𝑋 ∈ (𝐸 IntgRing 𝐹))
 
10-Jan-2026extdgfialglem1 33852 Lemma for extdgfialg 33854. (Contributed by Thierry Arnoux, 10-Jan-2026.)
𝐵 = (Base‘𝐸)    &   𝐷 = (dim‘((subringAlg ‘𝐸)‘𝐹))    &   (𝜑𝐸 ∈ Field)    &   (𝜑𝐹 ∈ (SubDRing‘𝐸))    &   (𝜑𝐷 ∈ ℕ0)    &   𝑍 = (0g𝐸)    &    · = (.r𝐸)    &   𝐺 = (𝑛 ∈ (0...𝐷) ↦ (𝑛(.g‘(mulGrp‘((subringAlg ‘𝐸)‘𝐹)))𝑋))    &   (𝜑𝑋𝐵)       (𝜑 → ∃𝑎 ∈ (𝐹m (0...𝐷))(𝑎 finSupp 𝑍 ∧ ((𝐸 Σg (𝑎f · 𝐺)) = 𝑍𝑎 ≠ ((0...𝐷) × {𝑍}))))
 
10-Jan-2026finextfldext 33824 A finite field extension is a field extension. (Contributed by Thierry Arnoux, 10-Jan-2026.)
(𝜑𝐸/FinExt𝐹)       (𝜑𝐸/FldExt𝐹)
 
10-Jan-2026srapwov 33748 The "power" operation on a subring algebra. (Contributed by Thierry Arnoux, 10-Jan-2026.)
𝐴 = ((subringAlg ‘𝑊)‘𝑆)    &   (𝜑𝑊 ∈ Ring)    &   (𝜑𝑆 ⊆ (Base‘𝑊))       (𝜑 → (.g‘(mulGrp‘𝑊)) = (.g‘(mulGrp‘𝐴)))
 
10-Jan-2026mplvrpmga 33704 The action of permuting variables in a multivariate polynomial is a group action. (Contributed by Thierry Arnoux, 10-Jan-2026.)
𝑆 = (SymGrp‘𝐼)    &   𝑃 = (Base‘𝑆)    &   𝑀 = (Base‘(𝐼 mPoly 𝑅))    &   𝐴 = (𝑑𝑃, 𝑓𝑀 ↦ (𝑥 ∈ { ∈ (ℕ0m 𝐼) ∣ finSupp 0} ↦ (𝑓‘(𝑥𝑑))))    &   (𝜑𝐼𝑉)       (𝜑𝐴 ∈ (𝑆 GrpAct 𝑀))
 
10-Jan-2026mplvrpmfgalem 33703 Permuting variables in a multivariate polynomial conserves finite support. (Contributed by Thierry Arnoux, 10-Jan-2026.)
𝑆 = (SymGrp‘𝐼)    &   𝑃 = (Base‘𝑆)    &   𝑀 = (Base‘(𝐼 mPoly 𝑅))    &   𝐴 = (𝑑𝑃, 𝑓𝑀 ↦ (𝑥 ∈ { ∈ (ℕ0m 𝐼) ∣ finSupp 0} ↦ (𝑓‘(𝑥𝑑))))    &   (𝜑𝐼𝑉)    &    0 = (0g𝑅)    &   (𝜑𝐹𝑀)    &   (𝜑𝑄𝑃)       (𝜑 → (𝑄𝐴𝐹) finSupp 0 )
 
10-Jan-2026psrbasfsupp 33687 Rewrite a finite support for nonnegative integers : For functions mapping a set 𝐼 to the nonnegative integers, having finite support can also be written as having a finite preimage of the positive integers. The latter expression is used for example in psrbas 21923, but with the former expression, theorems about finite support can be used more directly. (Contributed by Thierry Arnoux, 10-Jan-2026.)
𝐷 = {𝑓 ∈ (ℕ0m 𝐼) ∣ 𝑓 finSupp 0}       𝐷 = {𝑓 ∈ (ℕ0m 𝐼) ∣ (𝑓 “ ℕ) ∈ Fin}
 
10-Jan-2026evls1monply1 33654 Subring evaluation of a scaled monomial. (Contributed by Thierry Arnoux, 10-Jan-2026.)
𝑄 = (𝑆 evalSub1 𝑅)    &   𝐾 = (Base‘𝑆)    &   𝑊 = (Poly1𝑈)    &   𝑈 = (𝑆s 𝑅)    &   𝑋 = (var1𝑈)    &    = (.g‘(mulGrp‘𝑊))    &    = (.g‘(mulGrp‘𝑆))    &    = ( ·𝑠𝑊)    &    · = (.r𝑆)    &   (𝜑𝑆 ∈ CRing)    &   (𝜑𝑅 ∈ (SubRing‘𝑆))    &   (𝜑𝐴𝑅)    &   (𝜑𝑁 ∈ ℕ0)    &   (𝜑𝑌𝐾)       (𝜑 → ((𝑄‘(𝐴 (𝑁 𝑋)))‘𝑌) = (𝐴 · (𝑁 𝑌)))
 
10-Jan-2026fcobijfs2 32810 Composing finitely supported functions with a bijection yields a bijection between sets of finitely supported functions. See also fcobijfs 32809 and mapfien 9314. (Contributed by Thierry Arnoux, 10-Jan-2026.)
(𝜑𝐺:𝑅1-1-onto𝑆)    &   (𝜑𝑅𝑈)    &   (𝜑𝑆𝑉)    &   (𝜑𝑇𝑊)    &   (𝜑𝑂𝑇)    &   𝑋 = {𝑔 ∈ (𝑇m 𝑆) ∣ 𝑔 finSupp 𝑂}    &   𝑌 = { ∈ (𝑇m 𝑅) ∣ finSupp 𝑂}       (𝜑 → (𝑓𝑋 ↦ (𝑓𝐺)):𝑋1-1-onto𝑌)
 
10-Jan-2026f1oeq3dd 32717 Equality deduction for one-to-one onto functions. (Contributed by Thierry Arnoux, 10-Jan-2026.)
(𝜑𝐹:𝐶1-1-onto𝐴)    &   (𝜑𝐴 = 𝐵)       (𝜑𝐹:𝐶1-1-onto𝐵)
 
10-Jan-2026fconst7v 32708 An alternative way to express a constant function. (Contributed by Glauco Siliprandi, 5-Feb-2022.) Removed hyphotheses as suggested by SN (Revised by Thierry Arnoux, 10-Jan-2026.)
(𝜑𝐹 Fn 𝐴)    &   ((𝜑𝑥𝐴) → (𝐹𝑥) = 𝐵)       (𝜑𝐹 = (𝐴 × {𝐵}))
 
10-Jan-2026breq2dd 32692 Equality deduction for a binary relation. (Contributed by Thierry Arnoux, 10-Jan-2026.)
(𝜑𝐴 = 𝐵)    &   (𝜑𝐶𝑅𝐴)       (𝜑𝐶𝑅𝐵)
 
10-Jan-2026breq1dd 32691 Equality deduction for a binary relation. (Contributed by Thierry Arnoux, 10-Jan-2026.)
(𝜑𝐴 = 𝐵)    &   (𝜑𝐴𝑅𝐶)       (𝜑𝐵𝑅𝐶)
 
8-Jan-2026sucmapleftuniq 38825 Left uniqueness of the successor mapping. (Contributed by Peter Mazsa, 8-Jan-2026.)
((𝐿𝑉𝑀𝑊𝑁𝑋) → ((𝐿 SucMap 𝑁𝑀 SucMap 𝑁) → 𝐿 = 𝑀))
 
7-Jan-2026sucmapsuc 38824 A set is succeeded by its successor. (Contributed by Peter Mazsa, 7-Jan-2026.)
(𝑀𝑉𝑀 SucMap suc 𝑀)
 
7-Jan-2026dmsucmap 38803 The domain of the successor map is the universe. (Contributed by Peter Mazsa, 7-Jan-2026.)
dom SucMap = V
 
7-Jan-2026relsucmap 38802 The successor map is a relation. (Contributed by Peter Mazsa, 7-Jan-2026.)
Rel SucMap
 
6-Jan-2026brsucmap 38801 Binary relation form of the successor map, general version. (Contributed by Peter Mazsa, 6-Jan-2026.)
((𝑀𝑉𝑁𝑊) → (𝑀 SucMap 𝑁 ↔ suc 𝑀 = 𝑁))
 
6-Jan-2026dfsuccf2 36139 Alternate definition of Scott Fenton's version of Succ, cf. df-sucmap 38797. (Contributed by Peter Mazsa, 6-Jan-2026.)
Succ = {⟨𝑚, 𝑛⟩ ∣ suc 𝑚 = 𝑛}
 
1-Jan-2026rightge0 27827 A surreal is non-negative iff all its right options are positive. (Contributed by Scott Fenton, 1-Jan-2026.)
(𝜑𝐴 <<s 𝐵)    &   (𝜑𝑋 = (𝐴 |s 𝐵))       (𝜑 → ( 0s ≤s 𝑋 ↔ ∀𝑥𝑅𝐵 0s <s 𝑥𝑅))
 
31-Dec-2025tz9.1regs 35294 Every set has a transitive closure (the smallest transitive extension). This version of tz9.1 9641 depends on ax-regs 35286 instead of ax-reg 9500 and ax-inf2 9553. This suggests a possible answer to the third question posed in tz9.1 9641, namely that the missing property is that countably infinite classes must obey regularity. In ZF set theory we can prove this by showing that countably infinite classes are sets and thus ax-reg 9500 applies to them directly, but in a finitist context it seems that an axiom like ax-regs 35286 is required since countably infinite classes are proper classes.

A related candidate for the missing property is the non-existence of infinite descending -chains, proven as noinfep 9572 using ax-reg 9500 and ax-inf2 9553 and as noinfepregs 35293 using ax-regs 35286. If all sets are finite, then the existence of such a chain implies there is a set which does not have a transitive closure, as shown in fineqvinfep 35285. (Contributed by BTernaryTau, 31-Dec-2025.)

𝐴 ∈ V       𝑥(𝐴𝑥 ∧ Tr 𝑥 ∧ ∀𝑦((𝐴𝑦 ∧ Tr 𝑦) → 𝑥𝑦))
 
31-Dec-2025setinds2regs 35291 Principle of set induction (or E-induction). If a property passes from all elements of 𝑥 to 𝑥 itself, then it holds for all 𝑥. (Contributed by BTernaryTau, 31-Dec-2025.)
(𝑥 = 𝑦 → (𝜑𝜓))    &   (∀𝑦𝑥 𝜓𝜑)       𝜑
 
31-Dec-2025nelaneq 9509 A class is not an element of and equal to a class at the same time. Variant of elneq 9508 analogously to elnotel 9522 and en2lp 9518. (Proposed by BJ, 18-Jun-2022.) (Contributed by AV, 18-Jun-2022.) (Proof shortened by TM, 31-Dec-2025.)
¬ (𝐴𝐵𝐴 = 𝐵)
 
31-Dec-2025zfregcl 9502 The Axiom of Regularity with class variables. (Contributed by NM, 5-Aug-1994.) Replace sethood hypothesis with sethood antecedent. (Revised by BJ, 27-Apr-2021.) Avoid ax-10 2147 and ax-12 2185. (Revised by TM, 31-Dec-2025.)
(𝐴𝑉 → (∃𝑥 𝑥𝐴 → ∃𝑥𝐴𝑦𝑥 ¬ 𝑦𝐴))
 
31-Dec-2025dmcosseq 5927 Domain of a composition. (Contributed by NM, 28-May-1998.) (Proof shortened by Andrew Salmon, 27-Aug-2011.) Avoid ax-11 2163. (Revised by BTernaryTau, 23-Jun-2025.) Avoid ax-10 2147 and ax-12 2185. (Revised by TM, 31-Dec-2025.)
(ran 𝐵 ⊆ dom 𝐴 → dom (𝐴𝐵) = dom 𝐵)
 
31-Dec-2025dmcoss 5924 Domain of a composition. Theorem 21 of [Suppes] p. 63. (Contributed by NM, 19-Mar-1998.) (Proof shortened by Andrew Salmon, 27-Aug-2011.) Avoid ax-10 2147 and ax-12 2185. (Revised by TM, 31-Dec-2025.)
dom (𝐴𝐵) ⊆ dom 𝐵
 
30-Dec-2025grlimedgnedg 48619 In general, the image of an edge of a graph by a local isomprphism is not an edge of the other graph, proven by an example (see gpg5edgnedg 48618). This theorem proves that the analogon (((𝐺 ∈ USPGraph ∧ 𝐻 ∈ USPGraph) ∧ (𝐹 ∈ (𝐺 GraphLocIso 𝐻) 𝐾𝐼)) → (𝐹𝐾) ∈ 𝐸) of grimedgi 48424 for ordinarily isomorphic graphs does not hold in general. (Contributed by AV, 30-Dec-2025.)
𝑔 ∈ USGraph ∃ ∈ USGraph ∃𝑓 ∈ (𝑔 GraphLocIso )∃𝑎 ∈ (Vtx‘𝑔)∃𝑏 ∈ (Vtx‘𝑔)({𝑎, 𝑏} ∈ (Edg‘𝑔) ∧ {(𝑓𝑎), (𝑓𝑏)} ∉ (Edg‘))
 
30-Dec-2025grimedgi 48424 Graph isomorphisms map edges onto the corresponding edges. (Contributed by AV, 30-Dec-2025.)
𝑉 = (Vtx‘𝐺)    &   𝐼 = (Edg‘𝐺)    &   𝐸 = (Edg‘𝐻)       ((𝐺 ∈ UHGraph ∧ 𝐻 ∈ UHGraph ∧ 𝐹 ∈ (𝐺 GraphIso 𝐻)) → (𝐾𝐼 → (𝐹𝐾) ∈ 𝐸))
 
30-Dec-2025fineqvr1ombregs 35298 All sets are finite iff all sets are hereditarily finite. (Contributed by BTernaryTau, 30-Dec-2025.)
(Fin = V ↔ (𝑅1 “ ω) = V)
 
30-Dec-2025unir1regs 35295 The cumulative hierarchy of sets covers the universe. This version of unir1 9728 replaces setind 9659 with setindregs 35290. (Contributed by BTernaryTau, 30-Dec-2025.)
(𝑅1 “ On) = V
 
30-Dec-2025setindregs 35290 Set (epsilon) induction. This version of setind 9659 replaces zfregs 9644 with axregszf 35289. (Contributed by BTernaryTau, 30-Dec-2025.)
(∀𝑥(𝑥𝐴𝑥𝐴) → 𝐴 = V)
 
30-Dec-2025axregszf 35289 Derivation of zfregs 9644 using ax-regs 35286. (Contributed by BTernaryTau, 30-Dec-2025.)
(𝐴 ≠ ∅ → ∃𝑥𝐴 (𝑥𝐴) = ∅)
 
30-Dec-2025axregscl 35288 A version of ax-regs 35286 with a class variable instead of a wff variable. Axiom D in Gödel, The Consistency of the Axiom of Choice and of the Generalized Continuum Hypothesis with the Axioms of Set Theory (1940), p. 6. (Contributed by BTernaryTau, 30-Dec-2025.)
(∃𝑥 𝑥𝐴 → ∃𝑦(𝑦𝐴 ∧ ∀𝑧(𝑧𝑦 → ¬ 𝑧𝐴)))
 
30-Dec-2025axreg 35287 Derivation of ax-reg 9500 from ax-regs 35286 and Tarski's FOL axiom schemes. This demonstrates the sense in which ax-regs 35286 is a stronger version of ax-reg 9500. (Contributed by BTernaryTau, 30-Dec-2025.)
(∃𝑦 𝑦𝑥 → ∃𝑦(𝑦𝑥 ∧ ∀𝑧(𝑧𝑦 → ¬ 𝑧𝑥)))
 
30-Dec-2025fineqvomon 35278 If all sets are finite, then the class of all natural numbers equals the proper class of all ordinal numbers. (Contributed by BTernaryTau, 30-Dec-2025.)
(Fin = V → ω = On)
 
30-Dec-2025r1omfi 35264 Hereditarily finite sets are finite sets. (Contributed by BTernaryTau, 30-Dec-2025.)
(𝑅1 “ ω) ⊆ Fin
 
30-Dec-2025r1elcl 35257 Each set of the cumulative hierarchy is closed under membership. (Contributed by BTernaryTau, 30-Dec-2025.)
((𝐴 ∈ (𝑅1𝐵) ∧ 𝐶𝐴) → 𝐶 ∈ (𝑅1𝐵))
 
30-Dec-2025elwf 35256 An element of a well-founded set is well-founded. (Contributed by BTernaryTau, 30-Dec-2025.)
((𝐴 (𝑅1 “ On) ∧ 𝐵𝐴) → 𝐵 (𝑅1 “ On))
 
29-Dec-2025gpg5edgnedg 48618 Two consecutive (according to the numbering) inside vertices of the Petersen graph G(5,2) are not connected by an edge, but are connected by an edge in a 5-prism G(5,1). (Contributed by AV, 29-Dec-2025.)
({⟨1, 0⟩, ⟨1, 1⟩} ∈ (Edg‘(5 gPetersenGr 1)) ∧ {⟨1, 0⟩, ⟨1, 1⟩} ∉ (Edg‘(5 gPetersenGr 2)))
 
29-Dec-2025axregs 35299 Derivation of ax-regs 35286 from the axioms of ZF set theory. (Contributed by BTernaryTau, 29-Dec-2025.)
(∃𝑥𝜑 → ∃𝑦(∀𝑥(𝑥 = 𝑦𝜑) ∧ ∀𝑧(𝑧𝑦 → ¬ ∀𝑥(𝑥 = 𝑧𝜑))))
 
29-Dec-2025ax-regs 35286 A strong version of the Axiom of Regularity. It states that if there exists a set with property 𝜑, then there must exist a set with property 𝜑 such that none of its elements have property 𝜑. This axiom can be derived from the axioms of ZF set theory as shown in axregs 35299, but this derivation relies on ax-inf2 9553 and is thus not possible in a finitist context. (Contributed by BTernaryTau, 29-Dec-2025.)
(∃𝑥𝜑 → ∃𝑦(∀𝑥(𝑥 = 𝑦𝜑) ∧ ∀𝑧(𝑧𝑦 → ¬ ∀𝑥(𝑥 = 𝑧𝜑))))
 
29-Dec-2025optocl 5718 Implicit substitution of class for ordered pair. (Contributed by NM, 5-Mar-1995.) Shorten and reduce axiom usage. (Revised by TM, 29-Dec-2025.)
𝐷 = (𝐵 × 𝐶)    &   (⟨𝑥, 𝑦⟩ = 𝐴 → (𝜑𝜓))    &   ((𝑥𝐵𝑦𝐶) → 𝜑)       (𝐴𝐷𝜓)
 
28-Dec-2025gpg5grlim 48581 A local isomorphism between the two generalized Petersen graphs G(N,K) of order 10 (𝑁 = 5), which are the Petersen graph G(5,2) and the 5-prism G(5,1). (Contributed by AV, 28-Dec-2025.)
( I ↾ ({0, 1} × (0..^5))) ∈ ((5 gPetersenGr 1) GraphLocIso (5 gPetersenGr 2))
 
28-Dec-2025clnbgr3stgrgrlim 48507 If all (closed) neighborhoods of the vertices in two simple graphs with the same order induce a subgraph which is isomorphic to an 𝑁-star, then any bijection between the vertices is a local isomorphism between the two graphs. (Contributed by AV, 28-Dec-2025.)
𝑁 ∈ ℕ0    &   𝑉 = (Vtx‘𝐺)    &   𝑊 = (Vtx‘𝐻)       (((𝐺 ∈ USGraph ∧ 𝐻 ∈ USGraph ∧ 𝐹:𝑉1-1-onto𝑊) ∧ ∀𝑥𝑉 (𝐺 ISubGr (𝐺 ClNeighbVtx 𝑥)) ≃𝑔𝑟 (StarGr‘𝑁) ∧ ∀𝑦𝑊 (𝐻 ISubGr (𝐻 ClNeighbVtx 𝑦)) ≃𝑔𝑟 (StarGr‘𝑁)) → 𝐹 ∈ (𝐺 GraphLocIso 𝐻))
 
28-Dec-2025grlimgredgex 48488 Local isomorphisms between simple pseudographs map an edge onto an edge with an endpoint being the image of one of the endpoints of the first edge under the local isomorphism. (Contributed by AV, 28-Dec-2025.)
𝐼 = (Edg‘𝐺)    &   𝐸 = (Edg‘𝐻)    &   𝑉 = (Vtx‘𝐻)    &   (𝜑𝐴𝑋)    &   (𝜑𝐵𝑌)    &   (𝜑 → {𝐴, 𝐵} ∈ 𝐼)    &   (𝜑𝐺 ∈ USPGraph)    &   (𝜑𝐻 ∈ USPGraph)    &   (𝜑𝐹 ∈ (𝐺 GraphLocIso 𝐻))       (𝜑 → ∃𝑣𝑉 {(𝐹𝐴), 𝑣} ∈ 𝐸)
 
28-Dec-2025grlimprclnbgrvtx 48487 For two locally isomorphic graphs 𝐺 and 𝐻 and a vertex 𝐴 of 𝐺 there is a bijection 𝑓 mapping the closed neighborhood 𝑁 of 𝐴 onto the closed neighborhood 𝑀 of (𝐹𝐴), so that the mapped vertices of an edge {𝐴, 𝐵} containing the vertex 𝐴 is an edge between the vertices in 𝑀 containing the vertex (𝐹𝐴). (Contributed by AV, 28-Dec-2025.)
𝑁 = (𝐺 ClNeighbVtx 𝐴)    &   𝐼 = (Edg‘𝐺)    &   𝐾 = {𝑥𝐼𝑥𝑁}    &   𝑀 = (𝐻 ClNeighbVtx (𝐹𝐴))    &   𝐽 = (Edg‘𝐻)    &   𝐿 = {𝑥𝐽𝑥𝑀}       (((𝐺 ∈ USPGraph ∧ 𝐻 ∈ USPGraph) ∧ 𝐹 ∈ (𝐺 GraphLocIso 𝐻) ∧ (𝐴𝑉𝐵𝑊 ∧ {𝐴, 𝐵} ∈ 𝐼)) → ∃𝑓(𝑓:𝑁1-1-onto𝑀 ∧ ({(𝐹𝐴), (𝑓𝐵)} ∈ 𝐿 ∨ {(𝐹𝐴), (𝑓𝐴)} ∈ 𝐿)))
 
28-Dec-2025clnbupgreli 48323 A member of the closed neighborhood of a vertex in a pseudograph. (Contributed by AV, 28-Dec-2025.)
𝐸 = (Edg‘𝐺)       ((𝐺 ∈ UPGraph ∧ 𝑁 ∈ (𝐺 ClNeighbVtx 𝐾)) → (𝑁 = 𝐾 ∨ {𝑁, 𝐾} ∈ 𝐸))
 
28-Dec-2025elirrvALT 9517 Alternate proof of elirrv 9505, shorter but using more axioms. (Contributed by BTernaryTau, 28-Dec-2025.) (Proof modification is discouraged.) (New usage is discouraged.)
¬ 𝑥𝑥
 
27-Dec-2025grlimgrtrilem1 48489 Lemma 3 for grlimgrtri 48491. (Contributed by AV, 24-Aug-2025.) (Proof shortened by AV, 27-Dec-2025.)
𝑉 = (Vtx‘𝐺)    &   𝑁 = (𝐺 ClNeighbVtx 𝑎)    &   𝐼 = (Edg‘𝐺)    &   𝐾 = {𝑥𝐼𝑥𝑁}       ((𝐺 ∈ UHGraph ∧ ({𝑎, 𝑏} ∈ 𝐼 ∧ {𝑎, 𝑐} ∈ 𝐼 ∧ {𝑏, 𝑐} ∈ 𝐼)) → ({𝑎, 𝑏} ∈ 𝐾 ∧ {𝑎, 𝑐} ∈ 𝐾 ∧ {𝑏, 𝑐} ∈ 𝐾))
 
27-Dec-2025grlimpredg 48486 For two locally isomorphic graphs 𝐺 and 𝐻 and a vertex 𝐴 of 𝐺 there is a bijection 𝑓 mapping the closed neighborhood 𝑁 of 𝐴 onto the closed neighborhood 𝑀 of (𝐹𝐴), so that the mapped vertices of an edge {𝐴, 𝐵} containing the vertex 𝐴 is an edge in 𝐻. (Contributed by AV, 27-Dec-2025.)
𝑁 = (𝐺 ClNeighbVtx 𝐴)    &   𝐼 = (Edg‘𝐺)    &   𝐾 = {𝑥𝐼𝑥𝑁}    &   𝑀 = (𝐻 ClNeighbVtx (𝐹𝐴))    &   𝐽 = (Edg‘𝐻)    &   𝐿 = {𝑥𝐽𝑥𝑀}       (((𝐺 ∈ USPGraph ∧ 𝐻 ∈ USPGraph) ∧ 𝐹 ∈ (𝐺 GraphLocIso 𝐻) ∧ (𝐴𝑉𝐵𝑊 ∧ {𝐴, 𝐵} ∈ 𝐼)) → ∃𝑓(𝑓:𝑁1-1-onto𝑀 ∧ {(𝑓𝐴), (𝑓𝐵)} ∈ 𝐽))
 
27-Dec-2025grlimprclnbgredg 48485 For two locally isomorphic graphs 𝐺 and 𝐻 and a vertex 𝐴 of 𝐺 there is a bijection 𝑓 mapping the closed neighborhood 𝑁 of 𝐴 onto the closed neighborhood 𝑀 of (𝐹𝐴), so that the mapped vertices of an edge {𝐴, 𝐵} containing the vertex 𝐴 is an edge between the vertices in 𝑀. (Contributed by AV, 27-Dec-2025.)
𝑁 = (𝐺 ClNeighbVtx 𝐴)    &   𝐼 = (Edg‘𝐺)    &   𝐾 = {𝑥𝐼𝑥𝑁}    &   𝑀 = (𝐻 ClNeighbVtx (𝐹𝐴))    &   𝐽 = (Edg‘𝐻)    &   𝐿 = {𝑥𝐽𝑥𝑀}       (((𝐺 ∈ USPGraph ∧ 𝐻 ∈ USPGraph) ∧ 𝐹 ∈ (𝐺 GraphLocIso 𝐻) ∧ (𝐴𝑉𝐵𝑊 ∧ {𝐴, 𝐵} ∈ 𝐼)) → ∃𝑓(𝑓:𝑁1-1-onto𝑀 ∧ {(𝑓𝐴), (𝑓𝐵)} ∈ 𝐿))
 
27-Dec-2025elirrv 9505 The membership relation is irreflexive: no set is a member of itself. Theorem 105 of [Suppes] p. 54. This is trivial to prove from zfregfr 9516 and efrirr 5604 (see elirrvALT 9517), but this proof is direct from ax-reg 9500. (Contributed by NM, 19-Aug-1993.) Reduce axiom dependencies and make use of ax-reg 9500 directly. (Revised by BTernaryTau, 27-Dec-2025.)
¬ 𝑥𝑥
 
25-Dec-2025grlimprclnbgr 48484 For two locally isomorphic graphs 𝐺 and 𝐻 and a vertex 𝐴 of 𝐺 there are two bijections 𝑓 and 𝑔 mapping the closed neighborhood 𝑁 of 𝐴 onto the closed neighborhood 𝑀 of (𝐹𝐴) and the edges between the vertices in 𝑁 onto the edges between the vertices in 𝑀, so that the mapped vertices of an edge {𝐴, 𝐵} containing the vertex 𝐴 is an edge between the vertices in 𝑀. (Contributed by AV, 25-Dec-2025.)
𝑁 = (𝐺 ClNeighbVtx 𝐴)    &   𝐼 = (Edg‘𝐺)    &   𝐾 = {𝑥𝐼𝑥𝑁}    &   𝑀 = (𝐻 ClNeighbVtx (𝐹𝐴))    &   𝐽 = (Edg‘𝐻)    &   𝐿 = {𝑥𝐽𝑥𝑀}       (((𝐺 ∈ USPGraph ∧ 𝐻 ∈ USPGraph) ∧ 𝐹 ∈ (𝐺 GraphLocIso 𝐻) ∧ (𝐴𝑉𝐵𝑊 ∧ {𝐴, 𝐵} ∈ 𝐼)) → ∃𝑓𝑔(𝑓:𝑁1-1-onto𝑀𝑔:𝐾1-1-onto𝐿 ∧ {(𝑓𝐴), (𝑓𝐵)} = (𝑔‘{𝐴, 𝐵})))
 
25-Dec-2025grlimedgclnbgr 48483 For two locally isomorphic graphs 𝐺 and 𝐻 and a vertex 𝐴 of 𝐺 there are two bijections 𝑓 and 𝑔 mapping the closed neighborhood 𝑁 of 𝐴 onto the closed neighborhood 𝑀 of (𝐹𝐴) and the edges between the vertices in 𝑁 onto the edges between the vertices in 𝑀, so that the mapped vertices of an edge 𝐸 containing the vertex 𝐴 is an edge between the vertices in 𝑀. (Contributed by AV, 25-Dec-2025.)
𝑁 = (𝐺 ClNeighbVtx 𝐴)    &   𝐼 = (Edg‘𝐺)    &   𝐾 = {𝑥𝐼𝑥𝑁}    &   𝑀 = (𝐻 ClNeighbVtx (𝐹𝐴))    &   𝐽 = (Edg‘𝐻)    &   𝐿 = {𝑥𝐽𝑥𝑀}       (((𝐺 ∈ USPGraph ∧ 𝐻 ∈ USPGraph) ∧ 𝐹 ∈ (𝐺 GraphLocIso 𝐻) ∧ (𝐸𝐼𝐴𝐸)) → ∃𝑓𝑔(𝑓:𝑁1-1-onto𝑀𝑔:𝐾1-1-onto𝐿 ∧ (𝑓𝐸) = (𝑔𝐸)))
 
25-Dec-2025clnbgrvtxedg 48482 An edge 𝐸 containing a vertex 𝐴 is an edge in the closed neighborhood of this vertex 𝐴. (Contributed by AV, 25-Dec-2025.)
𝑁 = (𝐺 ClNeighbVtx 𝐴)    &   𝐼 = (Edg‘𝐺)    &   𝐾 = {𝑥𝐼𝑥𝑁}       ((𝐺 ∈ UHGraph ∧ 𝐸𝐼𝐴𝐸) → 𝐸𝐾)
 
23-Dec-2025zsoring 28415 The surreal integers form an ordered ring. Note that we have to restrict the operations here since No is a proper class. (Contributed by Scott Fenton, 23-Dec-2025.)
s = (Base‘𝐾)    &   ( +s ↾ (ℤs × ℤs)) = (+g𝐾)    &   ( ·s ↾ (ℤs × ℤs)) = (.r𝐾)    &   ( ≤s ∩ (ℤs × ℤs)) = (le‘𝐾)    &    0s = (0g𝐾)       𝐾 ∈ oRing
 
12-Dec-2025z12subscl 28485 The dyadics are closed under subtraction. (Contributed by Scott Fenton, 12-Dec-2025.)
((𝐴 ∈ ℤs[1/2] ∧ 𝐵 ∈ ℤs[1/2]) → (𝐴 -s 𝐵) ∈ ℤs[1/2])
 
11-Dec-2025z12shalf 28486 Half of a dyadic is a dyadic. (Contributed by Scott Fenton, 11-Dec-2025.)
(𝐴 ∈ ℤs[1/2] → (𝐴 /su 2s) ∈ ℤs[1/2])
 
11-Dec-2025z12addscl 28483 The dyadics are closed under addition. (Contributed by Scott Fenton, 11-Dec-2025.)
((𝐴 ∈ ℤs[1/2] ∧ 𝐵 ∈ ℤs[1/2]) → (𝐴 +s 𝐵) ∈ ℤs[1/2])
 
11-Dec-2025z12no 28482 A dyadic is a surreal. (Contributed by Scott Fenton, 11-Dec-2025.)
(𝐴 ∈ ℤs[1/2] → 𝐴 No )
 
11-Dec-2025avglts2d 28460 Ordering property for average. (Contributed by Scott Fenton, 11-Dec-2025.)
(𝜑𝐴 No )    &   (𝜑𝐵 No )       (𝜑 → (𝐴 <s 𝐵 ↔ ((𝐴 +s 𝐵) /su 2s) <s 𝐵))
 
11-Dec-2025avglts1d 28459 Ordering property for average. (Contributed by Scott Fenton, 11-Dec-2025.)
(𝜑𝐴 No )    &   (𝜑𝐵 No )       (𝜑 → (𝐴 <s 𝐵𝐴 <s ((𝐴 +s 𝐵) /su 2s)))
 
11-Dec-2025pw2ltmuldivs2d 28457 Surreal less-than relationship between division and multiplication for powers of two. (Contributed by Scott Fenton, 11-Dec-2025.)
(𝜑𝐴 No )    &   (𝜑𝐵 No )    &   (𝜑𝑁 ∈ ℕ0s)       (𝜑 → (((2ss𝑁) ·s 𝐴) <s 𝐵𝐴 <s (𝐵 /su (2ss𝑁))))
 
11-Dec-2025pw2ltdivmulsd 28456 Surreal less-than relationship between division and multiplication for powers of two. (Contributed by Scott Fenton, 11-Dec-2025.)
(𝜑𝐴 No )    &   (𝜑𝐵 No )    &   (𝜑𝑁 ∈ ℕ0s)       (𝜑 → ((𝐴 /su (2ss𝑁)) <s 𝐵𝐴 <s ((2ss𝑁) ·s 𝐵)))
 
11-Dec-2025pw2divscan4d 28450 Cancellation law for divison by powers of two. (Contributed by Scott Fenton, 11-Dec-2025.)
(𝜑𝐴 No )    &   (𝜑𝑁 ∈ ℕ0s)    &   (𝜑𝑀 ∈ ℕ0s)       (𝜑 → (𝐴 /su (2ss𝑁)) = (((2ss𝑀) ·s 𝐴) /su (2ss(𝑁 +s 𝑀))))
 
11-Dec-2025pw2divsassd 28449 An associative law for division by powers of two. (Contributed by Scott Fenton, 11-Dec-2025.)
(𝜑𝐴 No )    &   (𝜑𝐵 No )    &   (𝜑𝑁 ∈ ℕ0s)       (𝜑 → ((𝐴 ·s 𝐵) /su (2ss𝑁)) = (𝐴 ·s (𝐵 /su (2ss𝑁))))
 
11-Dec-2025zexpscl 28440 Closure law for surreal integer exponentiation. (Contributed by Scott Fenton, 11-Dec-2025.)
((𝐴 ∈ ℤs𝑁 ∈ ℕ0s) → (𝐴s𝑁) ∈ ℤs)
 
11-Dec-2025nobdaymin 27759 Any non-empty class of surreals has a birthday-minimal element. (Contributed by Scott Fenton, 11-Dec-2025.)
((𝐴 No 𝐴 ≠ ∅) → ∃𝑥𝐴 ( bday 𝑥) = ( bday 𝐴))
 
10-Dec-2025sinnpoly 47351 Sine function is not a polynomial with complex coefficients. Indeed, it has infinitely many zeros but is not constant zero, contrary to fta1 26285. (Contributed by Ender Ting, 10-Dec-2025.)
¬ sin ∈ (Poly‘ℂ)
 
10-Dec-2025tannpoly 47350 The tangent function is not a polynomial with complex coefficients, as it is not defined on the whole complex plane. (Contributed by Ender Ting, 10-Dec-2025.)
¬ tan ∈ (Poly‘ℂ)
 
8-Dec-2025cjnpoly 47349 Complex conjugation operator is not a polynomial with complex coefficients. Indeed; if it was, then multiplying 𝑥 conjugate by 𝑥 itself and adding 1 would yield a nowhere-zero non-constant polynomial, contrary to the fta 27057. (Contributed by Ender Ting, 8-Dec-2025.)
¬ ∗ ∈ (Poly‘ℂ)
 
6-Dec-2025vonf1owev 35306 If 𝐹 is a bijection from the universe to the ordinals, then 𝑅 well-orders the universe. This is the ZFC version of (2 3) in https://tinyurl.com/hamkins-gblac. (Contributed by BTernaryTau, 6-Dec-2025.)
𝑅 = {⟨𝑥, 𝑦⟩ ∣ (𝐹𝑥) ∈ (𝐹𝑦)}       (𝐹:V–1-1-onto→On → 𝑅 We V)
 
5-Dec-2025antnestALT 35892 Alternative proof of antnest 35887 from the valid schema ((((⊤ → 𝜑) → 𝜑) → 𝜓) → 𝜓) using laws of nested antecedents. Our proof uses only the laws antnestlaw1 35889 and antnestlaw3 35891. (Contributed by Adrian Ducourtial, 5-Dec-2025.) (Proof modification is discouraged.) (New usage is discouraged.)
((((((⊤ → 𝜑) → 𝜓) → 𝜓) → 𝜑) → 𝜓) → 𝜓)
 
5-Dec-2025antnestlaw3 35891 A law of nested antecedents. Compare with looinv 203. (Contributed by Adrian Ducourtial, 5-Dec-2025.)
((((𝜑𝜓) → 𝜒) → 𝜒) ↔ (((𝜑𝜒) → 𝜓) → 𝜓))
 
5-Dec-2025antnestlaw2 35890 A law of nested antecedents. (Contributed by Adrian Ducourtial, 5-Dec-2025.)
((((𝜑𝜓) → 𝜓) → 𝜒) ↔ (((𝜑𝜒) → 𝜓) → 𝜒))
 
5-Dec-2025antnestlaw1 35889 A law of nested antecedents. The converse direction is a subschema of pm2.27 42. (Contributed by Adrian Ducourtial, 5-Dec-2025.)
((((𝜑𝜓) → 𝜓) → 𝜓) ↔ (𝜑𝜓))
 
5-Dec-2025antnestlaw3lem 35888 Lemma for antnestlaw3 35891. (Contributed by Adrian Ducourtial, 5-Dec-2025.)
(¬ (((𝜑𝜓) → 𝜒) → 𝜒) → ¬ (((𝜑𝜒) → 𝜓) → 𝜓))
 
5-Dec-2025onvf1od 35305 If 𝐺 is a global choice function, then 𝐹 is a bijection from the ordinals to the universe. This is the ZFC version of (1 2) in https://tinyurl.com/hamkins-gblac. (Contributed by BTernaryTau, 5-Dec-2025.)
(𝜑 → ∀𝑧(𝑧 ≠ ∅ → (𝐺𝑧) ∈ 𝑧))    &   𝑀 = {𝑥 ∈ On ∣ ∃𝑦 ∈ (𝑅1𝑥) ¬ 𝑦 ∈ ran 𝑤}    &   𝑁 = (𝐺‘((𝑅1𝑀) ∖ ran 𝑤))    &   𝐹 = recs((𝑤 ∈ V ↦ 𝑁))       (𝜑𝐹:On–1-1-onto→V)
 
5-Dec-2025z12zsodd 28488 A dyadic fraction is either an integer or an odd number divided by a positive power of two. (Contributed by Scott Fenton, 5-Dec-2025.)
(𝐴 ∈ ℤs[1/2] → (𝐴 ∈ ℤs ∨ ∃𝑥 ∈ ℤs𝑦 ∈ ℕs 𝐴 = (((2s ·s 𝑥) +s 1s ) /su (2ss𝑦))))
 
5-Dec-2025ltsrecd 27808 A comparison law for surreals considered as cuts of sets of surreals. (Contributed by Scott Fenton, 5-Dec-2025.)
(𝜑𝐴 <<s 𝐵)    &   (𝜑𝐶 <<s 𝐷)    &   (𝜑𝑋 = (𝐴 |s 𝐵))    &   (𝜑𝑌 = (𝐶 |s 𝐷))       (𝜑 → (𝑋 <s 𝑌 ↔ (∃𝑐𝐶 𝑋 ≤s 𝑐 ∨ ∃𝑏𝐵 𝑏 ≤s 𝑌)))
 
5-Dec-2025lesrecd 27806 A comparison law for surreals considered as cuts of sets of surreals. Definition from [Conway] p. 4. Theorem 4 of [Alling] p. 186. Theorem 2.5 of [Gonshor] p. 9. (Contributed by Scott Fenton, 5-Dec-2025.)
(𝜑𝐴 <<s 𝐵)    &   (𝜑𝐶 <<s 𝐷)    &   (𝜑𝑋 = (𝐴 |s 𝐵))    &   (𝜑𝑌 = (𝐶 |s 𝐷))       (𝜑 → (𝑋 ≤s 𝑌 ↔ (∀𝑑𝐷 𝑋 <s 𝑑 ∧ ∀𝑎𝐴 𝑎 <s 𝑌)))
 
4-Dec-2025onvf1odlem4 35304 Lemma for onvf1od 35305. If the range of 𝐹 does not exist, then it must equal the universe. (Contributed by BTernaryTau, 4-Dec-2025.)
(𝜑 → ∀𝑧(𝑧 ≠ ∅ → (𝐺𝑧) ∈ 𝑧))    &   𝑀 = {𝑥 ∈ On ∣ ∃𝑦 ∈ (𝑅1𝑥) ¬ 𝑦 ∈ ran 𝑤}    &   𝑁 = (𝐺‘((𝑅1𝑀) ∖ ran 𝑤))    &   𝐹 = recs((𝑤 ∈ V ↦ 𝑁))    &   𝐵 = {𝑢 ∈ On ∣ ∃𝑣 ∈ (𝑅1𝑢) ¬ 𝑣 ∈ (𝐹𝑡)}    &   𝐶 = (𝐺‘((𝑅1𝐵) ∖ (𝐹𝑡)))       (𝜑 → (¬ ran 𝐹 ∈ V → ran 𝐹 = V))
 
2-Dec-2025onvf1odlem3 35303 Lemma for onvf1od 35305. The value of 𝐹 at an ordinal 𝐴. (Contributed by BTernaryTau, 2-Dec-2025.)
𝑀 = {𝑥 ∈ On ∣ ∃𝑦 ∈ (𝑅1𝑥) ¬ 𝑦 ∈ ran 𝑤}    &   𝑁 = (𝐺‘((𝑅1𝑀) ∖ ran 𝑤))    &   𝐹 = recs((𝑤 ∈ V ↦ 𝑁))    &   𝐵 = {𝑢 ∈ On ∣ ∃𝑣 ∈ (𝑅1𝑢) ¬ 𝑣 ∈ (𝐹𝐴)}    &   𝐶 = (𝐺‘((𝑅1𝐵) ∖ (𝐹𝐴)))       (𝐴 ∈ On → (𝐹𝐴) = 𝐶)
 
2-Dec-2025onvf1odlem2 35302 Lemma for onvf1od 35305. (Contributed by BTernaryTau, 2-Dec-2025.)
(𝜑 → ∀𝑧(𝑧 ≠ ∅ → (𝐺𝑧) ∈ 𝑧))    &   𝑀 = {𝑥 ∈ On ∣ ∃𝑦 ∈ (𝑅1𝑥) ¬ 𝑦𝐴}    &   𝑁 = (𝐺‘((𝑅1𝑀) ∖ 𝐴))       (𝜑 → (𝐴𝑉𝑁 ∈ ((𝑅1𝑀) ∖ 𝐴)))
 
2-Dec-2025onvf1odlem1 35301 Lemma for onvf1od 35305. (Contributed by BTernaryTau, 2-Dec-2025.)
(𝐴𝑉 → ∃𝑥 ∈ On ∃𝑦 ∈ (𝑅1𝑥) ¬ 𝑦𝐴)
 
1-Dec-2025sn-msqgt0d 42945 A nonzero square is positive. (Contributed by SN, 1-Dec-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐴 ≠ 0)       (𝜑 → 0 < (𝐴 · 𝐴))
 
1-Dec-2025sn-mullt0d 42944 The product of two negative numbers is positive. (Contributed by SN, 1-Dec-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐵 ∈ ℝ)    &   (𝜑𝐴 < 0)    &   (𝜑𝐵 < 0)       (𝜑 → 0 < (𝐴 · 𝐵))
 
1-Dec-2025elabgt 3615 Membership in a class abstraction, using implicit substitution. (Closed theorem version of elabg 3620.) (Contributed by NM, 7-Nov-2005.) (Proof shortened by Andrew Salmon, 8-Jun-2011.) Reduce axiom usage. (Revised by GG, 12-Oct-2024.) (Proof shortened by Wolf Lammen, 11-May-2025.) (Proof shortened by SN, 1-Dec-2025.)
((𝐴𝐵 ∧ ∀𝑥(𝑥 = 𝐴 → (𝜑𝜓))) → (𝐴 ∈ {𝑥𝜑} ↔ 𝜓))
 
30-Nov-2025eluz3nn 12830 An integer greater than or equal to 3 is a positive integer. (Contributed by Alexander van der Vekens, 17-Sep-2018.) (Proof shortened by AV, 30-Nov-2025.)
(𝑁 ∈ (ℤ‘3) → 𝑁 ∈ ℕ)
 
28-Nov-2025eqcuts3 27810 A variant of the simplicity theorem - if 𝐵 lies between the cut sets of 𝐴 but none of its options do, then 𝐴 = 𝐵. Theorem 11 of [Conway] p. 23. (Contributed by Scott Fenton, 28-Nov-2025.)
(𝜑𝐿 <<s 𝑅)    &   (𝜑𝑀 <<s 𝑆)    &   (𝜑𝐴 = (𝐿 |s 𝑅))    &   (𝜑𝐵 = (𝑀 |s 𝑆))    &   (𝜑𝐿 <<s {𝐵})    &   (𝜑 → {𝐵} <<s 𝑅)    &   (𝜑 → ∀𝑥𝑂 ∈ (𝑀𝑆) ¬ (𝐿 <<s {𝑥𝑂} ∧ {𝑥𝑂} <<s 𝑅))       (𝜑𝐴 = 𝐵)
 
27-Nov-2025difmodm1lt 47825 The difference between an integer modulo a positive integer and the integer decreased by 1 modulo the same modulus is less than the modulus decreased by 1 (if the modulus is greater than 2). This theorem would not be valid for an odd 𝐴 and 𝑁 = 2, since ((𝐴 mod 𝑁) − ((𝐴 − 1) mod 𝑁)) would be (1 − 0) = 1 which is not less than (𝑁 − 1) = 1. (Contributed by AV, 6-Jun-2012.) (Proof shortened by SN, 27-Nov-2025.)
((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 2 < 𝑁) → ((𝐴 mod 𝑁) − ((𝐴 − 1) mod 𝑁)) < (𝑁 − 1))
 
26-Nov-2025cmdlan 50159 To each colimit of a diagram there is a corresponding left Kan extention of the diagram along a functor to a terminal category. The morphism parts coincide, while the object parts are one-to-one correspondent (diag1f1o 50021). (Contributed by Zhi Wang, 26-Nov-2025.)
(𝜑1 ∈ TermCat)    &   (𝜑𝐺 ∈ (𝐷 Func 1 ))    &   𝐿 = (𝐶Δfunc 1 )    &   (𝜑𝑌 = ((1st𝐿)‘𝑋))       (𝜑 → (𝑋((𝐶 Colimit 𝐷)‘𝐹)𝑀𝑌(𝐺(⟨𝐷, 1 ⟩ Lan 𝐶)𝐹)𝑀))
 
26-Nov-2025lmdran 50158 To each limit of a diagram there is a corresponding right Kan extention of the diagram along a functor to a terminal category. The morphism parts coincide, while the object parts are one-to-one correspondent (diag1f1o 50021). (Contributed by Zhi Wang, 26-Nov-2025.)
(𝜑1 ∈ TermCat)    &   (𝜑𝐺 ∈ (𝐷 Func 1 ))    &   𝐿 = (𝐶Δfunc 1 )    &   (𝜑𝑌 = ((1st𝐿)‘𝑋))       (𝜑 → (𝑋((𝐶 Limit 𝐷)‘𝐹)𝑀𝑌(𝐺(⟨𝐷, 1 ⟩ Ran 𝐶)𝐹)𝑀))
 
26-Nov-2025ranval3 50118 The set of right Kan extensions is the set of universal pairs. (Contributed by Zhi Wang, 26-Nov-2025.)
𝑂 = (oppCat‘(𝐷 FuncCat 𝐸))    &   𝑃 = (oppCat‘(𝐶 FuncCat 𝐸))    &   𝐾 = (⟨𝐷, 𝐸⟩ −∘F 𝐹)       (𝐹 ∈ (𝐶 Func 𝐷) → (𝐹(⟨𝐶, 𝐷⟩ Ran 𝐸)𝑋) = (( oppFunc ‘𝐾)(𝑂 UP 𝑃)𝑋))
 
26-Nov-2025ffthoppf 49652 The opposite functor of a fully faithful functor is also full and faithful. (Contributed by Zhi Wang, 26-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   (𝜑𝐹 ∈ ((𝐶 Full 𝐷) ∩ (𝐶 Faith 𝐷)))       (𝜑 → ( oppFunc ‘𝐹) ∈ ((𝑂 Full 𝑃) ∩ (𝑂 Faith 𝑃)))
 
26-Nov-2025fthoppf 49651 The opposite functor of a faithful functor is also faithful. Proposition 3.43(c) in [Adamek] p. 39. (Contributed by Zhi Wang, 26-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   (𝜑𝐹 ∈ (𝐶 Faith 𝐷))       (𝜑 → ( oppFunc ‘𝐹) ∈ (𝑂 Faith 𝑃))
 
26-Nov-2025fulloppf 49650 The opposite functor of a full functor is also full. Proposition 3.43(d) in [Adamek] p. 39. (Contributed by Zhi Wang, 26-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   (𝜑𝐹 ∈ (𝐶 Full 𝐷))       (𝜑 → ( oppFunc ‘𝐹) ∈ (𝑂 Full 𝑃))
 
26-Nov-2025cofuoppf 49637 Composition of opposite functors. (Contributed by Zhi Wang, 26-Nov-2025.)
(𝜑 → (𝐺func 𝐹) = 𝐾)    &   (𝜑𝐹 ∈ (𝐶 Func 𝐷))    &   (𝜑𝐺 ∈ (𝐷 Func 𝐸))       (𝜑 → (( oppFunc ‘𝐺) ∘func ( oppFunc ‘𝐹)) = ( oppFunc ‘𝐾))
 
26-Nov-2025mullt0b2d 42943 When the second term is negative, the first term is positive iff the product is negative. (Contributed by SN, 26-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐵 ∈ ℝ)    &   (𝜑𝐵 < 0)       (𝜑 → (0 < 𝐴 ↔ (𝐴 · 𝐵) < 0))
 
26-Nov-2025mullt0b1d 42942 When the first term is negative, the second term is positive iff the product is negative. (Contributed by SN, 26-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐵 ∈ ℝ)    &   (𝜑𝐴 < 0)       (𝜑 → (0 < 𝐵 ↔ (𝐴 · 𝐵) < 0))
 
26-Nov-2025mulltgt0d 42941 Negative times positive is negative. (Contributed by SN, 26-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐵 ∈ ℝ)    &   (𝜑𝐴 < 0)    &   (𝜑 → 0 < 𝐵)       (𝜑 → (𝐴 · 𝐵) < 0)
 
26-Nov-2025sn-reclt0d 42940 The reciprocal of a negative real is negative. (Contributed by SN, 26-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐴 < 0)       (𝜑 → (1 / 𝐴) < 0)
 
26-Nov-2025sn-recgt0d 42936 The reciprocal of a positive real is positive. (Contributed by SN, 26-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑 → 0 < 𝐴)       (𝜑 → 0 < (1 / 𝐴))
 
25-Nov-2025prcofdiag 49881 A diagonal functor post-composed by a pre-composition functor is another diagonal functor. (Contributed by Zhi Wang, 25-Nov-2025.)
𝐿 = (𝐶Δfunc𝐷)    &   𝑀 = (𝐶Δfunc𝐸)    &   (𝜑𝐹 ∈ (𝐸 Func 𝐷))    &   (𝜑𝐶 ∈ Cat)    &   (𝜑 → (⟨𝐷, 𝐶⟩ −∘F 𝐹) = 𝐺)       (𝜑 → (𝐺func 𝐿) = 𝑀)
 
25-Nov-2025prcofdiag1 49880 A constant functor pre-composed by a functor is another constant functor. (Contributed by Zhi Wang, 25-Nov-2025.)
𝐿 = (𝐶Δfunc𝐷)    &   𝑀 = (𝐶Δfunc𝐸)    &   (𝜑𝐹 ∈ (𝐸 Func 𝐷))    &   (𝜑𝐶 ∈ Cat)    &   𝐵 = (Base‘𝐶)    &   (𝜑𝑋𝐵)       (𝜑 → (((1st𝐿)‘𝑋) ∘func 𝐹) = ((1st𝑀)‘𝑋))
 
25-Nov-2025uptr2a 49709 Universal property and fully faithful functor surjective on objects. (Contributed by Zhi Wang, 25-Nov-2025.)
𝐴 = (Base‘𝐶)    &   𝐵 = (Base‘𝐷)    &   (𝜑𝑌 = ((1st𝐾)‘𝑋))    &   (𝜑 → (𝐺func 𝐾) = 𝐹)    &   (𝜑𝑋𝐴)    &   (𝜑𝐺 ∈ (𝐷 Func 𝐸))    &   (𝜑𝐾 ∈ ((𝐶 Full 𝐷) ∩ (𝐶 Faith 𝐷)))    &   (𝜑 → (1st𝐾):𝐴onto𝐵)       (𝜑 → (𝑋(𝐹(𝐶 UP 𝐸)𝑍)𝑀𝑌(𝐺(𝐷 UP 𝐸)𝑍)𝑀))
 
25-Nov-2025uptr2 49708 Universal property and fully faithful functor surjective on objects. (Contributed by Zhi Wang, 25-Nov-2025.)
𝐴 = (Base‘𝐶)    &   𝐵 = (Base‘𝐷)    &   (𝜑𝑌 = (𝑅𝑋))    &   (𝜑𝑅:𝐴onto𝐵)    &   (𝜑𝑅((𝐶 Full 𝐷) ∩ (𝐶 Faith 𝐷))𝑆)    &   (𝜑 → (⟨𝐾, 𝐿⟩ ∘func𝑅, 𝑆⟩) = ⟨𝐹, 𝐺⟩)    &   (𝜑𝑋𝐴)    &   (𝜑𝐾(𝐷 Func 𝐸)𝐿)       (𝜑 → (𝑋(⟨𝐹, 𝐺⟩(𝐶 UP 𝐸)𝑍)𝑀𝑌(⟨𝐾, 𝐿⟩(𝐷 UP 𝐸)𝑍)𝑀))
 
25-Nov-2025xpco2 49344 Composition of a Cartesian product with a function. (Contributed by Zhi Wang, 25-Nov-2025.)
(𝐹:𝐴𝐵 → ((𝐵 × 𝐶) ∘ 𝐹) = (𝐴 × 𝐶))
 
25-Nov-2025ffvbr 49343 Relation with function value. (Contributed by Zhi Wang, 25-Nov-2025.)
((𝐹:𝐴𝐵𝑋𝐴) → 𝑋𝐹(𝐹𝑋))
 
25-Nov-2025rerecid2d 42904 Multiplication of a number and its reciprocal. (Contributed by SN, 25-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐴 ≠ 0)       (𝜑 → ((1 / 𝐴) · 𝐴) = 1)
 
25-Nov-2025rerecidd 42903 Multiplication of a number and its reciprocal. (Contributed by SN, 25-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐴 ≠ 0)       (𝜑 → (𝐴 · (1 / 𝐴)) = 1)
 
25-Nov-2025sn-rereccld 42901 Closure law for reciprocal. (Contributed by SN, 25-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐴 ≠ 0)       (𝜑 → (1 / 𝐴) ∈ ℝ)
 
25-Nov-2025rediveq0d 42895 A ratio is zero iff the numerator is zero. (Contributed by SN, 25-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐵 ∈ ℝ)    &   (𝜑𝐵 ≠ 0)       (𝜑 → ((𝐴 / 𝐵) = 0 ↔ 𝐴 = 0))
 
25-Nov-2025redivcan3d 42894 A cancellation law for division. (Contributed by SN, 25-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐵 ∈ ℝ)    &   (𝜑𝐵 ≠ 0)       (𝜑 → ((𝐵 · 𝐴) / 𝐵) = 𝐴)
 
25-Nov-2025redivcan2d 42893 A cancellation law for division. (Contributed by SN, 25-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐵 ∈ ℝ)    &   (𝜑𝐵 ≠ 0)       (𝜑 → (𝐵 · (𝐴 / 𝐵)) = 𝐴)
 
25-Nov-2025redivmuld 42891 Relationship between division and multiplication. (Contributed by SN, 25-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐵 ∈ ℝ)    &   (𝜑𝐶 ∈ ℝ)    &   (𝜑𝐶 ≠ 0)       (𝜑 → ((𝐴 / 𝐶) = 𝐵 ↔ (𝐶 · 𝐵) = 𝐴))
 
25-Nov-2025sn-redivcld 42890 Closure law for real division. (Contributed by SN, 25-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐵 ∈ ℝ)    &   (𝜑𝐵 ≠ 0)       (𝜑 → (𝐴 / 𝐵) ∈ ℝ)
 
25-Nov-2025rediveud 42889 Existential uniqueness of real quotients. (Contributed by SN, 25-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐵 ∈ ℝ)    &   (𝜑𝐵 ≠ 0)       (𝜑 → ∃!𝑥 ∈ ℝ (𝐵 · 𝑥) = 𝐴)
 
25-Nov-2025redivvald 42888 Value of real division, which is the (unique) real 𝑥 such that (𝐵 · 𝑥) = 𝐴. (Contributed by SN, 25-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐵 ∈ ℝ)    &   (𝜑𝐵 ≠ 0)       (𝜑 → (𝐴 / 𝐵) = (𝑥 ∈ ℝ (𝐵 · 𝑥) = 𝐴))
 
25-Nov-2025df-rediv 42887 Define division between real numbers. This operator saves ax-mulcom 11093 over df-div 11799 in certain situations. (Contributed by SN, 25-Nov-2025.)
/ = (𝑥 ∈ ℝ, 𝑦 ∈ (ℝ ∖ {0}) ↦ (𝑧 ∈ ℝ (𝑦 · 𝑧) = 𝑥))
 
25-Nov-2025uniqsw 8714 The union of a quotient set. More restrictive antecedent; kept for backward compatibility; for new work, prefer uniqs 8713. (Contributed by NM, 9-Dec-2008.) (Proof shortened by AV, 25-Nov-2025.)
(𝑅𝑉 (𝐴 / 𝑅) = (𝑅𝐴))
 
25-Nov-2025ecelqsw 8708 Membership of an equivalence class in a quotient set. More restrictive antecedent; kept for backward compatibility; for new work, prefer ecelqs 8707. (Contributed by Jeff Madsen, 10-Jun-2010.) (Revised by Mario Carneiro, 9-Jul-2014.) (Proof shortened by AV, 25-Nov-2025.)
((𝑅𝑉𝐵𝐴) → [𝐵]𝑅 ∈ (𝐴 / 𝑅))
 
24-Nov-2025f1omo 49380 There is at most one element in the function value of a constant function whose output is 1o. (An artifact of our function value definition.) Proof could be significantly shortened by fvconstdomi 49379 assuming ax-un 7682 (see f1omoALT 49382). (Contributed by Zhi Wang, 19-Sep-2024.) (Proof shortened by SN, 24-Nov-2025.)
(𝜑𝐹 = (𝐴 × {1o}))       (𝜑 → ∃*𝑦 𝑦 ∈ (𝐹𝑋))
 
24-Nov-2025mulgt0b2d 42937 Biconditional, deductive form of mulgt0 11214. The first factor is positive iff the product is. (Contributed by SN, 24-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐵 ∈ ℝ)    &   (𝜑 → 0 < 𝐵)       (𝜑 → (0 < 𝐴 ↔ 0 < (𝐴 · 𝐵)))
 
24-Nov-2025sn-remul0ord 42854 A product is zero iff one of its factors are zero. (Contributed by SN, 24-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐵 ∈ ℝ)       (𝜑 → ((𝐴 · 𝐵) = 0 ↔ (𝐴 = 0 ∨ 𝐵 = 0)))
 
23-Nov-2025lgricngricex 48617 There are two different locally isomorphic graphs which are not isomorphic. (Contributed by AV, 23-Nov-2025.)
𝑔(𝑔𝑙𝑔𝑟 ∧ ¬ 𝑔𝑔𝑟 )
 
23-Nov-2025dmqsblocks 39302 If the pet 39300 span (𝑅 ⋉ ( E ↾ 𝐴)) partitions 𝐴, then every block 𝑢𝐴 is of the form [𝑣] for some 𝑣 that not only lies in the domain but also has at least one internal element 𝑐 and at least one 𝑅-target 𝑏 (cf. also the comments of qseq 39068). It makes explicit that pet 39300 gives active representatives for each block, without ever forcing 𝑣 = 𝑢. (Contributed by Peter Mazsa, 23-Nov-2025.)
((dom (𝑅 ⋉ ( E ↾ 𝐴)) / (𝑅 ⋉ ( E ↾ 𝐴))) = 𝐴 → ∀𝑢𝐴𝑣 ∈ dom (𝑅 ⋉ ( E ↾ 𝐴))∃𝑏𝑐(𝑢 = [𝑣](𝑅 ⋉ ( E ↾ 𝐴)) ∧ 𝑐𝑣𝑣𝑅𝑏))
 
23-Nov-2025eceldmqsxrncnvepres2 38772 An (𝑅 ⋉ ( E ↾ 𝐴))-coset in its domain quotient. In the pet 39300 span (𝑅 ⋉ ( E ↾ 𝐴)), a block [ B ] lies in the domain quotient exactly when its representative 𝐵 belongs to 𝐴 and actually fires at least one arrow (has some 𝑥𝐵 and some 𝑦 with 𝐵𝑅𝑦). (Contributed by Peter Mazsa, 23-Nov-2025.)
((𝐴𝑉𝐵𝑊𝑅𝑋) → ([𝐵](𝑅 ⋉ ( E ↾ 𝐴)) ∈ (dom (𝑅 ⋉ ( E ↾ 𝐴)) / (𝑅 ⋉ ( E ↾ 𝐴))) ↔ (𝐵𝐴 ∧ ∃𝑥 𝑥𝐵 ∧ ∃𝑦 𝐵𝑅𝑦)))
 
23-Nov-2025eceldmqsxrncnvepres 38771 An (𝑅 ⋉ ( E ↾ 𝐴))-coset in its domain quotient. (Contributed by Peter Mazsa, 23-Nov-2025.)
((𝐴𝑉𝐵𝑊𝑅𝑋) → ([𝐵](𝑅 ⋉ ( E ↾ 𝐴)) ∈ (dom (𝑅 ⋉ ( E ↾ 𝐴)) / (𝑅 ⋉ ( E ↾ 𝐴))) ↔ (𝐵𝐴𝐵 ≠ ∅ ∧ [𝐵]𝑅 ≠ ∅)))
 
23-Nov-2025eldmxrncnvepres2 38770 Element of the domain of the range product with restricted converse epsilon relation. This identifies the domain of the pet 39300 span (𝑅 ⋉ ( E ↾ 𝐴)): a 𝐵 belongs to the domain of the span exactly when 𝐵 is in 𝐴 and has at least one 𝑥𝐵 and 𝑦 with 𝐵𝑅𝑦. (Contributed by Peter Mazsa, 23-Nov-2025.)
(𝐵𝑉 → (𝐵 ∈ dom (𝑅 ⋉ ( E ↾ 𝐴)) ↔ (𝐵𝐴 ∧ ∃𝑥 𝑥𝐵 ∧ ∃𝑦 𝐵𝑅𝑦)))
 
23-Nov-2025eldmxrncnvepres 38769 Element of the domain of the range product with restricted converse epsilon relation. (Contributed by Peter Mazsa, 23-Nov-2025.)
(𝐵𝑉 → (𝐵 ∈ dom (𝑅 ⋉ ( E ↾ 𝐴)) ↔ (𝐵𝐴𝐵 ≠ ∅ ∧ [𝐵]𝑅 ≠ ∅)))
 
23-Nov-2025dmxrncnvepres 38767 Domain of the range product with restricted converse epsilon relation. (Contributed by Peter Mazsa, 23-Nov-2025.)
dom (𝑅 ⋉ ( E ↾ 𝐴)) = (dom (𝑅𝐴) ∖ {∅})
 
23-Nov-2025dmxrncnvep 38724 Domain of the range product with converse epsilon relation. (Contributed by Peter Mazsa, 23-Nov-2025.)
dom (𝑅 E ) = (dom 𝑅 ∖ {∅})
 
23-Nov-2025dmcnvep 38723 Domain of converse epsilon relation. (Contributed by Peter Mazsa, 30-Jan-2018.) (Revised by Peter Mazsa, 23-Nov-2025.)
dom E = (V ∖ {∅})
 
23-Nov-2025eldmres3 38618 Elementhood in the domain of a restriction. (Contributed by Peter Mazsa, 23-Nov-2025.)
(𝐵𝑉 → (𝐵 ∈ dom (𝑅𝐴) ↔ (𝐵𝐴 ∧ [𝐵]𝑅 ≠ ∅)))
 
22-Nov-2025gpg5ngric 48616 The two generalized Petersen graphs G(5,K) of order 10, which are the Petersen graph G(5,2) and the 5-prism G(5,1), are not isomorphic. (Contributed by AV, 22-Nov-2025.)
¬ (5 gPetersenGr 1) ≃𝑔𝑟 (5 gPetersenGr 2)
 
22-Nov-2025pg4cyclnex 48615 In the Petersen graph G(5,2), there is no cycle of length 4. (Contributed by AV, 22-Nov-2025.)
¬ ∃𝑝𝑓(𝑓(Cycles‘(5 gPetersenGr 2))𝑝 ∧ (♯‘𝑓) = 4)
 
22-Nov-2025gpg5grlic 48582 The two generalized Petersen graphs G(N,K) of order 10 (𝑁 = 5), which are the Petersen graph G(5,2) and the 5-prism G(5,1), are locally isomorphic. (Contributed by AV, 29-Sep-2025.) (Proof shortened by AV, 22-Nov-2025.)
(5 gPetersenGr 1) ≃𝑙𝑔𝑟 (5 gPetersenGr 2)
 
22-Nov-2025gpg3nbgrvtx1 48566 In a generalized Petersen graph 𝐺, every inside vertex has exactly three (different) neighbors. (Contributed by AV, 3-Sep-2025.) (Proof shortened by AV, 22-Nov-2025.)
𝐽 = (1..^(⌈‘(𝑁 / 2)))    &   𝐺 = (𝑁 gPetersenGr 𝐾)    &   𝑉 = (Vtx‘𝐺)    &   𝑈 = (𝐺 NeighbVtx 𝑋)       (((𝑁 ∈ (ℤ‘3) ∧ 𝐾𝐽) ∧ (𝑋𝑉 ∧ (1st𝑋) = 1)) → (♯‘𝑈) = 3)
 
22-Nov-2025modm1nem2 47835 A nonnegative integer less than a modulus greater than 4 minus one/minus two are not equal modulo the modulus. (Contributed by AV, 22-Nov-2025.)
𝐼 = (0..^𝑁)       ((𝑁 ∈ (ℤ‘5) ∧ 𝑌𝐼) → ((𝑌 − 1) mod 𝑁) ≠ ((𝑌 − 2) mod 𝑁))
 
22-Nov-2025modm1nep2 47834 A nonnegative integer less than a modulus greater than 4 plus one/minus two are not equal modulo the modulus. (Contributed by AV, 22-Nov-2025.)
𝐼 = (0..^𝑁)       ((𝑁 ∈ (ℤ‘5) ∧ 𝑌𝐼) → ((𝑌 − 1) mod 𝑁) ≠ ((𝑌 + 2) mod 𝑁))
 
22-Nov-2025modp2nep1 47833 A nonnegative integer less than a modulus greater than 4 plus one/plus two are not equal modulo the modulus. (Contributed by AV, 22-Nov-2025.)
𝐼 = (0..^𝑁)       ((𝑁 ∈ (ℤ‘5) ∧ 𝑌𝐼) → ((𝑌 + 2) mod 𝑁) ≠ ((𝑌 + 1) mod 𝑁))
 
22-Nov-2025modm2nep1 47832 A nonnegative integer less than a modulus greater than 4 plus one/minus two are not equal modulo the modulus. (Contributed by AV, 22-Nov-2025.)
𝐼 = (0..^𝑁)       ((𝑁 ∈ (ℤ‘5) ∧ 𝑌𝐼) → ((𝑌 − 2) mod 𝑁) ≠ ((𝑌 + 1) mod 𝑁))
 
22-Nov-2025dmxrn 38722 Domain of the range product. (Contributed by Peter Mazsa, 19-Apr-2020.) (Revised by Peter Mazsa, 22-Nov-2025.)
dom (𝑅𝑆) = (dom 𝑅 ∩ dom 𝑆)
 
22-Nov-2025brxrncnvep 38721 The range product with converse epsilon relation. (Contributed by Peter Mazsa, 22-Jun-2020.) (Revised by Peter Mazsa, 22-Nov-2025.)
((𝐴𝑉𝐵𝑊𝐶𝑋) → (𝐴(𝑅 E )⟨𝐵, 𝐶⟩ ↔ (𝐶𝐴𝐴𝑅𝐵)))
 
22-Nov-2025bdayle 27922 A condition for bounding a birthday above. (Contributed by Scott Fenton, 22-Nov-2025.)
((𝑋 No ∧ Ord 𝑂) → (( bday 𝑋) ⊆ 𝑂 ↔ ∀𝑦 ∈ ( O ‘( bday 𝑋))( bday 𝑦) ∈ 𝑂))
 
22-Nov-2025bdayiun 27921 The birthday of a surreal is the least upper bound of the successors of the birthdays of its options. This is the definition of the birthday of a combinatorial game in the Lean Combinatorial Game Theory library at https://github.com/vihdzp/combinatorial-games. (Contributed by Scott Fenton, 22-Nov-2025.)
(𝐴 No → ( bday 𝐴) = 𝑥 ∈ ( O ‘( bday 𝐴))suc ( bday 𝑥))
 
22-Nov-2025nn0absidi 15384 A nonnegative integer is its own absolute value (inference form). (Contributed by AV, 22-Nov-2025.)
𝑁 ∈ ℕ0       (abs‘𝑁) = 𝑁
 
22-Nov-2025nn0absid 15383 A nonnegative integer is its own absolute value. (Contributed by AV, 22-Nov-2025.)
(𝑁 ∈ ℕ0 → (abs‘𝑁) = 𝑁)
 
22-Nov-2025eluz5nn 12832 An integer greater than or equal to 5 is a positive integer. (Contributed by AV, 22-Nov-2025.)
(𝑁 ∈ (ℤ‘5) → 𝑁 ∈ ℕ)
 
22-Nov-2025eceldmqs 8727 𝑅-coset in its domain quotient. This is the bridge between 𝐴 in the domain and its block [𝐴]𝑅 in its domain quotient. (Contributed by Peter Mazsa, 17-Apr-2019.) (Revised by Peter Mazsa, 22-Nov-2025.)
(𝑅𝑉 → ([𝐴]𝑅 ∈ (dom 𝑅 / 𝑅) ↔ 𝐴 ∈ dom 𝑅))
 
22-Nov-2025ecelqsdmb 8726 𝑅-coset of 𝐵 in a quotient set, biconditional version. (Contributed by Peter Mazsa, 17-Apr-2019.) (Revised by Peter Mazsa, 22-Nov-2025.)
(((𝑅𝐴) ∈ 𝑉 ∧ dom 𝑅 = 𝐴) → ([𝐵]𝑅 ∈ (𝐴 / 𝑅) ↔ 𝐵𝐴))
 
22-Nov-2025ecelqs 8707 Membership of an equivalence class in a quotient set. (Contributed by Jeff Madsen, 10-Jun-2010.) (Revised by Mario Carneiro, 9-Jul-2014.) (Revised by Peter Mazsa, 22-Nov-2025.)
(((𝑅𝐴) ∈ 𝑉𝐵𝐴) → [𝐵]𝑅 ∈ (𝐴 / 𝑅))
 
21-Nov-2025ranpropd 50103 If the categories have the same set of objects, morphisms, and compositions, then they have the same right Kan extensions. (Contributed by Zhi Wang, 21-Nov-2025.)
(𝜑 → (Homf𝐴) = (Homf𝐵))    &   (𝜑 → (compf𝐴) = (compf𝐵))    &   (𝜑 → (Homf𝐶) = (Homf𝐷))    &   (𝜑 → (compf𝐶) = (compf𝐷))    &   (𝜑 → (Homf𝐸) = (Homf𝐹))    &   (𝜑 → (compf𝐸) = (compf𝐹))    &   (𝜑𝐴𝑉)    &   (𝜑𝐵𝑉)    &   (𝜑𝐶𝑉)    &   (𝜑𝐷𝑉)    &   (𝜑𝐸𝑉)    &   (𝜑𝐹𝑉)       (𝜑 → (⟨𝐴, 𝐶⟩ Ran 𝐸) = (⟨𝐵, 𝐷⟩ Ran 𝐹))
 
21-Nov-2025lanpropd 50102 If the categories have the same set of objects, morphisms, and compositions, then they have the same left Kan extensions. (Contributed by Zhi Wang, 21-Nov-2025.)
(𝜑 → (Homf𝐴) = (Homf𝐵))    &   (𝜑 → (compf𝐴) = (compf𝐵))    &   (𝜑 → (Homf𝐶) = (Homf𝐷))    &   (𝜑 → (compf𝐶) = (compf𝐷))    &   (𝜑 → (Homf𝐸) = (Homf𝐹))    &   (𝜑 → (compf𝐸) = (compf𝐹))    &   (𝜑𝐴𝑉)    &   (𝜑𝐵𝑉)    &   (𝜑𝐶𝑉)    &   (𝜑𝐷𝑉)    &   (𝜑𝐸𝑉)    &   (𝜑𝐹𝑉)       (𝜑 → (⟨𝐴, 𝐶⟩ Lan 𝐸) = (⟨𝐵, 𝐷⟩ Lan 𝐹))
 
21-Nov-2025prcofpropd 49866 If the categories have the same set of objects, morphisms, and compositions, then they have the same pre-composition functors. (Contributed by Zhi Wang, 21-Nov-2025.)
(𝜑 → (Homf𝐴) = (Homf𝐵))    &   (𝜑 → (compf𝐴) = (compf𝐵))    &   (𝜑 → (Homf𝐶) = (Homf𝐷))    &   (𝜑 → (compf𝐶) = (compf𝐷))    &   (𝜑𝐴𝑉)    &   (𝜑𝐵𝑉)    &   (𝜑𝐶𝑉)    &   (𝜑𝐷𝑉)    &   (𝜑𝐹𝑊)       (𝜑 → (⟨𝐴, 𝐶⟩ −∘F 𝐹) = (⟨𝐵, 𝐷⟩ −∘F 𝐹))
 
21-Nov-2025pgnbgreunbgrlem5 48611 Lemma 5 for pgnbgreunbgr 48613. Impossible cases. (Contributed by AV, 21-Nov-2025.)
𝐺 = (5 gPetersenGr 2)    &   𝑉 = (Vtx‘𝐺)    &   𝐸 = (Edg‘𝐺)    &   𝑁 = (𝐺 NeighbVtx 𝑋)       ((𝐿 = ⟨0, (((2nd𝑋) + 1) mod 5)⟩ ∨ 𝐿 = ⟨1, (2nd𝑋)⟩ ∨ 𝐿 = ⟨0, (((2nd𝑋) − 1) mod 5)⟩) → ((𝐾 = ⟨0, (((2nd𝑋) + 1) mod 5)⟩ ∨ 𝐾 = ⟨1, (2nd𝑋)⟩ ∨ 𝐾 = ⟨0, (((2nd𝑋) − 1) mod 5)⟩) → ((𝑋 = ⟨0, 𝑦⟩ ∧ 𝑋𝑉) → ((𝐾𝐿 ∧ (𝑏 ∈ (0..^5) ∧ 𝑦 ∈ (0..^5))) → (({𝐾, ⟨1, 𝑏⟩} ∈ 𝐸 ∧ {⟨1, 𝑏⟩, 𝐿} ∈ 𝐸) → 𝑋 = ⟨1, 𝑏⟩)))))
 
21-Nov-2025pgnbgreunbgrlem5lem1 48608 Lemma 1 for pgnbgreunbgrlem5 48611. (Contributed by AV, 21-Nov-2025.)
𝐺 = (5 gPetersenGr 2)    &   𝑉 = (Vtx‘𝐺)    &   𝐸 = (Edg‘𝐺)    &   𝑁 = (𝐺 NeighbVtx 𝑋)       ((((𝐿 = ⟨0, ((𝑦 + 1) mod 5)⟩ ∧ 𝐾 = ⟨1, 𝑦⟩) ∧ (𝑏 ∈ (0..^5) ∧ 𝑦 ∈ (0..^5))) ∧ {𝐾, ⟨1, 𝑏⟩} ∈ 𝐸) → ¬ {⟨1, 𝑏⟩, 𝐿} ∈ 𝐸)
 
21-Nov-2025pgnioedg5 48600 An inside and an outside vertex not adjacent in a Petersen graph. (Contributed by AV, 21-Nov-2025.)
𝐺 = (5 gPetersenGr 2)    &   𝐸 = (Edg‘𝐺)       (𝑦 ∈ (0..^5) → ¬ {⟨1, ((𝑦 − 1) mod 5)⟩, ⟨0, ((𝑦 + 1) mod 5)⟩} ∈ 𝐸)
 
21-Nov-2025pgnioedg4 48599 An inside and an outside vertex not adjacent in a Petersen graph. (Contributed by AV, 21-Nov-2025.)
𝐺 = (5 gPetersenGr 2)    &   𝐸 = (Edg‘𝐺)       (𝑦 ∈ (0..^5) → ¬ {⟨1, ((𝑦 − 2) mod 5)⟩, ⟨0, ((𝑦 − 1) mod 5)⟩} ∈ 𝐸)
 
21-Nov-2025pgnioedg3 48598 An inside and an outside vertex not adjacent in a Petersen graph. (Contributed by AV, 21-Nov-2025.)
𝐺 = (5 gPetersenGr 2)    &   𝐸 = (Edg‘𝐺)       (𝑦 ∈ (0..^5) → ¬ {⟨1, ((𝑦 + 2) mod 5)⟩, ⟨0, ((𝑦 − 1) mod 5)⟩} ∈ 𝐸)
 
21-Nov-2025pgnioedg2 48597 An inside and an outside vertex not adjacent in a Petersen graph. (Contributed by AV, 21-Nov-2025.)
𝐺 = (5 gPetersenGr 2)    &   𝐸 = (Edg‘𝐺)       (𝑦 ∈ (0..^5) → ¬ {⟨1, ((𝑦 + 2) mod 5)⟩, ⟨0, ((𝑦 + 1) mod 5)⟩} ∈ 𝐸)
 
21-Nov-2025pgnioedg1 48596 An inside and an outside vertex not adjacent in a Petersen graph. (Contributed by AV, 21-Nov-2025.)
𝐺 = (5 gPetersenGr 2)    &   𝐸 = (Edg‘𝐺)       (𝑦 ∈ (0..^5) → ¬ {⟨1, ((𝑦 − 2) mod 5)⟩, ⟨0, ((𝑦 + 1) mod 5)⟩} ∈ 𝐸)
 
21-Nov-2025modlt0b 47829 An integer with an absolute value less than a positive integer is 0 modulo the positive integer iff it is 0. (Contributed by AV, 21-Nov-2025.)
((𝑁 ∈ ℕ ∧ 𝑋 ∈ ℤ ∧ (abs‘𝑋) < 𝑁) → ((𝑋 mod 𝑁) = 0 ↔ 𝑋 = 0))
 
21-Nov-2025zabs0b 15267 An integer has an absolute value less than 1 iff it is 0. (Contributed by AV, 21-Nov-2025.)
(𝑋 ∈ ℤ → ((abs‘𝑋) < 1 ↔ 𝑋 = 0))
 
20-Nov-2025termolmd 50157 Terminal objects are the object part of limits of the empty diagram. (Contributed by Zhi Wang, 20-Nov-2025.)
(TermO‘𝐶) = dom (∅(𝐶 Limit ∅)∅)
 
20-Nov-2025cmddu 50155 The duality of limits and colimits: colimits of a diagram are limits of an opposite diagram in opposite categories. (Contributed by Zhi Wang, 20-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   𝐺 = ( oppFunc ‘𝐹)    &   (𝜑𝐶𝑉)    &   (𝜑𝐷𝑊)       (𝜑 → ((𝐶 Colimit 𝐷)‘𝐹) = ((𝑂 Limit 𝑃)‘𝐺))
 
20-Nov-2025lmddu 50154 The duality of limits and colimits: limits of a diagram are colimits of an opposite diagram in opposite categories. (Contributed by Zhi Wang, 20-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   𝐺 = ( oppFunc ‘𝐹)    &   (𝜑𝐶𝑉)    &   (𝜑𝐷𝑊)       (𝜑 → ((𝐶 Limit 𝐷)‘𝐹) = ((𝑂 Colimit 𝑃)‘𝐺))
 
20-Nov-2025cmdpropd 50145 If the categories have the same set of objects, morphisms, and compositions, then they have the same colimits. (Contributed by Zhi Wang, 20-Nov-2025.)
(𝜑 → (Homf𝐴) = (Homf𝐵))    &   (𝜑 → (compf𝐴) = (compf𝐵))    &   (𝜑 → (Homf𝐶) = (Homf𝐷))    &   (𝜑 → (compf𝐶) = (compf𝐷))    &   (𝜑𝐴𝑉)    &   (𝜑𝐵𝑉)    &   (𝜑𝐶𝑉)    &   (𝜑𝐷𝑉)       (𝜑 → (𝐴 Colimit 𝐶) = (𝐵 Colimit 𝐷))
 
20-Nov-2025lmdpropd 50144 If the categories have the same set of objects, morphisms, and compositions, then they have the same limits. (Contributed by Zhi Wang, 20-Nov-2025.)
(𝜑 → (Homf𝐴) = (Homf𝐵))    &   (𝜑 → (compf𝐴) = (compf𝐵))    &   (𝜑 → (Homf𝐶) = (Homf𝐷))    &   (𝜑 → (compf𝐶) = (compf𝐷))    &   (𝜑𝐴𝑉)    &   (𝜑𝐵𝑉)    &   (𝜑𝐶𝑉)    &   (𝜑𝐷𝑉)       (𝜑 → (𝐴 Limit 𝐶) = (𝐵 Limit 𝐷))
 
20-Nov-2025cmdrcl 50139 Reverse closure for a colimit of a diagram. (Contributed by Zhi Wang, 20-Nov-2025.)
(𝑋 ∈ ((𝐶 Colimit 𝐷)‘𝐹) → 𝐹 ∈ (𝐷 Func 𝐶))
 
20-Nov-2025lmdrcl 50138 Reverse closure for a limit of a diagram. (Contributed by Zhi Wang, 20-Nov-2025.)
(𝑋 ∈ ((𝐶 Limit 𝐷)‘𝐹) → 𝐹 ∈ (𝐷 Func 𝐶))
 
20-Nov-2025diagpropd 49779 If two categories have the same set of objects, morphisms, and compositions, then they have same diagonal functors. (Contributed by Zhi Wang, 20-Nov-2025.)
(𝜑 → (Homf𝐴) = (Homf𝐵))    &   (𝜑 → (compf𝐴) = (compf𝐵))    &   (𝜑 → (Homf𝐶) = (Homf𝐷))    &   (𝜑 → (compf𝐶) = (compf𝐷))    &   (𝜑𝐴 ∈ Cat)    &   (𝜑𝐵 ∈ Cat)    &   (𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)       (𝜑 → (𝐴Δfunc𝐶) = (𝐵Δfunc𝐷))
 
20-Nov-20252ndfpropd 49778 If two categories have the same set of objects, morphisms, and compositions, then they have same second projection functors. (Contributed by Zhi Wang, 20-Nov-2025.)
(𝜑 → (Homf𝐴) = (Homf𝐵))    &   (𝜑 → (compf𝐴) = (compf𝐵))    &   (𝜑 → (Homf𝐶) = (Homf𝐷))    &   (𝜑 → (compf𝐶) = (compf𝐷))    &   (𝜑𝐴 ∈ Cat)    &   (𝜑𝐵 ∈ Cat)    &   (𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)       (𝜑 → (𝐴 2ndF 𝐶) = (𝐵 2ndF 𝐷))
 
20-Nov-20251stfpropd 49777 If two categories have the same set of objects, morphisms, and compositions, then they have same first projection functors. (Contributed by Zhi Wang, 20-Nov-2025.)
(𝜑 → (Homf𝐴) = (Homf𝐵))    &   (𝜑 → (compf𝐴) = (compf𝐵))    &   (𝜑 → (Homf𝐶) = (Homf𝐷))    &   (𝜑 → (compf𝐶) = (compf𝐷))    &   (𝜑𝐴 ∈ Cat)    &   (𝜑𝐵 ∈ Cat)    &   (𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)       (𝜑 → (𝐴 1stF 𝐶) = (𝐵 1stF 𝐷))
 
20-Nov-2025uppropd 49668 If two categories have the same set of objects, morphisms, and compositions, then they have the same universal pairs. (Contributed by Zhi Wang, 20-Nov-2025.)
(𝜑 → (Homf𝐴) = (Homf𝐵))    &   (𝜑 → (compf𝐴) = (compf𝐵))    &   (𝜑 → (Homf𝐶) = (Homf𝐷))    &   (𝜑 → (compf𝐶) = (compf𝐷))    &   (𝜑𝐴𝑉)    &   (𝜑𝐵𝑉)    &   (𝜑𝐶𝑉)    &   (𝜑𝐷𝑉)       (𝜑 → (𝐴 UP 𝐶) = (𝐵 UP 𝐷))
 
20-Nov-2025reueqbidva 49293 Formula-building rule for restricted existential uniqueness quantifier. Deduction form. General version of reueqbidv 3379. (Contributed by Zhi Wang, 20-Nov-2025.)
(𝜑𝐴 = 𝐵)    &   ((𝜑𝑥𝐴) → (𝜓𝜒))       (𝜑 → (∃!𝑥𝐴 𝜓 ↔ ∃!𝑥𝐵 𝜒))
 
20-Nov-2025pgnbgreunbgrlem6 48612 Lemma 6 for pgnbgreunbgr 48613. (Contributed by AV, 20-Nov-2025.)
𝐺 = (5 gPetersenGr 2)    &   𝑉 = (Vtx‘𝐺)    &   𝐸 = (Edg‘𝐺)    &   𝑁 = (𝐺 NeighbVtx 𝑋)       (((𝐾𝑁𝐿𝑁𝐾𝐿) ∧ 𝑏 ∈ (0..^5)) → (({𝐾, ⟨1, 𝑏⟩} ∈ 𝐸 ∧ {⟨1, 𝑏⟩, 𝐿} ∈ 𝐸) → 𝑋 = ⟨1, 𝑏⟩))
 
20-Nov-2025pgnbgreunbgrlem5lem3 48610 Lemma 3 for pgnbgreunbgrlem5 48611. (Contributed by AV, 20-Nov-2025.)
𝐺 = (5 gPetersenGr 2)    &   𝑉 = (Vtx‘𝐺)    &   𝐸 = (Edg‘𝐺)    &   𝑁 = (𝐺 NeighbVtx 𝑋)       ((((𝐿 = ⟨0, ((𝑦 + 1) mod 5)⟩ ∧ 𝐾 = ⟨0, ((𝑦 − 1) mod 5)⟩) ∧ (𝑏 ∈ (0..^5) ∧ 𝑦 ∈ (0..^5))) ∧ {𝐾, ⟨1, 𝑏⟩} ∈ 𝐸) → ¬ {⟨1, 𝑏⟩, 𝐿} ∈ 𝐸)
 
20-Nov-2025pgnbgreunbgrlem5lem2 48609 Lemma 2 for pgnbgreunbgrlem5 48611. (Contributed by AV, 20-Nov-2025.)
𝐺 = (5 gPetersenGr 2)    &   𝑉 = (Vtx‘𝐺)    &   𝐸 = (Edg‘𝐺)    &   𝑁 = (𝐺 NeighbVtx 𝑋)       ((((𝐿 = ⟨0, ((𝑦 − 1) mod 5)⟩ ∧ 𝐾 = ⟨1, 𝑦⟩) ∧ (𝑏 ∈ (0..^5) ∧ 𝑦 ∈ (0..^5))) ∧ {𝐾, ⟨1, 𝑏⟩} ∈ 𝐸) → ¬ {⟨1, 𝑏⟩, 𝐿} ∈ 𝐸)
 
20-Nov-2025pgnbgreunbgrlem4 48607 Lemma 4 for pgnbgreunbgr 48613. (Contributed by AV, 20-Nov-2025.)
𝐺 = (5 gPetersenGr 2)    &   𝑉 = (Vtx‘𝐺)    &   𝐸 = (Edg‘𝐺)    &   𝑁 = (𝐺 NeighbVtx 𝑋)       ((𝐿 = ⟨1, (((2nd𝑋) + 2) mod 5)⟩ ∨ 𝐿 = ⟨0, (2nd𝑋)⟩ ∨ 𝐿 = ⟨1, (((2nd𝑋) − 2) mod 5)⟩) → ((𝐾 = ⟨1, (((2nd𝑋) + 2) mod 5)⟩ ∨ 𝐾 = ⟨0, (2nd𝑋)⟩ ∨ 𝐾 = ⟨1, (((2nd𝑋) − 2) mod 5)⟩) → ((𝑋𝑉𝑋 = ⟨1, 𝑦⟩) → ((𝐾𝐿 ∧ (𝑏 ∈ (0..^5) ∧ 𝑦 ∈ (0..^5))) → (({𝐾, ⟨1, 𝑏⟩} ∈ 𝐸 ∧ {⟨1, 𝑏⟩, 𝐿} ∈ 𝐸) → 𝑋 = ⟨1, 𝑏⟩)))))
 
20-Nov-2025gpgedg2iv 48555 The edges of the generalized Petersen graph GPG(N,K) between two inside vertices. (Contributed by AV, 20-Nov-2025.)
𝐽 = (1..^(⌈‘(𝑁 / 2)))    &   𝐼 = (0..^𝑁)    &   𝐺 = (𝑁 gPetersenGr 𝐾)    &   𝐸 = (Edg‘𝐺)       ((𝑁 ∈ (ℤ‘5) ∧ (𝑋𝐼𝑌𝐼) ∧ (𝐾𝐽 ∧ ((4 · 𝐾) mod 𝑁) ≠ 0)) → (({⟨1, ((𝑌𝐾) mod 𝑁)⟩, ⟨1, 𝑋⟩} ∈ 𝐸 ∧ {⟨1, 𝑋⟩, ⟨1, ((𝑌 + 𝐾) mod 𝑁)⟩} ∈ 𝐸) ↔ 𝑋 = 𝑌))
 
20-Nov-20258mod5e3 47826 8 modulo 5 is 3. (Contributed by AV, 20-Nov-2025.)
(8 mod 5) = 3
 
19-Nov-2025oppfdiag 49903 A diagonal functor for opposite categories is the opposite functor of the diagonal functor for original categories post-composed by an isomorphism (fucoppc 49897). (Contributed by Zhi Wang, 19-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   𝐿 = (𝐶Δfunc𝐷)    &   (𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)    &   (𝜑𝐹 = ( oppFunc ↾ (𝐷 Func 𝐶)))    &   𝑁 = (𝐷 Nat 𝐶)    &   (𝜑𝐺 = (𝑚 ∈ (𝐷 Func 𝐶), 𝑛 ∈ (𝐷 Func 𝐶) ↦ ( I ↾ (𝑛𝑁𝑚))))       (𝜑 → (⟨𝐹, 𝐺⟩ ∘func ( oppFunc ‘𝐿)) = (𝑂Δfunc𝑃))
 
19-Nov-2025oppfdiag1a 49902 A constant functor for opposite categories is the opposite functor of the constant functor for original categories. (Contributed by Zhi Wang, 19-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   𝐿 = (𝐶Δfunc𝐷)    &   (𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)    &   𝐴 = (Base‘𝐶)    &   (𝜑𝑋𝐴)       (𝜑 → ( oppFunc ‘((1st𝐿)‘𝑋)) = ((1st ‘(𝑂Δfunc𝑃))‘𝑋))
 
19-Nov-2025oppfdiag1 49901 A constant functor for opposite categories is the opposite functor of the constant functor for original categories. (Contributed by Zhi Wang, 19-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   𝐿 = (𝐶Δfunc𝐷)    &   (𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)    &   (𝜑𝐹 = ( oppFunc ↾ (𝐷 Func 𝐶)))    &   𝐴 = (Base‘𝐶)    &   (𝜑𝑋𝐴)       (𝜑 → (𝐹‘((1st𝐿)‘𝑋)) = ((1st ‘(𝑂Δfunc𝑃))‘𝑋))
 
19-Nov-2025fucoppcfunc 49899 A functor from the opposite category of functors to the category of opposite functors. (Contributed by Zhi Wang, 19-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   𝑄 = (𝐶 FuncCat 𝐷)    &   𝑅 = (oppCat‘𝑄)    &   𝑆 = (𝑂 FuncCat 𝑃)    &   𝑁 = (𝐶 Nat 𝐷)    &   (𝜑𝐹 = ( oppFunc ↾ (𝐶 Func 𝐷)))    &   (𝜑𝐺 = (𝑥 ∈ (𝐶 Func 𝐷), 𝑦 ∈ (𝐶 Func 𝐷) ↦ ( I ↾ (𝑦𝑁𝑥))))    &   (𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)       (𝜑𝐹(𝑅 Func 𝑆)𝐺)
 
19-Nov-2025fucoppcffth 49898 A fully faithful functor from the opposite category of functors to the category of opposite functors. (Contributed by Zhi Wang, 19-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   𝑄 = (𝐶 FuncCat 𝐷)    &   𝑅 = (oppCat‘𝑄)    &   𝑆 = (𝑂 FuncCat 𝑃)    &   𝑁 = (𝐶 Nat 𝐷)    &   (𝜑𝐹 = ( oppFunc ↾ (𝐶 Func 𝐷)))    &   (𝜑𝐺 = (𝑥 ∈ (𝐶 Func 𝐷), 𝑦 ∈ (𝐶 Func 𝐷) ↦ ( I ↾ (𝑦𝑁𝑥))))    &   (𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)       (𝜑𝐹((𝑅 Full 𝑆) ∩ (𝑅 Faith 𝑆))𝐺)
 
19-Nov-2025opf12 49891 The object part of the op functor on functor categories. Lemma for oppfdiag 49903. (Contributed by Zhi Wang, 19-Nov-2025.)
(𝜑𝐹 = ( oppFunc ↾ (𝐶 Func 𝐷)))    &   (𝜑𝑋 ∈ (𝐶 Func 𝐷))       (𝜑 → (𝑀(2nd ‘(𝐹𝑋))𝑁) = (𝑁(2nd𝑋)𝑀))
 
19-Nov-2025oppc2ndf 49776 The opposite functor of the second projection functor is the second projection functor of opposite categories. (Contributed by Zhi Wang, 19-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   (𝜑𝐶𝑉)    &   (𝜑𝐷𝑊)       (𝜑 → ( oppFunc ‘(𝐶 2ndF 𝐷)) = (𝑂 2ndF 𝑃))
 
19-Nov-2025oppc1stf 49775 The opposite functor of the first projection functor is the first projection functor of opposite categories. (Contributed by Zhi Wang, 19-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   (𝜑𝐶𝑉)    &   (𝜑𝐷𝑊)       (𝜑 → ( oppFunc ‘(𝐶 1stF 𝐷)) = (𝑂 1stF 𝑃))
 
19-Nov-2025oppc1stflem 49774 A utility theorem for proving theorems on projection functors of opposite categories. (Contributed by Zhi Wang, 19-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   (𝜑𝐶𝑉)    &   (𝜑𝐷𝑊)    &   ((𝜑 ∧ (𝐶 ∈ Cat ∧ 𝐷 ∈ Cat)) → ( oppFunc ‘(𝐶𝐹𝐷)) = (𝑂𝐹𝑃))    &   𝐹 = (𝑐 ∈ Cat, 𝑑 ∈ Cat ↦ 𝑌)       (𝜑 → ( oppFunc ‘(𝐶𝐹𝐷)) = (𝑂𝐹𝑃))
 
19-Nov-2025uobffth 49705 A fully faithful functor generates equal sets of universal objects. (Contributed by Zhi Wang, 19-Nov-2025.)
𝐵 = (Base‘𝐷)    &   (𝜑𝑋𝐵)    &   (𝜑𝐹 ∈ (𝐶 Func 𝐷))    &   (𝜑 → (𝐾func 𝐹) = 𝐺)    &   (𝜑 → ((1st𝐾)‘𝑋) = 𝑌)    &   (𝜑𝐾 ∈ ((𝐷 Full 𝐸) ∩ (𝐷 Faith 𝐸)))       (𝜑 → dom (𝐹(𝐶 UP 𝐷)𝑋) = dom (𝐺(𝐶 UP 𝐸)𝑌))
 
19-Nov-2025oppf2 49627 Value of the morphism part of the opposite functor. (Contributed by Zhi Wang, 19-Nov-2025.)
(𝜑𝐹 ∈ (𝐶 Func 𝐷))       (𝜑 → (𝑀(2nd ‘( oppFunc ‘𝐹))𝑁) = (𝑁(2nd𝐹)𝑀))
 
19-Nov-2025oppf1 49626 Value of the object part of the opposite functor. (Contributed by Zhi Wang, 19-Nov-2025.)
(𝜑𝐹 ∈ (𝐶 Func 𝐷))       (𝜑 → (1st ‘( oppFunc ‘𝐹)) = (1st𝐹))
 
19-Nov-2025oppfval3 49625 Value of the opposite functor. (Contributed by Zhi Wang, 19-Nov-2025.)
(𝜑𝐹 = ⟨𝐺, 𝐾⟩)    &   (𝜑𝐹 ∈ (𝐶 Func 𝐷))       (𝜑 → ( oppFunc ‘𝐹) = ⟨𝐺, tpos 𝐾⟩)
 
19-Nov-2025eqfnovd 49353 Deduction for equality of operations. (Contributed by Zhi Wang, 19-Nov-2025.)
(𝜑𝐹 Fn (𝐴 × 𝐵))    &   (𝜑𝐺 Fn (𝐴 × 𝐵))    &   ((𝜑 ∧ (𝑥𝐴𝑦𝐵)) → (𝑥𝐹𝑦) = (𝑥𝐺𝑦))       (𝜑𝐹 = 𝐺)
 
19-Nov-2025cos4t3rdpi 42802 The cosine of 4 · (π / 3) is -1 / 2. (Contributed by SN, 19-Nov-2025.)
(cos‘(4 · (π / 3))) = -(1 / 2)
 
19-Nov-2025sin4t3rdpi 42801 The sine of 4 · (π / 3) is -(√3) / 2. (Contributed by SN, 19-Nov-2025.)
(sin‘(4 · (π / 3))) = -((√‘3) / 2)
 
19-Nov-2025cos2t3rdpi 42800 The cosine of 2 · (π / 3) is -1 / 2. (Contributed by SN, 19-Nov-2025.)
(cos‘(2 · (π / 3))) = -(1 / 2)
 
19-Nov-2025sin2t3rdpi 42799 The sine of 2 · (π / 3) is (√3) / 2. (Contributed by SN, 19-Nov-2025.)
(sin‘(2 · (π / 3))) = ((√‘3) / 2)
 
19-Nov-2025cospim 42797 Cosine of a number subtracted from π. (Contributed by SN, 19-Nov-2025.)
(𝐴 ∈ ℂ → (cos‘(π − 𝐴)) = -(cos‘𝐴))
 
19-Nov-2025sinpim 42796 Sine of a number subtracted from π. (Contributed by SN, 19-Nov-2025.)
(𝐴 ∈ ℂ → (sin‘(π − 𝐴)) = (sin‘𝐴))
 
19-Nov-20253rdpwhole 42738 A third of a number plus the number is four thirds of the number. (Contributed by SN, 19-Nov-2025.)
(𝐴 ∈ ℂ → ((𝐴 / 3) + 𝐴) = (4 · (𝐴 / 3)))
 
19-Nov-20251p3e4 42711 1 + 3 = 4. (Contributed by SN, 19-Nov-2025.)
(1 + 3) = 4
 
19-Nov-2025spsv 1989 Generalization of antecedent. A trivial weak version of sps 2193 avoiding ax-12 2185. (Contributed by SN, 13-Nov-2025.) (Proof shortened by WL, 19-Nov-2025.)
(𝜑𝜓)       (∀𝑥𝜑𝜓)
 
18-Nov-2025fucoppccic 49900 The opposite category of functors is isomorphic to the category of opposite functors. (Contributed by Zhi Wang, 18-Nov-2025.)
𝐶 = (CatCat‘𝑈)    &   𝐵 = (Base‘𝐶)    &   𝑋 = (oppCat‘(𝐷 FuncCat 𝐸))    &   𝑌 = ((oppCat‘𝐷) FuncCat (oppCat‘𝐸))    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)    &   (𝜑𝐷𝑉)    &   (𝜑𝐸𝑊)       (𝜑𝑋( ≃𝑐𝐶)𝑌)
 
18-Nov-2025fucoppc 49897 The isomorphism from the opposite category of functors to the category of opposite functors. (Contributed by Zhi Wang, 18-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   𝑄 = (𝐶 FuncCat 𝐷)    &   𝑅 = (oppCat‘𝑄)    &   𝑆 = (𝑂 FuncCat 𝑃)    &   𝑁 = (𝐶 Nat 𝐷)    &   (𝜑𝐹 = ( oppFunc ↾ (𝐶 Func 𝐷)))    &   (𝜑𝐺 = (𝑥 ∈ (𝐶 Func 𝐷), 𝑦 ∈ (𝐶 Func 𝐷) ↦ ( I ↾ (𝑦𝑁𝑥))))    &   𝑇 = (CatCat‘𝑈)    &   𝐵 = (Base‘𝑇)    &   𝐼 = (Iso‘𝑇)    &   (𝜑𝐶𝑉)    &   (𝜑𝐷𝑊)    &   (𝜑𝑅𝐵)    &   (𝜑𝑆𝐵)       (𝜑𝐹(𝑅𝐼𝑆)𝐺)
 
18-Nov-2025fucoppcco 49896 The opposite category of functors is compatible with the category of opposite functors in terms of composition. (Contributed by Zhi Wang, 18-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   𝑄 = (𝐶 FuncCat 𝐷)    &   𝑅 = (oppCat‘𝑄)    &   𝑆 = (𝑂 FuncCat 𝑃)    &   𝑁 = (𝐶 Nat 𝐷)    &   (𝜑𝐹 = ( oppFunc ↾ (𝐶 Func 𝐷)))    &   (𝜑𝐺 = (𝑥 ∈ (𝐶 Func 𝐷), 𝑦 ∈ (𝐶 Func 𝐷) ↦ ( I ↾ (𝑦𝑁𝑥))))    &   (𝜑𝐴 ∈ (𝑋(Hom ‘𝑅)𝑌))    &   (𝜑𝐵 ∈ (𝑌(Hom ‘𝑅)𝑍))       (𝜑 → ((𝑋𝐺𝑍)‘(𝐵(⟨𝑋, 𝑌⟩(comp‘𝑅)𝑍)𝐴)) = (((𝑌𝐺𝑍)‘𝐵)(⟨(𝐹𝑋), (𝐹𝑌)⟩(comp‘𝑆)(𝐹𝑍))((𝑋𝐺𝑌)‘𝐴)))
 
18-Nov-2025fucoppcid 49895 The opposite category of functors is compatible with the category of opposite functors in terms of identity morphism. (Contributed by Zhi Wang, 18-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   𝑄 = (𝐶 FuncCat 𝐷)    &   𝑅 = (oppCat‘𝑄)    &   𝑆 = (𝑂 FuncCat 𝑃)    &   𝑁 = (𝐶 Nat 𝐷)    &   (𝜑𝐹 = ( oppFunc ↾ (𝐶 Func 𝐷)))    &   (𝜑𝐺 = (𝑥 ∈ (𝐶 Func 𝐷), 𝑦 ∈ (𝐶 Func 𝐷) ↦ ( I ↾ (𝑦𝑁𝑥))))    &   (𝜑𝑋 ∈ (𝐶 Func 𝐷))       (𝜑 → ((𝑋𝐺𝑋)‘((Id‘𝑅)‘𝑋)) = ((Id‘𝑆)‘(𝐹𝑋)))
 
18-Nov-2025fucoppclem 49894 Lemma for fucoppc 49897. (Contributed by Zhi Wang, 18-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   𝑁 = (𝐶 Nat 𝐷)    &   (𝜑𝐹 = ( oppFunc ↾ (𝐶 Func 𝐷)))    &   (𝜑𝑋 ∈ (𝐶 Func 𝐷))    &   (𝜑𝑌 ∈ (𝐶 Func 𝐷))       (𝜑 → (𝑌𝑁𝑋) = ((𝐹𝑋)(𝑂 Nat 𝑃)(𝐹𝑌)))
 
18-Nov-2025opf2 49893 The morphism part of the op functor on functor categories. Lemma for fucoppc 49897. (Contributed by Zhi Wang, 18-Nov-2025.)
(𝜑𝐹 = (𝑥𝐴, 𝑦𝐵 ↦ ( I ↾ (𝑦𝑁𝑥))))    &   (𝜑𝑋𝐴)    &   (𝜑𝑌𝐵)    &   (𝜑𝐶 = 𝐷)    &   (𝜑𝐷 ∈ (𝑌𝑁𝑋))       (𝜑 → ((𝑋𝐹𝑌)‘𝐶) = 𝐷)
 
18-Nov-2025opf2fval 49892 The morphism part of the op functor on functor categories. Lemma for fucoppc 49897. (Contributed by Zhi Wang, 18-Nov-2025.)
(𝜑𝐹 = (𝑥𝐴, 𝑦𝐵 ↦ ( I ↾ (𝑦𝑁𝑥))))    &   (𝜑𝑋𝐴)    &   (𝜑𝑌𝐵)       (𝜑 → (𝑋𝐹𝑌) = ( I ↾ (𝑌𝑁𝑋)))
 
18-Nov-2025opf11 49890 The object part of the op functor on functor categories. Lemma for fucoppc 49897. (Contributed by Zhi Wang, 18-Nov-2025.)
(𝜑𝐹 = ( oppFunc ↾ (𝐶 Func 𝐷)))    &   (𝜑𝑋 ∈ (𝐶 Func 𝐷))       (𝜑 → (1st ‘(𝐹𝑋)) = (1st𝑋))
 
18-Nov-2025natoppfb 49718 A natural transformation is natural between opposite functors, and vice versa. (Contributed by Zhi Wang, 18-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   𝑁 = (𝐶 Nat 𝐷)    &   𝑀 = (𝑂 Nat 𝑃)    &   (𝜑𝐾 = ( oppFunc ‘𝐹))    &   (𝜑𝐿 = ( oppFunc ‘𝐺))    &   (𝜑𝐶𝑉)    &   (𝜑𝐷𝑊)       (𝜑 → (𝐹𝑁𝐺) = (𝐿𝑀𝐾))
 
18-Nov-2025natoppf2 49717 A natural transformation is natural between opposite functors. (Contributed by Zhi Wang, 18-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   𝑁 = (𝐶 Nat 𝐷)    &   𝑀 = (𝑂 Nat 𝑃)    &   (𝜑𝐾 = ( oppFunc ‘𝐹))    &   (𝜑𝐿 = ( oppFunc ‘𝐺))    &   (𝜑𝐴 ∈ (𝐹𝑁𝐺))       (𝜑𝐴 ∈ (𝐿𝑀𝐾))
 
18-Nov-2025natoppf 49716 A natural transformation is natural between opposite functors. (Contributed by Zhi Wang, 18-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   𝑁 = (𝐶 Nat 𝐷)    &   𝑀 = (𝑂 Nat 𝑃)    &   (𝜑𝐴 ∈ (⟨𝐹, 𝐺𝑁𝐾, 𝐿⟩))       (𝜑𝐴 ∈ (⟨𝐾, tpos 𝐿𝑀𝐹, tpos 𝐺⟩))
 
18-Nov-2025eloppf2 49621 Both components of a pre-image of a non-empty opposite functor exist; and the second component is a relation on triples. (Contributed by Zhi Wang, 18-Nov-2025.)
(𝐹 oppFunc 𝐺) = 𝐾    &   (𝜑𝑋𝐾)       (𝜑 → ((𝐹 ∈ V ∧ 𝐺 ∈ V) ∧ (Rel 𝐺 ∧ Rel dom 𝐺)))
 
18-Nov-2025eloppf 49620 The pre-image of a non-empty opposite functor is non-empty; and the second component of the pre-image is a relation on triples. (Contributed by Zhi Wang, 18-Nov-2025.)
𝐺 = ( oppFunc ‘𝐹)    &   (𝜑𝑋𝐺)       (𝜑 → (𝐹 ≠ ∅ ∧ (Rel (2nd𝐹) ∧ Rel dom (2nd𝐹))))
 
18-Nov-2025pgnbgreunbgrlem3 48606 Lemma 3 for pgnbgreunbgr 48613. (Contributed by AV, 18-Nov-2025.)
𝐺 = (5 gPetersenGr 2)    &   𝑉 = (Vtx‘𝐺)    &   𝐸 = (Edg‘𝐺)    &   𝑁 = (𝐺 NeighbVtx 𝑋)       (((𝐾𝑁𝐿𝑁𝐾𝐿) ∧ 𝑏 ∈ (0..^5)) → (({𝐾, ⟨0, 𝑏⟩} ∈ 𝐸 ∧ {⟨0, 𝑏⟩, 𝐿} ∈ 𝐸) → 𝑋 = ⟨0, 𝑏⟩))
 
18-Nov-2025pgnbgreunbgrlem2 48605 Lemma 2 for pgnbgreunbgr 48613. Impossible cases. (Contributed by AV, 18-Nov-2025.)
𝐺 = (5 gPetersenGr 2)    &   𝑉 = (Vtx‘𝐺)    &   𝐸 = (Edg‘𝐺)    &   𝑁 = (𝐺 NeighbVtx 𝑋)       ((𝐿 = ⟨1, (((2nd𝑋) + 2) mod 5)⟩ ∨ 𝐿 = ⟨0, (2nd𝑋)⟩ ∨ 𝐿 = ⟨1, (((2nd𝑋) − 2) mod 5)⟩) → ((𝐾 = ⟨1, (((2nd𝑋) + 2) mod 5)⟩ ∨ 𝐾 = ⟨0, (2nd𝑋)⟩ ∨ 𝐾 = ⟨1, (((2nd𝑋) − 2) mod 5)⟩) → ((𝑋 = ⟨1, 𝑦⟩ ∧ 𝑋𝑉) → ((𝐾𝐿 ∧ (𝑏 ∈ (0..^5) ∧ 𝑦 ∈ (0..^5))) → (({𝐾, ⟨0, 𝑏⟩} ∈ 𝐸 ∧ {⟨0, 𝑏⟩, 𝐿} ∈ 𝐸) → 𝑋 = ⟨0, 𝑏⟩)))))
 
18-Nov-2025fxpsdrg 33251 The fixed points of a group action 𝐴 on a division ring 𝑊 is a sub-division-ring. Since sub-division-rings of fields are subfields (see fldsdrgfld 20766), (𝐶FixPts𝐴) might be called the fixed subfield under 𝐴. (Contributed by Thierry Arnoux, 18-Nov-2025.)
𝐵 = (Base‘𝐺)    &   𝐶 = (Base‘𝑊)    &   𝐹 = (𝑥𝐶 ↦ (𝑝𝐴𝑥))    &   (𝜑𝐴 ∈ (𝐺 GrpAct 𝐶))    &   ((𝜑𝑝𝐵) → 𝐹 ∈ (𝑊 RingHom 𝑊))    &   (𝜑𝑊 ∈ DivRing)       (𝜑 → (𝐶FixPts𝐴) ∈ (SubDRing‘𝑊))
 
18-Nov-2025fxpsubrg 33250 The fixed points of a group action 𝐴 on a ring 𝑊 is a subgring. (Contributed by Thierry Arnoux, 18-Nov-2025.)
𝐵 = (Base‘𝐺)    &   𝐶 = (Base‘𝑊)    &   𝐹 = (𝑥𝐶 ↦ (𝑝𝐴𝑥))    &   (𝜑𝐴 ∈ (𝐺 GrpAct 𝐶))    &   ((𝜑𝑝𝐵) → 𝐹 ∈ (𝑊 RingHom 𝑊))       (𝜑 → (𝐶FixPts𝐴) ∈ (SubRing‘𝑊))
 
18-Nov-2025fxpsubg 33249 The fixed points of a group action 𝐴 on a group 𝑊 is a subgroup. (Contributed by Thierry Arnoux, 18-Nov-2025.)
𝐵 = (Base‘𝐺)    &   𝐶 = (Base‘𝑊)    &   𝐹 = (𝑥𝐶 ↦ (𝑝𝐴𝑥))    &   (𝜑𝐴 ∈ (𝐺 GrpAct 𝐶))    &   ((𝜑𝑝𝐵) → 𝐹 ∈ (𝑊 GrpHom 𝑊))       (𝜑 → (𝐶FixPts𝐴) ∈ (SubGrp‘𝑊))
 
18-Nov-2025fxpsubm 33248 Provided the group action 𝐴 induces monoid automorphisms, the set of fixed points of 𝐴 on a monoid 𝑊 is a submonoid, which could be called the fixed submonoid under 𝐴. (Contributed by Thierry Arnoux, 18-Nov-2025.)
𝐵 = (Base‘𝐺)    &   𝐶 = (Base‘𝑊)    &   𝐹 = (𝑥𝐶 ↦ (𝑝𝐴𝑥))    &   (𝜑𝐴 ∈ (𝐺 GrpAct 𝐶))    &   ((𝜑𝑝𝐵) → 𝐹 ∈ (𝑊 MndHom 𝑊))       (𝜑 → (𝐶FixPts𝐴) ∈ (SubMnd‘𝑊))
 
18-Nov-2025cntrval2 33247 Express the center 𝑍 of a group 𝑀 as the set of fixed points of the conjugation operation . (Contributed by Thierry Arnoux, 18-Nov-2025.)
𝐵 = (Base‘𝑀)    &    + = (+g𝑀)    &    = (-g𝑀)    &    = (𝑥𝐵, 𝑦𝐵 ↦ ((𝑥 + 𝑦) 𝑥))    &   𝑍 = (Cntr‘𝑀)       (𝑀 ∈ Grp → 𝑍 = (𝐵FixPts ))
 
18-Nov-2025conjga 33246 Group conjugation induces a group action. (Contributed by Thierry Arnoux, 18-Nov-2025.)
𝐵 = (Base‘𝑀)    &    + = (+g𝑀)    &    = (-g𝑀)    &    = (𝑥𝐵, 𝑦𝐵 ↦ ((𝑥 + 𝑦) 𝑥))       (𝑀 ∈ Grp → ∈ (𝑀 GrpAct 𝐵))
 
18-Nov-2025fxpgaeq 33245 A fixed point 𝑋 is invariant under group action 𝐴. (Contributed by Thierry Arnoux, 18-Nov-2025.)
𝑈 = (Base‘𝐺)    &   (𝜑𝐴 ∈ (𝐺 GrpAct 𝐶))    &   (𝜑𝑋 ∈ (𝐶FixPts𝐴))    &   (𝜑𝑃𝑈)       (𝜑 → (𝑃𝐴𝑋) = 𝑋)
 
18-Nov-2025isfxp 33244 Property of being a fixed point. (Contributed by Thierry Arnoux, 18-Nov-2025.)
𝑈 = (Base‘𝐺)    &   (𝜑𝐴 ∈ (𝐺 GrpAct 𝐶))    &   (𝜑𝑋𝐶)       (𝜑 → (𝑋 ∈ (𝐶FixPts𝐴) ↔ ∀𝑝𝑈 (𝑝𝐴𝑋) = 𝑋))
 
18-Nov-2025fxpgaval 33243 Value of the set of fixed points for a group action 𝐴. (Contributed by Thierry Arnoux, 18-Nov-2025.)
𝑈 = (Base‘𝐺)    &   (𝜑𝐴 ∈ (𝐺 GrpAct 𝐶))       (𝜑 → (𝐶FixPts𝐴) = {𝑥𝐶 ∣ ∀𝑝𝑈 (𝑝𝐴𝑥) = 𝑥})
 
18-Nov-2025fxpss 33242 The set of fixed points is a subset of the set acted upon. (Contributed by Thierry Arnoux, 18-Nov-2025.)
(𝜑𝐵𝑉)    &   (𝜑𝐴𝑊)       (𝜑 → (𝐵FixPts𝐴) ⊆ 𝐵)
 
18-Nov-2025fxpval 33241 Value of the set of fixed points. (Contributed by Thierry Arnoux, 18-Nov-2025.)
(𝜑𝐵𝑉)    &   (𝜑𝐴𝑊)       (𝜑 → (𝐵FixPts𝐴) = {𝑥𝐵 ∣ ∀𝑝 ∈ dom dom 𝐴(𝑝𝐴𝑥) = 𝑥})
 
18-Nov-2025df-fxp 33240 Define the set of fixed points left unchanged by a group action. (Contributed by Thierry Arnoux, 18-Nov-2025.)
FixPts = (𝑏 ∈ V, 𝑎 ∈ V ↦ {𝑥𝑏 ∣ ∀𝑝 ∈ dom dom 𝑎(𝑝𝑎𝑥) = 𝑥})
 
18-Nov-2025ralimd6v 3191 Deduction sextupally quantifying both antecedent and consequent. (Contributed by Scott Fenton, 5-Mar-2025.) Reduce DV conditions. (Revised by Eric Schmidt, 18-Nov-2025.)
(𝜑 → (𝜓𝜒))       (𝜑 → (∀𝑥𝐴𝑦𝐵𝑧𝐶𝑤𝐷𝑝𝐸𝑞𝐹 𝜓 → ∀𝑥𝐴𝑦𝐵𝑧𝐶𝑤𝐷𝑝𝐸𝑞𝐹 𝜒))
 
18-Nov-2025ralimd4v 3189 Deduction quadrupally quantifying both antecedent and consequent. (Contributed by Scott Fenton, 2-Mar-2025.) Reduce DV conditions. (Revised by Eric Schmidt, 18-Nov-2025.)
(𝜑 → (𝜓𝜒))       (𝜑 → (∀𝑥𝐴𝑦𝐵𝑧𝐶𝑤𝐷 𝜓 → ∀𝑥𝐴𝑦𝐵𝑧𝐶𝑤𝐷 𝜒))
 
18-Nov-2025ralimdvv 3187 Deduction doubly quantifying both antecedent and consequent. (Contributed by Scott Fenton, 2-Mar-2025.) Shorten and reduce DV conditions. (Revised by Eric Schmidt, 18-Nov-2025.)
(𝜑 → (𝜓𝜒))       (𝜑 → (∀𝑥𝐴𝑦𝐵 𝜓 → ∀𝑥𝐴𝑦𝐵 𝜒))
 
17-Nov-2025initocmd 50156 Initial objects are the object part of colimits of the empty diagram. (Contributed by Zhi Wang, 17-Nov-2025.)
(InitO‘𝐶) = dom (∅(𝐶 Colimit ∅)∅)
 
17-Nov-2025isinito4a 50035 The predicate "is an initial object" of a category, using universal property. (Contributed by Zhi Wang, 17-Nov-2025.)
(𝜑1 ∈ TermCat)    &   (𝜑𝑋 ∈ (Base‘ 1 ))    &   𝐹 = ((1st ‘( 1 Δfunc𝐶))‘𝑋)       (𝜑 → (𝐼 ∈ (InitO‘𝐶) ↔ 𝐼 ∈ dom (𝐹(𝐶 UP 1 )𝑋)))
 
17-Nov-2025isinito4 50034 The predicate "is an initial object" of a category, using universal property. (Contributed by Zhi Wang, 17-Nov-2025.)
(𝜑1 ∈ TermCat)    &   (𝜑𝑋 ∈ (Base‘ 1 ))    &   (𝜑𝐹 ∈ (𝐶 Func 1 ))       (𝜑 → (𝐼 ∈ (InitO‘𝐶) ↔ 𝐼 ∈ dom (𝐹(𝐶 UP 1 )𝑋)))
 
17-Nov-2025uobeqterm 50033 Universal objects and terminal categories. (Contributed by Zhi Wang, 17-Nov-2025.)
𝐴 = (Base‘𝐷)    &   𝐵 = (Base‘𝐸)    &   (𝜑𝑋𝐴)    &   (𝜑𝑌𝐵)    &   (𝜑𝐹 ∈ (𝐶 Func 𝐷))    &   (𝜑𝐺 ∈ (𝐶 Func 𝐸))    &   (𝜑𝐷 ∈ TermCat)    &   (𝜑𝐸 ∈ TermCat)       (𝜑 → dom (𝐹(𝐶 UP 𝐷)𝑋) = dom (𝐺(𝐶 UP 𝐸)𝑌))
 
17-Nov-2025cofuterm 50032 Post-compose with a functor to a terminal category. (Contributed by Zhi Wang, 17-Nov-2025.)
(𝜑𝐹 ∈ (𝐶 Func 𝐷))    &   (𝜑𝐺 ∈ (𝐷 Func 𝐸))    &   (𝜑𝐾 ∈ (𝐶 Func 𝐸))    &   (𝜑𝐸 ∈ TermCat)       (𝜑 → (𝐺func 𝐹) = 𝐾)
 
17-Nov-2025termfucterm 50031 All functors between two terminal categories are isomorphisms. (Contributed by Zhi Wang, 17-Nov-2025.)
𝐶 = (CatCat‘𝑈)    &   𝐵 = (Base‘𝐶)    &   𝐼 = (Iso‘𝐶)    &   (𝜑𝑋𝐵)    &   (𝜑𝑋 ∈ TermCat)    &   (𝜑𝑌𝐵)    &   (𝜑𝑌 ∈ TermCat)       (𝜑 → (𝑋 Func 𝑌) = (𝑋𝐼𝑌))
 
17-Nov-20250fucterm 50030 The category of functors from an initial category is terminal. (Contributed by Zhi Wang, 17-Nov-2025.)
(𝜑𝐶𝑉)    &   (𝜑 → ∅ = (Base‘𝐶))    &   (𝜑𝐷 ∈ Cat)    &   𝑄 = (𝐶 FuncCat 𝐷)       (𝜑𝑄 ∈ TermCat)
 
17-Nov-2025fucterm 50029 The category of functors to a terminal category is terminal. (Contributed by Zhi Wang, 17-Nov-2025.)
𝑄 = (𝐶 FuncCat 𝐷)    &   (𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ TermCat)       (𝜑𝑄 ∈ TermCat)
 
17-Nov-2025funcsn 50028 The category of one functor to a thin category is terminal. (Contributed by Zhi Wang, 17-Nov-2025.)
𝑄 = (𝐶 FuncCat 𝐷)    &   (𝜑𝐹𝑉)    &   (𝜑 → (𝐶 Func 𝐷) = {𝐹})    &   (𝜑𝐷 ∈ ThinCat)       (𝜑𝑄 ∈ TermCat)
 
17-Nov-2025termco 49968 The object of a terminal category. (Contributed by Zhi Wang, 17-Nov-2025.)
(𝜑𝐶 ∈ TermCat)    &   𝐵 = (Base‘𝐶)       (𝜑 𝐵𝐵)
 
17-Nov-2025uobeq3 49889 An isomorphism between categories generates equal sets of universal objects. (Contributed by Zhi Wang, 17-Nov-2025.)
𝐵 = (Base‘𝐷)    &   (𝜑𝑋𝐵)    &   (𝜑𝐹 ∈ (𝐶 Func 𝐷))    &   (𝜑 → (𝐾func 𝐹) = 𝐺)    &   (𝜑 → ((1st𝐾)‘𝑋) = 𝑌)    &   𝑄 = (CatCat‘𝑈)    &   𝐼 = (Iso‘𝑄)    &   (𝜑𝐾 ∈ (𝐷𝐼𝐸))       (𝜑 → dom (𝐹(𝐶 UP 𝐷)𝑋) = dom (𝐺(𝐶 UP 𝐸)𝑌))
 
17-Nov-2025uobeq2 49888 If a full functor (in fact, a full embedding) is a section, then the sets of universal objects are equal. (Contributed by Zhi Wang, 17-Nov-2025.)
𝐵 = (Base‘𝐷)    &   (𝜑𝑋𝐵)    &   (𝜑𝐹 ∈ (𝐶 Func 𝐷))    &   (𝜑 → (𝐾func 𝐹) = 𝐺)    &   (𝜑 → ((1st𝐾)‘𝑋) = 𝑌)    &   𝑄 = (CatCat‘𝑈)    &   𝑆 = (Sect‘𝑄)    &   (𝜑𝐾 ∈ (𝐷 Full 𝐸))    &   (𝜑𝐾 ∈ dom (𝐷𝑆𝐸))       (𝜑 → dom (𝐹(𝐶 UP 𝐷)𝑋) = dom (𝐺(𝐶 UP 𝐸)𝑌))
 
17-Nov-2025catcisoi 49887 A functor is an isomorphism of categories only if it is full and faithful, and is a bijection on the objects. Remark 3.28(2) in [Adamek] p. 34. (Contributed by Zhi Wang, 17-Nov-2025.)
𝐶 = (CatCat‘𝑈)    &   𝑅 = (Base‘𝑋)    &   𝑆 = (Base‘𝑌)    &   𝐼 = (Iso‘𝐶)    &   (𝜑𝐹 ∈ (𝑋𝐼𝑌))       (𝜑 → (𝐹 ∈ ((𝑋 Full 𝑌) ∩ (𝑋 Faith 𝑌)) ∧ (1st𝐹):𝑅1-1-onto𝑆))
 
17-Nov-2025uobeq 49707 If a full functor (in fact, a full embedding) is a section of a functor (surjective on objects), then the sets of universal objects are equal. (Contributed by Zhi Wang, 17-Nov-2025.)
𝐵 = (Base‘𝐷)    &   (𝜑𝑋𝐵)    &   (𝜑𝐹 ∈ (𝐶 Func 𝐷))    &   (𝜑 → (𝐾func 𝐹) = 𝐺)    &   (𝜑 → ((1st𝐾)‘𝑋) = 𝑌)    &   𝐼 = (idfunc𝐷)    &   (𝜑𝐾 ∈ (𝐷 Full 𝐸))    &   (𝜑 → (𝐿func 𝐾) = 𝐼)    &   (𝜑𝐿 ∈ (𝐸 Func 𝐷))       (𝜑 → dom (𝐹(𝐶 UP 𝐷)𝑋) = dom (𝐺(𝐶 UP 𝐸)𝑌))
 
17-Nov-2025uobeqw 49706 If a full functor (in fact, a full embedding) is a section of a fully faithful functor (surjective on objects), then the sets of universal objects are equal. (Contributed by Zhi Wang, 17-Nov-2025.)
𝐵 = (Base‘𝐷)    &   (𝜑𝑋𝐵)    &   (𝜑𝐹 ∈ (𝐶 Func 𝐷))    &   (𝜑 → (𝐾func 𝐹) = 𝐺)    &   (𝜑 → ((1st𝐾)‘𝑋) = 𝑌)    &   𝐼 = (idfunc𝐷)    &   (𝜑𝐾 ∈ (𝐷 Full 𝐸))    &   (𝜑 → (𝐿func 𝐾) = 𝐼)    &   (𝜑𝐿 ∈ ((𝐸 Full 𝐷) ∩ (𝐸 Faith 𝐷)))       (𝜑 → dom (𝐹(𝐶 UP 𝐷)𝑋) = dom (𝐺(𝐶 UP 𝐸)𝑌))
 
17-Nov-2025uptrar 49703 Universal property and fully faithful functor. (Contributed by Zhi Wang, 17-Nov-2025.)
(𝜑 → ((1st𝐾)‘𝑋) = 𝑌)    &   (𝜑𝐾 ∈ ((𝐷 Full 𝐸) ∩ (𝐷 Faith 𝐸)))    &   (𝜑 → (𝐾func 𝐹) = 𝐺)    &   𝐵 = (Base‘𝐷)    &   (𝜑𝑋𝐵)    &   (𝜑𝐹 ∈ (𝐶 Func 𝐷))    &   (𝜑 → ((𝑋(2nd𝐾)((1st𝐹)‘𝑍))‘𝑁) = 𝑀)    &   (𝜑𝑍(𝐺(𝐶 UP 𝐸)𝑌)𝑁)       (𝜑𝑍(𝐹(𝐶 UP 𝐷)𝑋)𝑀)
 
17-Nov-2025uobrcl 49680 Reverse closure for universal object. (Contributed by Zhi Wang, 17-Nov-2025.)
(𝑋 ∈ dom (𝐹(𝐷 UP 𝐸)𝑊) → (𝐷 ∈ Cat ∧ 𝐸 ∈ Cat))
 
17-Nov-2025oppff1o 49636 The operation generating opposite functors is bijective. (Contributed by Zhi Wang, 17-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   (𝜑𝐶𝑉)    &   (𝜑𝐷𝑊)       (𝜑 → ( oppFunc ↾ (𝐶 Func 𝐷)):(𝐶 Func 𝐷)–1-1-onto→(𝑂 Func 𝑃))
 
17-Nov-2025oppff1 49635 The operation generating opposite functors is injective. (Contributed by Zhi Wang, 17-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)       ( oppFunc ↾ (𝐶 Func 𝐷)):(𝐶 Func 𝐷)–1-1→(𝑂 Func 𝑃)
 
17-Nov-20252oppffunc 49633 The opposite functor of an opposite functor is a functor on the original categories. (Contributed by Zhi Wang, 14-Nov-2025.) The functor in opposite categories does not have to be an opposite functor. (Revised by Zhi Wang, 17-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   (𝜑𝐶𝑉)    &   (𝜑𝐷𝑊)    &   (𝜑𝐹 ∈ (𝑂 Func 𝑃))       (𝜑 → ( oppFunc ‘𝐹) ∈ (𝐶 Func 𝐷))
 
17-Nov-2025oppffn 49611 oppFunc is a function on (V × V). (Contributed by Zhi Wang, 17-Nov-2025.)
oppFunc Fn (V × V)
 
17-Nov-2025isoval2 49522 The isomorphisms are the domain of the inverse relation. (Contributed by Zhi Wang, 17-Nov-2025.)
𝑁 = (Inv‘𝐶)    &   𝐼 = (Iso‘𝐶)       (𝑋𝐼𝑌) = dom (𝑋𝑁𝑌)
 
17-Nov-2025isorcl2 49521 Reverse closure for isomorphism relations. (Contributed by Zhi Wang, 17-Nov-2025.)
𝐼 = (Iso‘𝐶)    &   (𝜑𝐹 ∈ (𝑋𝐼𝑌))    &   𝐵 = (Base‘𝐶)       (𝜑 → (𝑋𝐵𝑌𝐵))
 
17-Nov-2025isorcl 49520 Reverse closure for isomorphism relations. (Contributed by Zhi Wang, 17-Nov-2025.)
𝐼 = (Iso‘𝐶)    &   (𝜑𝐹 ∈ (𝑋𝐼𝑌))       (𝜑𝐶 ∈ Cat)
 
17-Nov-2025pgnbgreunbgrlem2lem3 48604 Lemma 3 for pgnbgreunbgrlem2 48605. (Contributed by AV, 17-Nov-2025.)
𝐺 = (5 gPetersenGr 2)    &   𝑉 = (Vtx‘𝐺)    &   𝐸 = (Edg‘𝐺)    &   𝑁 = (𝐺 NeighbVtx 𝑋)       ((((𝐿 = ⟨1, ((𝑦 + 2) mod 5)⟩ ∧ 𝐾 = ⟨1, ((𝑦 − 2) mod 5)⟩) ∧ (𝑏 ∈ (0..^5) ∧ 𝑦 ∈ (0..^5))) ∧ {𝐾, ⟨0, 𝑏⟩} ∈ 𝐸) → ¬ {⟨0, 𝑏⟩, 𝐿} ∈ 𝐸)
 
16-Nov-2025uptrai 49704 Universal property and fully faithful functor. (Contributed by Zhi Wang, 16-Nov-2025.)
(𝜑 → ((1st𝐾)‘𝑋) = 𝑌)    &   (𝜑𝐾 ∈ ((𝐷 Full 𝐸) ∩ (𝐷 Faith 𝐸)))    &   (𝜑 → (𝐾func 𝐹) = 𝐺)    &   (𝜑 → ((𝑋(2nd𝐾)((1st𝐹)‘𝑍))‘𝑀) = 𝑁)    &   (𝜑𝑍(𝐹(𝐶 UP 𝐷)𝑋)𝑀)       (𝜑𝑍(𝐺(𝐶 UP 𝐸)𝑌)𝑁)
 
16-Nov-2025uptra 49702 Universal property and fully faithful functor. (Contributed by Zhi Wang, 16-Nov-2025.)
(𝜑 → ((1st𝐾)‘𝑋) = 𝑌)    &   (𝜑𝐾 ∈ ((𝐷 Full 𝐸) ∩ (𝐷 Faith 𝐸)))    &   (𝜑 → (𝐾func 𝐹) = 𝐺)    &   𝐵 = (Base‘𝐷)    &   (𝜑𝑋𝐵)    &   (𝜑𝐹 ∈ (𝐶 Func 𝐷))    &   (𝜑 → ((𝑋(2nd𝐾)((1st𝐹)‘𝑍))‘𝑀) = 𝑁)    &   𝐽 = (Hom ‘𝐷)    &   (𝜑𝑀 ∈ (𝑋𝐽((1st𝐹)‘𝑍)))       (𝜑 → (𝑍(𝐹(𝐶 UP 𝐷)𝑋)𝑀𝑍(𝐺(𝐶 UP 𝐸)𝑌)𝑁))
 
16-Nov-2025uptri 49701 Universal property and fully faithful functor. (Contributed by Zhi Wang, 16-Nov-2025.)
(𝜑 → (𝑅𝑋) = 𝑌)    &   (𝜑𝑅((𝐷 Full 𝐸) ∩ (𝐷 Faith 𝐸))𝑆)    &   (𝜑 → (⟨𝑅, 𝑆⟩ ∘func𝐹, 𝐺⟩) = ⟨𝐾, 𝐿⟩)    &   (𝜑 → ((𝑋𝑆(𝐹𝑍))‘𝑀) = 𝑁)    &   (𝜑𝑍(⟨𝐹, 𝐺⟩(𝐶 UP 𝐷)𝑋)𝑀)       (𝜑𝑍(⟨𝐾, 𝐿⟩(𝐶 UP 𝐸)𝑌)𝑁)
 
16-Nov-2025uptr 49700 Universal property and fully faithful functor. (Contributed by Zhi Wang, 16-Nov-2025.)
(𝜑 → (𝑅𝑋) = 𝑌)    &   (𝜑𝑅((𝐷 Full 𝐸) ∩ (𝐷 Faith 𝐸))𝑆)    &   (𝜑 → (⟨𝑅, 𝑆⟩ ∘func𝐹, 𝐺⟩) = ⟨𝐾, 𝐿⟩)    &   𝐵 = (Base‘𝐷)    &   (𝜑𝑋𝐵)    &   (𝜑𝐹(𝐶 Func 𝐷)𝐺)    &   (𝜑 → ((𝑋𝑆(𝐹𝑍))‘𝑀) = 𝑁)    &   𝐽 = (Hom ‘𝐷)    &   (𝜑𝑀 ∈ (𝑋𝐽(𝐹𝑍)))       (𝜑 → (𝑍(⟨𝐹, 𝐺⟩(𝐶 UP 𝐷)𝑋)𝑀𝑍(⟨𝐾, 𝐿⟩(𝐶 UP 𝐸)𝑌)𝑁))
 
16-Nov-2025uptrlem3 49699 Lemma for uptr 49700. (Contributed by Zhi Wang, 16-Nov-2025.)
(𝜑 → (𝑅𝑋) = 𝑌)    &   (𝜑𝑅((𝐷 Full 𝐸) ∩ (𝐷 Faith 𝐸))𝑆)    &   (𝜑 → (⟨𝑅, 𝑆⟩ ∘func𝐹, 𝐺⟩) = ⟨𝐾, 𝐿⟩)    &   𝐵 = (Base‘𝐷)    &   (𝜑𝑋𝐵)    &   (𝜑𝐹(𝐶 Func 𝐷)𝐺)    &   (𝜑 → ((𝑋𝑆(𝐹𝑍))‘𝑀) = 𝑁)    &   𝐽 = (Hom ‘𝐷)    &   (𝜑𝑀 ∈ (𝑋𝐽(𝐹𝑍)))    &   𝐴 = (Base‘𝐶)    &   (𝜑𝑍𝐴)       (𝜑 → (𝑍(⟨𝐹, 𝐺⟩(𝐶 UP 𝐷)𝑋)𝑀𝑍(⟨𝐾, 𝐿⟩(𝐶 UP 𝐸)𝑌)𝑁))
 
16-Nov-2025uptrlem2 49698 Lemma for uptr 49700. (Contributed by Zhi Wang, 16-Nov-2025.)
𝐻 = (Hom ‘𝐶)    &   𝐼 = (Hom ‘𝐷)    &   𝐽 = (Hom ‘𝐸)    &    = (comp‘𝐷)    &    = (comp‘𝐸)    &   𝐴 = (Base‘𝐶)    &   𝐵 = (Base‘𝐷)    &   (𝜑𝑋𝐵)    &   (𝜑 → ((1st𝐾)‘𝑋) = 𝑌)    &   (𝜑𝑍𝐴)    &   (𝜑𝑊𝐴)    &   (𝜑𝑀 ∈ (𝑋𝐼((1st𝐹)‘𝑍)))    &   (𝜑 → ((𝑋(2nd𝐾)((1st𝐹)‘𝑍))‘𝑀) = 𝑁)    &   (𝜑𝐹 ∈ (𝐶 Func 𝐷))    &   (𝜑𝐾 ∈ ((𝐷 Full 𝐸) ∩ (𝐷 Faith 𝐸)))    &   (𝜑 → (𝐾func 𝐹) = 𝐺)       (𝜑 → (∀ ∈ (𝑌𝐽((1st𝐺)‘𝑊))∃!𝑘 ∈ (𝑍𝐻𝑊) = (((𝑍(2nd𝐺)𝑊)‘𝑘)(⟨𝑌, ((1st𝐺)‘𝑍)⟩ ((1st𝐺)‘𝑊))𝑁) ↔ ∀𝑔 ∈ (𝑋𝐼((1st𝐹)‘𝑊))∃!𝑘 ∈ (𝑍𝐻𝑊)𝑔 = (((𝑍(2nd𝐹)𝑊)‘𝑘)(⟨𝑋, ((1st𝐹)‘𝑍)⟩ ((1st𝐹)‘𝑊))𝑀)))
 
16-Nov-2025uptrlem1 49697 Lemma for uptr 49700. (Contributed by Zhi Wang, 16-Nov-2025.)
𝐻 = (Hom ‘𝐶)    &   𝐼 = (Hom ‘𝐷)    &   𝐽 = (Hom ‘𝐸)    &    = (comp‘𝐷)    &    = (comp‘𝐸)    &   (𝜑𝑋 ∈ (Base‘𝐷))    &   (𝜑 → (𝑀𝑋) = 𝑌)    &   (𝜑𝑍 ∈ (Base‘𝐶))    &   (𝜑𝑊 ∈ (Base‘𝐶))    &   (𝜑𝐴 ∈ (𝑋𝐼(𝐹𝑍)))    &   (𝜑 → ((𝑋𝑁(𝐹𝑍))‘𝐴) = 𝐵)    &   (𝜑𝐹(𝐶 Func 𝐷)𝐺)    &   (𝜑𝑀((𝐷 Full 𝐸) ∩ (𝐷 Faith 𝐸))𝑁)    &   (𝜑 → (⟨𝑀, 𝑁⟩ ∘func𝐹, 𝐺⟩) = ⟨𝐾, 𝐿⟩)       (𝜑 → (∀ ∈ (𝑌𝐽(𝐾𝑊))∃!𝑘 ∈ (𝑍𝐻𝑊) = (((𝑍𝐿𝑊)‘𝑘)(⟨𝑌, (𝐾𝑍)⟩ (𝐾𝑊))𝐵) ↔ ∀𝑔 ∈ (𝑋𝐼(𝐹𝑊))∃!𝑘 ∈ (𝑍𝐻𝑊)𝑔 = (((𝑍𝐺𝑊)‘𝑘)(⟨𝑋, (𝐹𝑍)⟩ (𝐹𝑊))𝐴)))
 
16-Nov-2025idemb 49646 The inclusion functor is an embedding. Remark 4.4(1) in [Adamek] p. 49. (Contributed by Zhi Wang, 16-Nov-2025.)
𝐼 = (idfunc𝐶)       (𝐼 ∈ (𝐷 Func 𝐸) → (𝐼 ∈ (𝐷 Faith 𝐸) ∧ Fun (1st𝐼)))
 
16-Nov-2025idfu1stf1o 49586 The identity functor/inclusion functor is bijective on objects. (Contributed by Zhi Wang, 16-Nov-2025.)
𝐼 = (idfunc𝐶)    &   𝐵 = (Base‘𝐶)       (𝐶 ∈ Cat → (1st𝐼):𝐵1-1-onto𝐵)
 
16-Nov-2025cofucla 49583 The composition of two functors is a functor. Proposition 3.23 of [Adamek] p. 33. (Contributed by Zhi Wang, 16-Nov-2025.)
(𝜑𝐹(𝐶 Func 𝐷)𝐺)    &   (𝜑𝐾(𝐷 Func 𝐸)𝐿)       (𝜑 → (⟨𝐾, 𝐿⟩ ∘func𝐹, 𝐺⟩) ∈ (𝐶 Func 𝐸))
 
16-Nov-2025cofu2a 49582 Value of the morphism part of the functor composition. (Contributed by Zhi Wang, 16-Nov-2025.)
𝐵 = (Base‘𝐶)    &   (𝜑𝐹(𝐶 Func 𝐷)𝐺)    &   (𝜑𝐾(𝐷 Func 𝐸)𝐿)    &   (𝜑 → (⟨𝐾, 𝐿⟩ ∘func𝐹, 𝐺⟩) = ⟨𝑀, 𝑁⟩)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)    &   𝐻 = (Hom ‘𝐶)    &   (𝜑𝑅 ∈ (𝑋𝐻𝑌))       (𝜑 → (((𝐹𝑋)𝐿(𝐹𝑌))‘((𝑋𝐺𝑌)‘𝑅)) = ((𝑋𝑁𝑌)‘𝑅))
 
16-Nov-2025cofu1a 49581 Value of the object part of the functor composition. (Contributed by Zhi Wang, 16-Nov-2025.)
𝐵 = (Base‘𝐶)    &   (𝜑𝐹(𝐶 Func 𝐷)𝐺)    &   (𝜑𝐾(𝐷 Func 𝐸)𝐿)    &   (𝜑 → (⟨𝐾, 𝐿⟩ ∘func𝐹, 𝐺⟩) = ⟨𝑀, 𝑁⟩)    &   (𝜑𝑋𝐵)       (𝜑 → (𝐾‘(𝐹𝑋)) = (𝑀𝑋))
 
16-Nov-2025pgnbgreunbgrlem2lem2 48603 Lemma 2 for pgnbgreunbgrlem2 48605. (Contributed by AV, 16-Nov-2025.)
𝐺 = (5 gPetersenGr 2)    &   𝑉 = (Vtx‘𝐺)    &   𝐸 = (Edg‘𝐺)    &   𝑁 = (𝐺 NeighbVtx 𝑋)       ((((𝐿 = ⟨1, ((𝑦 − 2) mod 5)⟩ ∧ 𝐾 = ⟨0, 𝑦⟩) ∧ (𝑏 ∈ (0..^5) ∧ 𝑦 ∈ (0..^5))) ∧ {𝐾, ⟨0, 𝑏⟩} ∈ 𝐸) → ¬ {⟨0, 𝑏⟩, 𝐿} ∈ 𝐸)
 
16-Nov-2025pgnbgreunbgrlem2lem1 48602 Lemma 1 for pgnbgreunbgrlem2 48605. (Contributed by AV, 16-Nov-2025.)
𝐺 = (5 gPetersenGr 2)    &   𝑉 = (Vtx‘𝐺)    &   𝐸 = (Edg‘𝐺)    &   𝑁 = (𝐺 NeighbVtx 𝑋)       ((((𝐿 = ⟨1, ((𝑦 + 2) mod 5)⟩ ∧ 𝐾 = ⟨0, 𝑦⟩) ∧ (𝑏 ∈ (0..^5) ∧ 𝑦 ∈ (0..^5))) ∧ {𝐾, ⟨0, 𝑏⟩} ∈ 𝐸) → ¬ {⟨0, 𝑏⟩, 𝐿} ∈ 𝐸)
 
16-Nov-2025nregmodelaxext 45463 The Axiom of Extensionality ax-ext 2709 is true in the permutation model defined from 𝐹. This theorem is an immediate consequence of the fact that ax-ext 2709 holds in all permutation models and is provided as an illustration. (Contributed by Eric Schmidt, 16-Nov-2025.)
𝐹 = (( I ↾ (V ∖ {∅, {∅}})) ∪ {⟨∅, {∅}⟩, ⟨{∅}, ∅⟩})    &   𝑅 = (𝐹 ∘ E )       (∀𝑧(𝑧𝑅𝑥𝑧𝑅𝑦) → 𝑥 = 𝑦)
 
16-Nov-2025nregmodel 45462 The Axiom of Regularity ax-reg 9500 is false in the permutation model defined from 𝐹. Since the other axioms of ZFC hold in all permutation models (permaxext 45450 through permac8prim 45459), we can conclude that Regularity does not follow from those axioms, assuming ZFC is consistent. (If we could prove Regularity from the other axioms, we could prove it in the permutation model and thus obtain a contradiction with this theorem.) Since we also know that Regularity is consistent with the other axioms (wfaxext 45438 through wfac8prim 45447), Regularity is neither provable nor disprovable from the other axioms; i.e., it is independent of them. (Contributed by Eric Schmidt, 16-Nov-2025.)
𝐹 = (( I ↾ (V ∖ {∅, {∅}})) ∪ {⟨∅, {∅}⟩, ⟨{∅}, ∅⟩})    &   𝑅 = (𝐹 ∘ E )        ¬ ∀𝑥(∃𝑦 𝑦𝑅𝑥 → ∃𝑦(𝑦𝑅𝑥 ∧ ∀𝑧(𝑧𝑅𝑦 → ¬ 𝑧𝑅𝑥)))
 
16-Nov-2025nregmodellem 45461 Lemma for nregmodel 45462. (Contributed by Eric Schmidt, 16-Nov-2025.)
𝐹 = (( I ↾ (V ∖ {∅, {∅}})) ∪ {⟨∅, {∅}⟩, ⟨{∅}, ∅⟩})    &   𝑅 = (𝐹 ∘ E )       (𝑥𝑅∅ ↔ 𝑥 ∈ {∅})
 
16-Nov-2025nregmodelf1o 45460 Define a permutation 𝐹 used to produce a model in which ax-reg 9500 is false. The permutation swaps and {∅} and leaves the rest of 𝑉 fixed. This is an example given after Exercise II.9.2 of [Kunen2] p. 148. (Contributed by Eric Schmidt, 16-Nov-2025.)
𝐹 = (( I ↾ (V ∖ {∅, {∅}})) ∪ {⟨∅, {∅}⟩, ⟨{∅}, ∅⟩})       𝐹:V–1-1-onto→V
 
16-Nov-2025permac8prim 45459 The Axiom of Choice ac8prim 45436 holds in permutation models. Part of Exercise II.9.3 of [Kunen2] p. 149. Note that ax-ac 10372 requires Regularity for its derivation from the usual Axiom of Choice and does not necessarily hold in permutation models. (Contributed by Eric Schmidt, 16-Nov-2025.)
𝐹:V–1-1-onto→V    &   𝑅 = (𝐹 ∘ E )       ((∀𝑧(𝑧𝑅𝑥 → ∃𝑤 𝑤𝑅𝑧) ∧ ∀𝑧𝑤((𝑧𝑅𝑥𝑤𝑅𝑥) → (¬ 𝑧 = 𝑤 → ∀𝑦(𝑦𝑅𝑧 → ¬ 𝑦𝑅𝑤)))) → ∃𝑦𝑧(𝑧𝑅𝑥 → ∃𝑤𝑣((𝑣𝑅𝑧𝑣𝑅𝑦) ↔ 𝑣 = 𝑤)))
 
15-Nov-2025cofidfth 49649 If "𝐹 is a section of 𝐺 " in a category of small categories (in a universe), then 𝐹 is faithful. Combined with cofidf1 49608, this theorem proves that 𝐹 is an embedding (a faithful functor injective on objects, remark 3.28(1) of [Adamek] p. 34). (Contributed by Zhi Wang, 15-Nov-2025.)
𝐼 = (idfunc𝐷)    &   (𝜑𝐹(𝐷 Func 𝐸)𝐺)    &   (𝜑𝐾(𝐸 Func 𝐷)𝐿)    &   (𝜑 → (⟨𝐾, 𝐿⟩ ∘func𝐹, 𝐺⟩) = 𝐼)       (𝜑𝐹(𝐷 Faith 𝐸)𝐺)
 
15-Nov-2025cofidf1 49608 If "𝐹, 𝐺 is a section of 𝐾, 𝐿 " in a category of small categories (in a universe), then 𝐹 is injective, and 𝐾 is surjective. (Contributed by Zhi Wang, 15-Nov-2025.)
𝐼 = (idfunc𝐷)    &   𝐵 = (Base‘𝐷)    &   (𝜑𝐹(𝐷 Func 𝐸)𝐺)    &   (𝜑𝐾(𝐸 Func 𝐷)𝐿)    &   (𝜑 → (⟨𝐾, 𝐿⟩ ∘func𝐹, 𝐺⟩) = 𝐼)    &   𝐶 = (Base‘𝐸)       (𝜑 → (𝐹:𝐵1-1𝐶𝐾:𝐶onto𝐵))
 
15-Nov-2025cofidf2 49607 If "𝐹 is a section of 𝐺 " in a category of small categories (in a universe), then the morphism part of 𝐹 is injective, and the morphism part of 𝐺 is surjective in the image of 𝐹. (Contributed by Zhi Wang, 15-Nov-2025.)
𝐼 = (idfunc𝐷)    &   𝐵 = (Base‘𝐷)    &   (𝜑𝐹(𝐷 Func 𝐸)𝐺)    &   (𝜑𝐾(𝐸 Func 𝐷)𝐿)    &   (𝜑 → (⟨𝐾, 𝐿⟩ ∘func𝐹, 𝐺⟩) = 𝐼)    &   𝐻 = (Hom ‘𝐷)    &   𝐽 = (Hom ‘𝐸)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)       (𝜑 → ((𝑋𝐺𝑌):(𝑋𝐻𝑌)–1-1→((𝐹𝑋)𝐽(𝐹𝑌)) ∧ ((𝐹𝑋)𝐿(𝐹𝑌)):((𝐹𝑋)𝐽(𝐹𝑌))–onto→(𝑋𝐻𝑌)))
 
15-Nov-2025cofidval 49606 The property "𝐹, 𝐺 is a section of 𝐾, 𝐿 " in a category of small categories (in a universe); expressed explicitly. (Contributed by Zhi Wang, 15-Nov-2025.)
𝐼 = (idfunc𝐷)    &   𝐵 = (Base‘𝐷)    &   (𝜑𝐹(𝐷 Func 𝐸)𝐺)    &   (𝜑𝐾(𝐸 Func 𝐷)𝐿)    &   (𝜑 → (⟨𝐾, 𝐿⟩ ∘func𝐹, 𝐺⟩) = 𝐼)    &   𝐻 = (Hom ‘𝐷)       (𝜑 → ((𝐾𝐹) = ( I ↾ 𝐵) ∧ (𝑥𝐵, 𝑦𝐵 ↦ (((𝐹𝑥)𝐿(𝐹𝑦)) ∘ (𝑥𝐺𝑦))) = (𝑧 ∈ (𝐵 × 𝐵) ↦ ( I ↾ (𝐻𝑧)))))
 
15-Nov-2025cofidf1a 49605 If "𝐹 is a section of 𝐺 " in a category of small categories (in a universe), then the object part of 𝐹 is injective, and the object part of 𝐺 is surjective. (Contributed by Zhi Wang, 15-Nov-2025.)
𝐼 = (idfunc𝐷)    &   𝐵 = (Base‘𝐷)    &   (𝜑𝐹 ∈ (𝐷 Func 𝐸))    &   (𝜑𝐺 ∈ (𝐸 Func 𝐷))    &   (𝜑 → (𝐺func 𝐹) = 𝐼)    &   𝐶 = (Base‘𝐸)       (𝜑 → ((1st𝐹):𝐵1-1𝐶 ∧ (1st𝐺):𝐶onto𝐵))
 
15-Nov-2025cofidf2a 49604 If "𝐹 is a section of 𝐺 " in a category of small categories (in a universe), then the morphism part of 𝐹 is injective, and the morphism part of 𝐺 is surjective in the image of 𝐹. (Contributed by Zhi Wang, 15-Nov-2025.)
𝐼 = (idfunc𝐷)    &   𝐵 = (Base‘𝐷)    &   (𝜑𝐹 ∈ (𝐷 Func 𝐸))    &   (𝜑𝐺 ∈ (𝐸 Func 𝐷))    &   (𝜑 → (𝐺func 𝐹) = 𝐼)    &   𝐻 = (Hom ‘𝐷)    &   𝐽 = (Hom ‘𝐸)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)       (𝜑 → ((𝑋(2nd𝐹)𝑌):(𝑋𝐻𝑌)–1-1→(((1st𝐹)‘𝑋)𝐽((1st𝐹)‘𝑌)) ∧ (((1st𝐹)‘𝑋)(2nd𝐺)((1st𝐹)‘𝑌)):(((1st𝐹)‘𝑋)𝐽((1st𝐹)‘𝑌))–onto→(𝑋𝐻𝑌)))
 
15-Nov-2025cofidvala 49603 The property "𝐹 is a section of 𝐺 " in a category of small categories (in a universe); expressed explicitly. (Contributed by Zhi Wang, 15-Nov-2025.)
𝐼 = (idfunc𝐷)    &   𝐵 = (Base‘𝐷)    &   (𝜑𝐹 ∈ (𝐷 Func 𝐸))    &   (𝜑𝐺 ∈ (𝐸 Func 𝐷))    &   (𝜑 → (𝐺func 𝐹) = 𝐼)    &   𝐻 = (Hom ‘𝐷)       (𝜑 → (((1st𝐺) ∘ (1st𝐹)) = ( I ↾ 𝐵) ∧ (𝑥𝐵, 𝑦𝐵 ↦ ((((1st𝐹)‘𝑥)(2nd𝐺)((1st𝐹)‘𝑦)) ∘ (𝑥(2nd𝐹)𝑦))) = (𝑧 ∈ (𝐵 × 𝐵) ↦ ( I ↾ (𝐻𝑧)))))
 
15-Nov-2025cofid2 49602 Express the morphism part of (𝐺func 𝐹) = 𝐼 explicitly. (Contributed by Zhi Wang, 15-Nov-2025.)
𝐼 = (idfunc𝐷)    &   𝐵 = (Base‘𝐷)    &   (𝜑𝑋𝐵)    &   (𝜑𝐹(𝐷 Func 𝐸)𝐺)    &   (𝜑𝐾(𝐸 Func 𝐷)𝐿)    &   (𝜑 → (⟨𝐾, 𝐿⟩ ∘func𝐹, 𝐺⟩) = 𝐼)    &   (𝜑𝑌𝐵)    &   𝐻 = (Hom ‘𝐷)    &   (𝜑𝑅 ∈ (𝑋𝐻𝑌))       (𝜑 → (((𝐹𝑋)𝐿(𝐹𝑌))‘((𝑋𝐺𝑌)‘𝑅)) = 𝑅)
 
15-Nov-2025cofid1 49601 Express the object part of (𝐺func 𝐹) = 𝐼 explicitly. (Contributed by Zhi Wang, 15-Nov-2025.)
𝐼 = (idfunc𝐷)    &   𝐵 = (Base‘𝐷)    &   (𝜑𝑋𝐵)    &   (𝜑𝐹(𝐷 Func 𝐸)𝐺)    &   (𝜑𝐾(𝐸 Func 𝐷)𝐿)    &   (𝜑 → (⟨𝐾, 𝐿⟩ ∘func𝐹, 𝐺⟩) = 𝐼)       (𝜑 → (𝐾‘(𝐹𝑋)) = 𝑋)
 
15-Nov-2025cofid2a 49600 Express the morphism part of (𝐺func 𝐹) = 𝐼 explicitly. (Contributed by Zhi Wang, 15-Nov-2025.)
𝐼 = (idfunc𝐷)    &   𝐵 = (Base‘𝐷)    &   (𝜑𝑋𝐵)    &   (𝜑𝐹 ∈ (𝐷 Func 𝐸))    &   (𝜑𝐺 ∈ (𝐸 Func 𝐷))    &   (𝜑 → (𝐺func 𝐹) = 𝐼)    &   (𝜑𝑌𝐵)    &   𝐻 = (Hom ‘𝐷)    &   (𝜑𝑅 ∈ (𝑋𝐻𝑌))       (𝜑 → ((((1st𝐹)‘𝑋)(2nd𝐺)((1st𝐹)‘𝑌))‘((𝑋(2nd𝐹)𝑌)‘𝑅)) = 𝑅)
 
15-Nov-2025cofid1a 49599 Express the object part of (𝐺func 𝐹) = 𝐼 explicitly. (Contributed by Zhi Wang, 15-Nov-2025.)
𝐼 = (idfunc𝐷)    &   𝐵 = (Base‘𝐷)    &   (𝜑𝑋𝐵)    &   (𝜑𝐹 ∈ (𝐷 Func 𝐸))    &   (𝜑𝐺 ∈ (𝐸 Func 𝐷))    &   (𝜑 → (𝐺func 𝐹) = 𝐼)       (𝜑 → ((1st𝐺)‘((1st𝐹)‘𝑋)) = 𝑋)
 
15-Nov-2025cofu1st2nd 49579 Rewrite the functor composition with separated functor parts. (Contributed by Zhi Wang, 15-Nov-2025.)
(𝜑𝐹 ∈ (𝐶 Func 𝐷))    &   (𝜑𝐺 ∈ (𝐷 Func 𝐸))       (𝜑 → (𝐺func 𝐹) = (⟨(1st𝐺), (2nd𝐺)⟩ ∘func ⟨(1st𝐹), (2nd𝐹)⟩))
 
15-Nov-2025initc 49578 Sets with empty base are the only initial objects in the category of small categories. Example 7.2(3) of [Adamek] p. 101. (Contributed by Zhi Wang, 15-Nov-2025.)
((𝐶 ∈ V ∧ ∅ = (Base‘𝐶)) ↔ ∀𝑑 ∈ Cat ∃!𝑓 𝑓 ∈ (𝐶 Func 𝑑))
 
15-Nov-2025func2nd 49565 Extract the second member of a functor. (Contributed by Zhi Wang, 15-Nov-2025.)
(𝜑𝐹(𝐶 Func 𝐷)𝐺)       (𝜑 → (2nd ‘⟨𝐹, 𝐺⟩) = 𝐺)
 
15-Nov-2025func1st 49564 Extract the first member of a functor. (Contributed by Zhi Wang, 15-Nov-2025.)
(𝜑𝐹(𝐶 Func 𝐷)𝐺)       (𝜑 → (1st ‘⟨𝐹, 𝐺⟩) = 𝐹)
 
15-Nov-2025pgnbgreunbgrlem1 48601 Lemma 1 for pgnbgreunbgr 48613. (Contributed by AV, 15-Nov-2025.)
𝐺 = (5 gPetersenGr 2)    &   𝑉 = (Vtx‘𝐺)    &   𝐸 = (Edg‘𝐺)    &   𝑁 = (𝐺 NeighbVtx 𝑋)       ((𝐿 = ⟨0, (((2nd𝑋) + 1) mod 5)⟩ ∨ 𝐿 = ⟨1, (2nd𝑋)⟩ ∨ 𝐿 = ⟨0, (((2nd𝑋) − 1) mod 5)⟩) → ((𝐾 = ⟨0, (((2nd𝑋) + 1) mod 5)⟩ ∨ 𝐾 = ⟨1, (2nd𝑋)⟩ ∨ 𝐾 = ⟨0, (((2nd𝑋) − 1) mod 5)⟩) → ((𝑋𝑉𝑋 = ⟨0, 𝑦⟩) → ((𝐾𝐿 ∧ (𝑏 ∈ (0..^5) ∧ 𝑦 ∈ (0..^5))) → (({𝐾, ⟨0, 𝑏⟩} ∈ 𝐸 ∧ {⟨0, 𝑏⟩, 𝐿} ∈ 𝐸) → 𝑋 = ⟨0, 𝑏⟩)))))
 
15-Nov-2025gpgedg2ov 48554 The edges of the generalized Petersen graph GPG(N,K) between two outside vertices. (Contributed by AV, 15-Nov-2025.)
𝐽 = (1..^(⌈‘(𝑁 / 2)))    &   𝐼 = (0..^𝑁)    &   𝐺 = (𝑁 gPetersenGr 𝐾)    &   𝐸 = (Edg‘𝐺)       (((𝑁 ∈ (ℤ‘5) ∧ 𝐾𝐽) ∧ (𝑋𝐼𝑌𝐼)) → (({⟨0, ((𝑌 − 1) mod 𝑁)⟩, ⟨0, 𝑋⟩} ∈ 𝐸 ∧ {⟨0, 𝑋⟩, ⟨0, ((𝑌 + 1) mod 𝑁)⟩} ∈ 𝐸) ↔ 𝑋 = 𝑌))
 
15-Nov-2025modm1p1ne 47836 If an integer minus one equals another integer plus one modulo an integer greater than 4, then the first integer plus one is not equal to the second integer minus one modulo the same modulus. (Contributed by AV, 15-Nov-2025.)
𝐼 = (0..^𝑁)       ((𝑁 ∈ (ℤ‘5) ∧ 𝑋𝐼𝑌𝐼) → (((𝑌 − 1) mod 𝑁) = ((𝑋 + 1) mod 𝑁) → ((𝑌 + 1) mod 𝑁) ≠ ((𝑋 − 1) mod 𝑁)))
 
15-Nov-2025modm1nep1 47831 A nonnegative integer less than a modulus greater than 2 plus/minus one are not equal modulo the modulus. (Contributed by AV, 15-Nov-2025.)
𝐼 = (0..^𝑁)       ((𝑁 ∈ (ℤ‘3) ∧ 𝑌𝐼) → ((𝑌 − 1) mod 𝑁) ≠ ((𝑌 + 1) mod 𝑁))
 
15-Nov-2025mod2addne 47830 The sums of a nonnegative integer less than the modulus and two integers whose difference is less than the modulus are not equal modulo the modulus. (Contributed by AV, 15-Nov-2025.)
𝐼 = (0..^𝑁)       ((𝑁 ∈ ℕ ∧ (𝑋𝐼𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (abs‘(𝐴𝐵)) ∈ (1..^𝑁)) → ((𝑋 + 𝐴) mod 𝑁) ≠ ((𝑋 + 𝐵) mod 𝑁))
 
15-Nov-2025modmknepk 47828 A nonnegative integer less than the modulus plus/minus a positive integer less than (the ceiling of) half of the modulus are not equal modulo the modulus. For this theorem, it is essential that 𝐾 < (𝑁 / 2)! (Contributed by AV, 3-Sep-2025.) (Revised by AV, 15-Nov-2025.)
𝐽 = (1..^(⌈‘(𝑁 / 2)))    &   𝐼 = (0..^𝑁)       ((𝑁 ∈ (ℤ‘3) ∧ 𝑌𝐼𝐾𝐽) → ((𝑌𝐾) mod 𝑁) ≠ ((𝑌 + 𝐾) mod 𝑁))
 
15-Nov-2025modmkpkne 47827 If an integer minus a constant equals another integer plus the constant modulo 𝑁, then the first integer plus the constant equals the second integer minus the constant modulo 𝑁 iff the fourfold of the constant is a multiple of 𝑁. (Contributed by AV, 15-Nov-2025.)
((𝑁 ∈ ℕ ∧ (𝑋 ∈ ℤ ∧ 𝑌 ∈ ℤ ∧ 𝐾 ∈ ℤ)) → (((𝑌𝐾) mod 𝑁) = ((𝑋 + 𝐾) mod 𝑁) → (((𝑌 + 𝐾) mod 𝑁) = ((𝑋𝐾) mod 𝑁) ↔ ((4 · 𝐾) mod 𝑁) = 0)))
 
15-Nov-2025trisecnconstr 33952 Not all angles can be trisected. (Contributed by Thierry Arnoux, 15-Nov-2025.)
¬ ∀𝑜 ∈ Constr (𝑜𝑐(1 / 3)) ∈ Constr
 
15-Nov-2025cos9thpinconstr 33951 Trisecting an angle is an impossible construction. Given for example 𝑂 = (exp‘((i · (2 · π)) / 3)), which represents an angle of ((2 · π) / 3), the cube root of 𝑂 is not constructible with straightedge and compass, while 𝑂 itself is constructible. This is the second part of Metamath 100 proof #8. Theorem 7.14 of [Stewart] p. 99. (Contributed by Thierry Arnoux and Saveliy Skresanov, 15-Nov-2025.)
𝑂 = (exp‘((i · (2 · π)) / 3))    &   𝑍 = (𝑂𝑐(1 / 3))       (𝑂 ∈ Constr ∧ 𝑍 ∉ Constr)
 
15-Nov-2025cos9thpinconstrlem2 33950 The complex number 𝐴 is not constructible. (Contributed by Thierry Arnoux, 15-Nov-2025.)
𝑂 = (exp‘((i · (2 · π)) / 3))    &   𝑍 = (𝑂𝑐(1 / 3))    &   𝐴 = (𝑍 + (1 / 𝑍))        ¬ 𝐴 ∈ Constr
 
15-Nov-2025difmod0 16247 The difference of two integers modulo a positive integer equals zero iff the two integers are equal modulo the positive integer. (Contributed by AV, 15-Nov-2025.)
((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑁 ∈ ℕ) → (((𝐴𝐵) mod 𝑁) = 0 ↔ (𝐴 mod 𝑁) = (𝐵 mod 𝑁)))
 
15-Nov-2025uzuzle35 12828 An integer greater than or equal to 5 is an integer greater than or equal to 3. (Contributed by AV, 15-Nov-2025.)
(𝐴 ∈ (ℤ‘5) → 𝐴 ∈ (ℤ‘3))
 
15-Nov-2025addsubsub23 11549 Swap the second and the third terms in a difference of a sum and a difference (or, vice versa, in a sum of a difference and a sum). (Contributed by AV, 15-Nov-2025.)
(𝜑𝐴 ∈ ℂ)    &   (𝜑𝐵 ∈ ℂ)    &   (𝜑𝐶 ∈ ℂ)    &   (𝜑𝐷 ∈ ℂ)       (𝜑 → ((𝐴 + 𝐵) − (𝐶𝐷)) = ((𝐴𝐶) + (𝐵 + 𝐷)))
 
15-Nov-2025subsubadd23 11548 Swap the second and the third terms in a difference of a difference and a sum. (Contributed by AV, 15-Nov-2025.)
(𝜑𝐴 ∈ ℂ)    &   (𝜑𝐵 ∈ ℂ)    &   (𝜑𝐶 ∈ ℂ)    &   (𝜑𝐷 ∈ ℂ)       (𝜑 → ((𝐴𝐵) − (𝐶 + 𝐷)) = ((𝐴𝐶) − (𝐵 + 𝐷)))
 
14-Nov-2025islmd 50152 The universal property of limits of a diagram. (Contributed by Zhi Wang, 14-Nov-2025.)
𝐿 = (𝐶Δfunc𝐷)    &   𝐴 = (Base‘𝐶)    &   𝑁 = (𝐷 Nat 𝐶)    &   𝐵 = (Base‘𝐷)    &   𝐻 = (Hom ‘𝐶)    &    · = (comp‘𝐶)       (𝑋((𝐶 Limit 𝐷)‘𝐹)𝑅 ↔ ((𝑋𝐴𝑅 ∈ (((1st𝐿)‘𝑋)𝑁𝐹)) ∧ ∀𝑥𝐴𝑎 ∈ (((1st𝐿)‘𝑥)𝑁𝐹)∃!𝑚 ∈ (𝑥𝐻𝑋)𝑎 = (𝑗𝐵 ↦ ((𝑅𝑗)(⟨𝑥, 𝑋· ((1st𝐹)‘𝑗))𝑚))))
 
14-Nov-2025rellmd 50146 The set of limits of a diagram is a relation. (Contributed by Zhi Wang, 14-Nov-2025.)
Rel ((𝐶 Limit 𝐷)‘𝐹)
 
14-Nov-2025lmdfval2 50142 The set of limits of a diagram. (Contributed by Zhi Wang, 14-Nov-2025.)
((𝐶 Limit 𝐷)‘𝐹) = (( oppFunc ‘(𝐶Δfunc𝐷))((oppCat‘𝐶) UP (oppCat‘(𝐷 FuncCat 𝐶)))𝐹)
 
14-Nov-2025reldmlmd2 50140 The domain of (𝐶 Limit 𝐷) is a relation. (Contributed by Zhi Wang, 14-Nov-2025.)
Rel dom (𝐶 Limit 𝐷)
 
14-Nov-2025lmdfval 50136 Function value of Limit. (Contributed by Zhi Wang, 14-Nov-2025.)
(𝐶 Limit 𝐷) = (𝑓 ∈ (𝐷 Func 𝐶) ↦ (( oppFunc ‘(𝐶Δfunc𝐷))((oppCat‘𝐶) UP (oppCat‘(𝐷 FuncCat 𝐶)))𝑓))
 
14-Nov-2025catcinv 49886 The property "𝐹 is an inverse of 𝐺 " in a category of small categories (in a universe). (Contributed by Zhi Wang, 14-Nov-2025.)
𝐶 = (CatCat‘𝑈)    &   𝑁 = (Inv‘𝐶)    &   𝐻 = (Hom ‘𝐶)    &   𝐼 = (idfunc𝑋)    &   𝐽 = (idfunc𝑌)       (𝐹(𝑋𝑁𝑌)𝐺 ↔ ((𝐹 ∈ (𝑋𝐻𝑌) ∧ 𝐺 ∈ (𝑌𝐻𝑋)) ∧ ((𝐺func 𝐹) = 𝐼 ∧ (𝐹func 𝐺) = 𝐽)))
 
14-Nov-2025catcsect 49885 The property "𝐹 is a section of 𝐺 " in a category of small categories (in a universe). (Contributed by Zhi Wang, 14-Nov-2025.)
𝐶 = (CatCat‘𝑈)    &   𝐻 = (Hom ‘𝐶)    &   𝐼 = (idfunc𝑋)    &   𝑆 = (Sect‘𝐶)       (𝐹(𝑋𝑆𝑌)𝐺 ↔ ((𝐹 ∈ (𝑋𝐻𝑌) ∧ 𝐺 ∈ (𝑌𝐻𝑋)) ∧ (𝐺func 𝐹) = 𝐼))
 
14-Nov-2025elcatchom 49884 A morphism of the category of categories (in a universe) is a functor. See df-catc 18057 for the definition of the category Cat, which consists of all categories in the universe 𝑢 (i.e., "𝑢-small categories", see Definition 3.44. of [Adamek] p. 39), with functors as the morphisms (catchom 18061). (Contributed by Zhi Wang, 14-Nov-2025.)
𝐶 = (CatCat‘𝑈)    &   𝐻 = (Hom ‘𝐶)    &   (𝜑𝐹 ∈ (𝑋𝐻𝑌))       (𝜑𝐹 ∈ (𝑋 Func 𝑌))
 
14-Nov-2025catcrcl2 49883 Reverse closure for the category of categories (in a universe) (Contributed by Zhi Wang, 14-Nov-2025.)
𝐶 = (CatCat‘𝑈)    &   𝐻 = (Hom ‘𝐶)    &   (𝜑𝐹 ∈ (𝑋𝐻𝑌))    &   𝐵 = (Base‘𝐶)       (𝜑 → (𝑋𝐵𝑌𝐵))
 
14-Nov-2025catcrcl 49882 Reverse closure for the category of categories (in a universe) (Contributed by Zhi Wang, 14-Nov-2025.)
𝐶 = (CatCat‘𝑈)    &   𝐻 = (Hom ‘𝐶)    &   (𝜑𝐹 ∈ (𝑋𝐻𝑌))       (𝜑𝑈 ∈ V)
 
14-Nov-2025oppfuprcl2 49692 Reverse closure for the class of universal property for opposite functors. (Contributed by Zhi Wang, 14-Nov-2025.)
(𝜑𝑋(𝐺(𝑂 UP 𝑃)𝑊)𝑀)    &   𝐺 = ( oppFunc ‘𝐹)    &   𝑂 = (oppCat‘𝐷)    &   𝑃 = (oppCat‘𝐸)    &   (𝜑𝐷𝑈)    &   (𝜑𝐸𝑉)    &   (𝜑𝐹 = ⟨𝐴, 𝐵⟩)       (𝜑𝐴(𝐷 Func 𝐸)𝐵)
 
14-Nov-2025oppfuprcl 49691 Reverse closure for the class of universal property for opposite functors. (Contributed by Zhi Wang, 14-Nov-2025.)
(𝜑𝑋(𝐺(𝑂 UP 𝑃)𝑊)𝑀)    &   𝐺 = ( oppFunc ‘𝐹)    &   𝑂 = (oppCat‘𝐷)    &   𝑃 = (oppCat‘𝐸)    &   (𝜑𝐷𝑈)    &   (𝜑𝐸𝑉)       (𝜑𝐹 ∈ (𝐷 Func 𝐸))
 
14-Nov-2025uprcl2a 49690 Reverse closure for the class of universal property. (Contributed by Zhi Wang, 14-Nov-2025.)
(𝜑𝑋(𝐺(𝑂 UP 𝑃)𝑊)𝑀)       (𝜑𝐺 ∈ (𝑂 Func 𝑃))
 
14-Nov-2025funcoppc5 49632 A functor on opposite categories yields a functor on the original categories. (Contributed by Zhi Wang, 14-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   (𝜑𝐶𝑉)    &   (𝜑𝐷𝑊)    &   (𝜑 → ( oppFunc ‘𝐹) ∈ (𝑂 Func 𝑃))       (𝜑𝐹 ∈ (𝐶 Func 𝐷))
 
14-Nov-2025funcoppc4 49631 A functor on opposite categories yields a functor on the original categories. (Contributed by Zhi Wang, 14-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   (𝜑𝐶𝑉)    &   (𝜑𝐷𝑊)    &   (𝜑 → (𝐹 oppFunc 𝐺) ∈ (𝑂 Func 𝑃))       (𝜑𝐹(𝐶 Func 𝐷)𝐺)
 
14-Nov-2025oppfoppc2 49629 The opposite functor is a functor on opposite categories. (Contributed by Zhi Wang, 14-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   (𝜑𝐹 ∈ (𝐶 Func 𝐷))       (𝜑 → ( oppFunc ‘𝐹) ∈ (𝑂 Func 𝑃))
 
14-Nov-20252oppf 49619 The double opposite functor is the original functor. Remark 3.42 of [Adamek] p. 39. (Contributed by Zhi Wang, 14-Nov-2025.)
(𝜑𝐺𝑅)    &   Rel 𝑅    &   𝐺 = ( oppFunc ‘𝐹)       (𝜑 → ( oppFunc ‘𝐺) = 𝐹)
 
14-Nov-2025oppf1st2nd 49618 Rewrite the opposite functor into its components (eqopi 7971). (Contributed by Zhi Wang, 14-Nov-2025.)
(𝜑𝐺𝑅)    &   Rel 𝑅    &   𝐺 = ( oppFunc ‘𝐹)    &   (𝜑𝐹 = ⟨𝐴, 𝐵⟩)       (𝜑 → (𝐺 ∈ (V × V) ∧ ((1st𝐺) = 𝐴 ∧ (2nd𝐺) = tpos 𝐵)))
 
14-Nov-2025oppfrcl3 49617 If an opposite functor of a class is a functor, then the second component of the original class must be a relation whose domain is a relation as well. (Contributed by Zhi Wang, 14-Nov-2025.)
(𝜑𝐺𝑅)    &   Rel 𝑅    &   𝐺 = ( oppFunc ‘𝐹)    &   (𝜑𝐹 = ⟨𝐴, 𝐵⟩)       (𝜑 → (Rel 𝐵 ∧ Rel dom 𝐵))
 
14-Nov-2025oppfrcl2 49616 If an opposite functor of a class is a functor, then the two components of the original class must be sets. (Contributed by Zhi Wang, 14-Nov-2025.)
(𝜑𝐺𝑅)    &   Rel 𝑅    &   𝐺 = ( oppFunc ‘𝐹)    &   (𝜑𝐹 = ⟨𝐴, 𝐵⟩)       (𝜑 → (𝐴 ∈ V ∧ 𝐵 ∈ V))
 
14-Nov-2025oppfrcl 49615 If an opposite functor of a class is a functor, then the original class must be an ordered pair. (Contributed by Zhi Wang, 14-Nov-2025.)
(𝜑𝐺𝑅)    &   Rel 𝑅    &   𝐺 = ( oppFunc ‘𝐹)       (𝜑𝐹 ∈ (V × V))
 
14-Nov-2025oppfrcllem 49614 Lemma for oppfrcl 49615. (Contributed by Zhi Wang, 14-Nov-2025.)
(𝜑𝐺𝑅)    &   Rel 𝑅       (𝜑𝐺 ≠ ∅)
 
14-Nov-2025isinv2 49513 The property "𝐹 is an inverse of 𝐺". (Contributed by Zhi Wang, 14-Nov-2025.)
𝑁 = (Inv‘𝐶)    &   𝑆 = (Sect‘𝐶)       (𝐹(𝑋𝑁𝑌)𝐺 ↔ (𝐹(𝑋𝑆𝑌)𝐺𝐺(𝑌𝑆𝑋)𝐹))
 
14-Nov-2025invrcl2 49512 Reverse closure for inverse relations. (Contributed by Zhi Wang, 14-Nov-2025.)
𝑁 = (Inv‘𝐶)    &   (𝜑𝐹(𝑋𝑁𝑌)𝐺)    &   𝐵 = (Base‘𝐶)       (𝜑 → (𝑋𝐵𝑌𝐵))
 
14-Nov-2025invrcl 49511 Reverse closure for inverse relations. (Contributed by Zhi Wang, 14-Nov-2025.)
𝑁 = (Inv‘𝐶)    &   (𝜑𝐹(𝑋𝑁𝑌)𝐺)       (𝜑𝐶 ∈ Cat)
 
14-Nov-2025sectrcl2 49510 Reverse closure for section relations. (Contributed by Zhi Wang, 14-Nov-2025.)
𝑆 = (Sect‘𝐶)    &   (𝜑𝐹(𝑋𝑆𝑌)𝐺)    &   𝐵 = (Base‘𝐶)       (𝜑 → (𝑋𝐵𝑌𝐵))
 
14-Nov-2025sectrcl 49509 Reverse closure for section relations. (Contributed by Zhi Wang, 14-Nov-2025.)
𝑆 = (Sect‘𝐶)    &   (𝜑𝐹(𝑋𝑆𝑌)𝐺)       (𝜑𝐶 ∈ Cat)
 
14-Nov-2025cos9thpinconstrlem1 33949 The complex number 𝑂, representing an angle of (2 · π) / 3, is constructible. (Contributed by Thierry Arnoux, 14-Nov-2025.)
𝑂 = (exp‘((i · (2 · π)) / 3))       𝑂 ∈ Constr
 
14-Nov-2025cos9thpiminply 33948 The polynomial ((𝑋↑3) + ((-3 · 𝑋) + 1)) is the minimal polynomial for 𝐴 over , and its degree is 3. (Contributed by Thierry Arnoux, 14-Nov-2025.)
𝑂 = (exp‘((i · (2 · π)) / 3))    &   𝑍 = (𝑂𝑐(1 / 3))    &   𝐴 = (𝑍 + (1 / 𝑍))    &   𝑄 = (ℂflds ℚ)    &    + = (+g𝑃)    &    · = (.r𝑃)    &    = (.g‘(mulGrp‘𝑃))    &   𝑃 = (Poly1𝑄)    &   𝐾 = (algSc‘𝑃)    &   𝑋 = (var1𝑄)    &   𝐷 = (deg1𝑄)    &   𝐹 = ((3 𝑋) + (((𝐾‘-3) · 𝑋) + (𝐾‘1)))    &   𝑀 = (ℂfld minPoly ℚ)       (𝐹 = (𝑀𝐴) ∧ (𝐷𝐹) = 3)
 
14-Nov-2025cos9thpiminplylem6 33947 Evaluation of the polynomial ((𝑋↑3) + ((-3 · 𝑋) + 1)). (Contributed by Thierry Arnoux, 14-Nov-2025.)
𝑂 = (exp‘((i · (2 · π)) / 3))    &   𝑍 = (𝑂𝑐(1 / 3))    &   𝐴 = (𝑍 + (1 / 𝑍))    &   𝑄 = (ℂflds ℚ)    &    + = (+g𝑃)    &    · = (.r𝑃)    &    = (.g‘(mulGrp‘𝑃))    &   𝑃 = (Poly1𝑄)    &   𝐾 = (algSc‘𝑃)    &   𝑋 = (var1𝑄)    &   𝐷 = (deg1𝑄)    &   𝐹 = ((3 𝑋) + (((𝐾‘-3) · 𝑋) + (𝐾‘1)))    &   (𝜑𝑌 ∈ ℂ)       (𝜑 → (((ℂfld evalSub1 ℚ)‘𝐹)‘𝑌) = ((𝑌↑3) + ((-3 · 𝑌) + 1)))
 
14-Nov-2025cos9thpiminplylem5 33946 The constructed complex number 𝐴 is a root of the polynomial ((𝑋↑3) + ((-3 · 𝑋) + 1)). (Contributed by Thierry Arnoux, 14-Nov-2025.)
𝑂 = (exp‘((i · (2 · π)) / 3))    &   𝑍 = (𝑂𝑐(1 / 3))    &   𝐴 = (𝑍 + (1 / 𝑍))       ((𝐴↑3) + ((-3 · 𝐴) + 1)) = 0
 
14-Nov-2025cos9thpiminplylem4 33945 Lemma for cos9thpiminply 33948. (Contributed by Thierry Arnoux, 14-Nov-2025.)
𝑂 = (exp‘((i · (2 · π)) / 3))    &   𝑍 = (𝑂𝑐(1 / 3))       ((𝑍↑6) + (𝑍↑3)) = -1
 
14-Nov-2025cos9thpiminplylem3 33944 Lemma for cos9thpiminply 33948. (Contributed by Thierry Arnoux, 14-Nov-2025.)
𝑂 = (exp‘((i · (2 · π)) / 3))       ((𝑂↑2) + (𝑂 + 1)) = 0
 
14-Nov-2025vr1nz 33668 A univariate polynomial variable cannot be the zero polynomial. (Contributed by Thierry Arnoux, 14-Nov-2025.)
𝑋 = (var1𝑈)    &   𝑍 = (0g𝑃)    &   𝑈 = (𝑆s 𝑅)    &   𝑃 = (Poly1𝑈)    &   (𝜑𝑆 ∈ CRing)    &   (𝜑𝑆 ∈ NzRing)    &   (𝜑𝑅 ∈ (SubRing‘𝑆))       (𝜑𝑋𝑍)
 
14-Nov-2025ressply1evls1 33640 Subring evaluation of a univariate polynomial is the same as the subring evaluation in the bigger ring. (Contributed by Thierry Arnoux, 14-Nov-2025.)
𝐺 = (𝐸s 𝑅)    &   𝑂 = (𝐸 evalSub1 𝑆)    &   𝑄 = (𝐺 evalSub1 𝑆)    &   𝑃 = (Poly1𝐾)    &   𝐾 = (𝐸s 𝑆)    &   𝐵 = (Base‘𝑃)    &   (𝜑𝐸 ∈ CRing)    &   (𝜑𝑅 ∈ (SubRing‘𝐸))    &   (𝜑𝑆 ∈ (SubRing‘𝐺))    &   (𝜑𝐹𝐵)       (𝜑 → (𝑄𝐹) = ((𝑂𝐹) ↾ 𝑅))
 
14-Nov-2025efne0 16054 The exponential of a complex number is nonzero. Corollary 15-4.3 of [Gleason] p. 309. (Contributed by NM, 13-Jan-2006.) (Revised by Mario Carneiro, 29-Apr-2014.) (Proof shortened by TA, 14-Nov-2025.)
(𝐴 ∈ ℂ → (exp‘𝐴) ≠ 0)
 
14-Nov-2025modaddid 13860 The sums of two nonnegative integers less than the modulus and an integer are equal iff the two nonnegative integers are equal. (Contributed by AV, 14-Nov-2025.)
𝐼 = (0..^𝑁)       ((𝑁 ∈ (ℤ‘3) ∧ (𝑋𝐼𝑌𝐼) ∧ 𝐾 ∈ ℤ) → (((𝑋 + 𝐾) mod 𝑁) = ((𝑌 + 𝐾) mod 𝑁) ↔ 𝑋 = 𝑌))
 
14-Nov-2025modaddb 13859 Addition property of the modulo operation. Biconditional version of modadd1 13858 by applying modadd1 13858 twice. (Contributed by AV, 14-Nov-2025.)
(((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ) ∧ (𝐶 ∈ ℝ ∧ 𝐷 ∈ ℝ+)) → ((𝐴 mod 𝐷) = (𝐵 mod 𝐷) ↔ ((𝐴 + 𝐶) mod 𝐷) = ((𝐵 + 𝐶) mod 𝐷)))
 
13-Nov-2025iscmd 50153 The universal property of colimits of a diagram. (Contributed by Zhi Wang, 13-Nov-2025.)
𝐿 = (𝐶Δfunc𝐷)    &   𝐴 = (Base‘𝐶)    &   𝑁 = (𝐷 Nat 𝐶)    &   𝐵 = (Base‘𝐷)    &   𝐻 = (Hom ‘𝐶)    &    · = (comp‘𝐶)       (𝑋((𝐶 Colimit 𝐷)‘𝐹)𝑅 ↔ ((𝑋𝐴𝑅 ∈ (𝐹𝑁((1st𝐿)‘𝑋))) ∧ ∀𝑥𝐴𝑎 ∈ (𝐹𝑁((1st𝐿)‘𝑥))∃!𝑚 ∈ (𝑋𝐻𝑥)𝑎 = (𝑗𝐵 ↦ (𝑚(⟨((1st𝐹)‘𝑗), 𝑋· 𝑥)(𝑅𝑗)))))
 
13-Nov-2025coccom 50151 A co-cone to a diagram commutes with the diagram. (Contributed by Zhi Wang, 13-Nov-2025.)
𝐿 = (𝐶Δfunc𝐷)    &   𝐴 = (Base‘𝐶)    &   𝑁 = (𝐷 Nat 𝐶)    &   𝐵 = (Base‘𝐷)    &   𝐾 = ((1st𝐿)‘𝑋)    &   (𝜑𝑋𝐴)    &   (𝜑𝑌𝐵)    &   (𝜑𝑍𝐵)    &   (𝜑𝑀 ∈ (𝑌𝐽𝑍))    &   𝐽 = (Hom ‘𝐷)    &    · = (comp‘𝐶)    &   (𝜑𝑅 ∈ (𝐹𝑁𝐾))       (𝜑 → (𝑅𝑌) = ((𝑅𝑍)(⟨((1st𝐹)‘𝑌), ((1st𝐹)‘𝑍)⟩ · 𝑋)((𝑌(2nd𝐹)𝑍)‘𝑀)))
 
13-Nov-2025concom 50150 A cone to a diagram commutes with the diagram. (Contributed by Zhi Wang, 13-Nov-2025.)
𝐿 = (𝐶Δfunc𝐷)    &   𝐴 = (Base‘𝐶)    &   𝑁 = (𝐷 Nat 𝐶)    &   𝐵 = (Base‘𝐷)    &   𝐾 = ((1st𝐿)‘𝑋)    &   (𝜑𝑋𝐴)    &   (𝜑𝑌𝐵)    &   (𝜑𝑍𝐵)    &   (𝜑𝑀 ∈ (𝑌𝐽𝑍))    &   𝐽 = (Hom ‘𝐷)    &    · = (comp‘𝐶)    &   (𝜑𝑅 ∈ (𝐾𝑁𝐹))       (𝜑 → (𝑅𝑍) = (((𝑌(2nd𝐹)𝑍)‘𝑀)(⟨𝑋, ((1st𝐹)‘𝑌)⟩ · ((1st𝐹)‘𝑍))(𝑅𝑌)))
 
13-Nov-2025coccl 50149 A natural transformation to a constant functor of an object maps to morphisms whose codomain is the object. Therefore, the range of the second component of a co-cone are morphisms with a common codomain. (Contributed by Zhi Wang, 13-Nov-2025.)
𝐿 = (𝐶Δfunc𝐷)    &   𝐴 = (Base‘𝐶)    &   𝑁 = (𝐷 Nat 𝐶)    &   𝐵 = (Base‘𝐷)    &   𝐾 = ((1st𝐿)‘𝑋)    &   (𝜑𝑋𝐴)    &   (𝜑𝑌𝐵)    &   𝐻 = (Hom ‘𝐶)    &   (𝜑𝑅 ∈ (𝐹𝑁𝐾))       (𝜑 → (𝑅𝑌) ∈ (((1st𝐹)‘𝑌)𝐻𝑋))
 
13-Nov-2025concl 50148 A natural transformation from a constant functor of an object maps to morphisms whose domain is the object. Therefore, the range of the second component of a cone are morphisms with a common domain. (Contributed by Zhi Wang, 13-Nov-2025.)
𝐿 = (𝐶Δfunc𝐷)    &   𝐴 = (Base‘𝐶)    &   𝑁 = (𝐷 Nat 𝐶)    &   𝐵 = (Base‘𝐷)    &   𝐾 = ((1st𝐿)‘𝑋)    &   (𝜑𝑋𝐴)    &   (𝜑𝑌𝐵)    &   𝐻 = (Hom ‘𝐶)    &   (𝜑𝑅 ∈ (𝐾𝑁𝐹))       (𝜑 → (𝑅𝑌) ∈ (𝑋𝐻((1st𝐹)‘𝑌)))
 
13-Nov-2025relcmd 50147 The set of colimits of a diagram is a relation. (Contributed by Zhi Wang, 13-Nov-2025.)
Rel ((𝐶 Colimit 𝐷)‘𝐹)
 
13-Nov-2025reldmcmd2 50141 The domain of (𝐶 Colimit 𝐷) is a relation. (Contributed by Zhi Wang, 13-Nov-2025.)
Rel dom (𝐶 Colimit 𝐷)
 
13-Nov-2025oppfval2 49624 Value of the opposite functor. (Contributed by Zhi Wang, 13-Nov-2025.)
(𝐹 ∈ (𝐶 Func 𝐷) → ( oppFunc ‘𝐹) = ⟨(1st𝐹), tpos (2nd𝐹)⟩)
 
13-Nov-2025oppfvallem 49622 Lemma for oppfval 49623. (Contributed by Zhi Wang, 13-Nov-2025.)
(𝐹(𝐶 Func 𝐷)𝐺 → (Rel 𝐺 ∧ Rel dom 𝐺))
 
13-Nov-2025oppfvalg 49613 Value of the opposite functor. (Contributed by Zhi Wang, 13-Nov-2025.)
((𝐹 ∈ V ∧ 𝐺 ∈ V) → (𝐹 oppFunc 𝐺) = if((Rel 𝐺 ∧ Rel dom 𝐺), ⟨𝐹, tpos 𝐺⟩, ∅))
 
13-Nov-2025reldmoppf 49612 The domain of oppFunc is a relation. (Contributed by Zhi Wang, 13-Nov-2025.)
Rel dom oppFunc
 
13-Nov-2025df-oppf 49610 Definition of the operation generating opposite functors. Definition 3.41 of [Adamek] p. 39. The object part of the functor is unchanged while the morphism part is transposed due to reversed direction of arrows in the opposite category. The opposite functor is a functor on opposite categories (oppfoppc 49628). (Contributed by Zhi Wang, 4-Nov-2025.) Better reverse closure. (Revised by Zhi Wang, 13-Nov-2025.)
oppFunc = (𝑓 ∈ V, 𝑔 ∈ V ↦ if((Rel 𝑔 ∧ Rel dom 𝑔), ⟨𝑓, tpos 𝑔⟩, ∅))
 
13-Nov-2025lamberte 47348 A value of Lambert W (product logarithm) function at e. (Contributed by Ender Ting, 13-Nov-2025.)
𝑅 = (𝑥 ∈ ℂ ↦ (𝑥 · (exp‘𝑥)))       e𝑅1
 
13-Nov-2025lambert0 47347 A value of Lambert W (product logarithm) function at zero. (Contributed by Ender Ting, 13-Nov-2025.)
𝑅 = (𝑥 ∈ ℂ ↦ (𝑥 · (exp‘𝑥)))       0𝑅0
 
13-Nov-2025sbralie 3316 Implicit to explicit substitution that swaps variables in a restrictedly universally quantified expression. (Contributed by NM, 5-Sep-2004.) Avoid ax-ext 2709, df-cleq 2729, df-clel 2812. (Revised by Wolf Lammen, 10-Mar-2025.) Avoid ax-10 2147, ax-12 2185. (Revised by SN, 13-Nov-2025.)
(𝑥 = 𝑦 → (𝜑𝜓))       (∀𝑥𝑦 𝜑 ↔ [𝑦 / 𝑥]∀𝑦𝑥 𝜓)
 
12-Nov-2025cmdfval2 50143 The set of colimits of a diagram. (Contributed by Zhi Wang, 12-Nov-2025.)
((𝐶 Colimit 𝐷)‘𝐹) = ((𝐶Δfunc𝐷)(𝐶 UP (𝐷 FuncCat 𝐶))𝐹)
 
12-Nov-2025cmdfval 50137 Function value of Colimit. (Contributed by Zhi Wang, 12-Nov-2025.)
(𝐶 Colimit 𝐷) = (𝑓 ∈ (𝐷 Func 𝐶) ↦ ((𝐶Δfunc𝐷)(𝐶 UP (𝐷 FuncCat 𝐶))𝑓))
 
12-Nov-2025reldmcmd 50135 The domain of Colimit is a relation. (Contributed by Zhi Wang, 12-Nov-2025.)
Rel dom Colimit
 
12-Nov-2025reldmlmd 50134 The domain of Limit is a relation. (Contributed by Zhi Wang, 12-Nov-2025.)
Rel dom Limit
 
12-Nov-2025df-cmd 50133 A co-cone (or cocone) to a diagram (see df-lmd 50132 for definition), or a natural sink for a diagram in a category 𝐶 is a pair of an object 𝑋 in 𝐶 and a natural transformation from the diagram to the constant functor (or constant diagram) of the object 𝑋. The second component associates each object in the index category with a morphism in 𝐶 whose codomain is 𝑋 (coccl 50149). The naturality guarantees that the combination of the diagram with the co-cone must commute (coccom 50151). Definition 11.27(1) of [Adamek] p. 202.

A colimit of a diagram 𝐹:𝐷𝐶 of type 𝐷 in category 𝐶 is a universal pair from the diagram to the diagonal functor (𝐶Δfunc𝐷). The universal pair is a co-cone to the diagram satisfying the universal property, that each co-cone to the diagram uniquely factors through the colimit. (iscmd 50153). Definition 11.27(2) of [Adamek] p. 202.

Initial objects (initocmd 50156), coproducts, coequalizers, pushouts, and direct limits can be considered as colimits of some diagram; colimits can be further generalized as left Kan extensions (cmdlan 50159).

"cmd" is short for "colimit of a diagram". See df-lmd 50132 for the dual concept (lmddu 50154, cmddu 50155). (Contributed by Zhi Wang, 12-Nov-2025.)

Colimit = (𝑐 ∈ V, 𝑑 ∈ V ↦ (𝑓 ∈ (𝑑 Func 𝑐) ↦ ((𝑐Δfunc𝑑)(𝑐 UP (𝑑 FuncCat 𝑐))𝑓)))
 
12-Nov-2025df-lmd 50132 A diagram of type 𝐷 or a 𝐷-shaped diagram in a category 𝐶, is a functor 𝐹:𝐷𝐶 where the source category 𝐷, usually small or even finite, is called the index category or the scheme of the diagram. The actual objects and morphisms in 𝐷 are largely irrelevant; only the way in which they are interrelated matters. The diagram is thought of as indexing a collection of objects and morphisms in 𝐶 patterned on 𝐷. Definition 11.1(1) of [Adamek] p. 193.

A cone to a diagram, or a natural source for a diagram in a category 𝐶 is a pair of an object 𝑋 in 𝐶 and a natural transformation from the constant functor (or constant diagram) of the object 𝑋 to the diagram. The second component associates each object in the index category with a morphism in 𝐶 whose domain is 𝑋 (concl 50148). The naturality guarantees that the combination of the diagram with the cone must commute (concom 50150). Definition 11.3(1) of [Adamek] p. 193.

A limit of a diagram 𝐹:𝐷𝐶 of type 𝐷 in category 𝐶 is a universal pair from the diagonal functor (𝐶Δfunc𝐷) to the diagram. The universal pair is a cone to the diagram satisfying the universal property, that each cone to the diagram uniquely factors through the limit (islmd 50152). Definition 11.3(2) of [Adamek] p. 194.

Terminal objects (termolmd 50157), products, equalizers, pullbacks, and inverse limits can be considered as limits of some diagram; limits can be further generalized as right Kan extensions (lmdran 50158).

"lmd" is short for "limit of a diagram". See df-cmd 50133 for the dual concept (lmddu 50154, cmddu 50155). (Contributed by Zhi Wang, 12-Nov-2025.)

Limit = (𝑐 ∈ V, 𝑑 ∈ V ↦ (𝑓 ∈ (𝑑 Func 𝑐) ↦ (( oppFunc ‘(𝑐Δfunc𝑑))((oppCat‘𝑐) UP (oppCat‘(𝑑 FuncCat 𝑐)))𝑓)))
 
12-Nov-2025upfval 49663 Function value of the class of universal properties. (Contributed by Zhi Wang, 24-Sep-2025.) (Proof shortened by Zhi Wang, 12-Nov-2025.)
𝐵 = (Base‘𝐷)    &   𝐶 = (Base‘𝐸)    &   𝐻 = (Hom ‘𝐷)    &   𝐽 = (Hom ‘𝐸)    &   𝑂 = (comp‘𝐸)       (𝐷 UP 𝐸) = (𝑓 ∈ (𝐷 Func 𝐸), 𝑤𝐶 ↦ {⟨𝑥, 𝑚⟩ ∣ ((𝑥𝐵𝑚 ∈ (𝑤𝐽((1st𝑓)‘𝑥))) ∧ ∀𝑦𝐵𝑔 ∈ (𝑤𝐽((1st𝑓)‘𝑦))∃!𝑘 ∈ (𝑥𝐻𝑦)𝑔 = (((𝑥(2nd𝑓)𝑦)‘𝑘)(⟨𝑤, ((1st𝑓)‘𝑥)⟩𝑂((1st𝑓)‘𝑦))𝑚))})
 
12-Nov-2025reldmfunc 49562 The domain of Func is a relation. (Contributed by Zhi Wang, 12-Nov-2025.)
Rel dom Func
 
11-Nov-2025discthing 49948 A discrete category, i.e., a category where all morphisms are identity morphisms, is thin. Example 3.26(1) of [Adamek] p. 33. (Contributed by Zhi Wang, 11-Nov-2025.)
(𝜑𝐵 = (Base‘𝐶))    &   (𝜑𝐻 = (Hom ‘𝐶))    &   (𝜑𝐶 ∈ Cat)    &   ((𝜑 ∧ (𝑥𝐵𝑦𝐵)) → (𝑥𝐻𝑦) = if(𝑥 = 𝑦, {𝐼}, ∅))       (𝜑𝐶 ∈ ThinCat)
 
11-Nov-2025indcthing 49947 An indiscrete category, i.e., a category where all hom-sets have exactly one morphism, is thin. (Contributed by Zhi Wang, 11-Nov-2025.)
(𝜑𝐵 = (Base‘𝐶))    &   (𝜑𝐻 = (Hom ‘𝐶))    &   (𝜑𝐶 ∈ Cat)    &   ((𝜑 ∧ (𝑥𝐵𝑦𝐵)) → (𝑥𝐻𝑦) = {𝐹})       (𝜑𝐶 ∈ ThinCat)
 
11-Nov-2025idfullsubc 49648 The source category of an inclusion functor is a full subcategory of the target category if the inclusion functor is full. Remark 4.4(2) in [Adamek] p. 49. See also ressffth 17898. (Contributed by Zhi Wang, 11-Nov-2025.)
𝐼 = (idfunc𝐶)    &   𝐻 = (Homf𝐷)    &   𝐽 = (Homf𝐸)    &   𝐵 = (Base‘𝐷)    &   𝐶 = (Base‘𝐸)       (𝐼 ∈ (𝐷 Full 𝐸) → (𝐵𝐶 ∧ (𝐽 ↾ (𝐵 × 𝐵)) = 𝐻))
 
11-Nov-2025gpgedgiov 48553 The edges of the generalized Petersen graph GPG(N,K) between an inside and an outside vertex. (Contributed by AV, 11-Nov-2025.)
𝐽 = (1..^(⌈‘(𝑁 / 2)))    &   𝐼 = (0..^𝑁)    &   𝐺 = (𝑁 gPetersenGr 𝐾)    &   𝐸 = (Edg‘𝐺)       (((𝑁 ∈ (ℤ‘3) ∧ 𝐾𝐽) ∧ (𝑋𝐼𝑌𝐼)) → ({⟨0, 𝑋⟩, ⟨1, 𝑌⟩} ∈ 𝐸𝑋 = 𝑌))
 
11-Nov-2025pw2cutp1 28467 Simplify pw2cut 28466 in the case of successors of surreal integers. (Contributed by Scott Fenton, 11-Nov-2025.)
(𝜑𝐴 ∈ ℤs)    &   (𝜑𝑁 ∈ ℕ0s)       (𝜑 → ({(𝐴 /su (2ss𝑁))} |s {((𝐴 +s 1s ) /su (2ss𝑁))}) = (((2s ·s 𝐴) +s 1s ) /su (2ss(𝑁 +s 1s ))))
 
10-Nov-2025idsubc 49647 The source category of an inclusion functor is a subcategory of the target category. See also Remark 4.4 in [Adamek] p. 49. (Contributed by Zhi Wang, 10-Nov-2025.)
𝐼 = (idfunc𝐶)    &   𝐻 = (Homf𝐷)       (𝐼 ∈ (𝐷 Func 𝐸) → 𝐻 ∈ (Subcat‘𝐸))
 
10-Nov-2025idfth 49645 The inclusion functor is a faithful functor. (Contributed by Zhi Wang, 10-Nov-2025.)
𝐼 = (idfunc𝐶)       (𝐼 ∈ (𝐷 Func 𝐸) → 𝐼 ∈ (𝐷 Faith 𝐸))
 
10-Nov-2025fthcomf 49644 Source categories of a faithful functor have the same base, hom-sets and composition operation if the composition is compatible in images of the functor. (Contributed by Zhi Wang, 10-Nov-2025.)
(𝜑𝐹(𝐴 Faith 𝐶)𝐺)    &   (𝜑𝐹(𝐵 Func 𝐷)𝐺)    &   (((𝜑 ∧ (𝑥 ∈ (Base‘𝐴) ∧ 𝑦 ∈ (Base‘𝐴) ∧ 𝑧 ∈ (Base‘𝐴))) ∧ (𝑓 ∈ (𝑥(Hom ‘𝐴)𝑦) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐴)𝑧))) → (((𝑦𝐺𝑧)‘𝑔)(⟨(𝐹𝑥), (𝐹𝑦)⟩(comp‘𝐶)(𝐹𝑧))((𝑥𝐺𝑦)‘𝑓)) = (((𝑦𝐺𝑧)‘𝑔)(⟨(𝐹𝑥), (𝐹𝑦)⟩(comp‘𝐷)(𝐹𝑧))((𝑥𝐺𝑦)‘𝑓)))       (𝜑 → (compf𝐴) = (compf𝐵))
 
10-Nov-2025imaidfu2 49598 The image of the identity functor. (Contributed by Zhi Wang, 10-Nov-2025.)
𝐼 = (idfunc𝐶)    &   (𝜑𝐼 ∈ (𝐷 Func 𝐸))    &   𝐻 = (Hom ‘𝐷)    &   𝐽 = (Homf𝐷)    &   𝐾 = (𝑥𝑆, 𝑦𝑆 𝑝 ∈ (((1st𝐼) “ {𝑥}) × ((1st𝐼) “ {𝑦}))(((2nd𝐼)‘𝑝) “ (𝐻𝑝)))    &   (𝜑𝑆 = (Base‘𝐷))       (𝜑𝐽 = 𝐾)
 
10-Nov-2025imaidfu 49597 The image of the identity functor. (Contributed by Zhi Wang, 10-Nov-2025.)
𝐼 = (idfunc𝐶)    &   (𝜑𝐼 ∈ (𝐷 Func 𝐸))    &   𝐻 = (Hom ‘𝐷)    &   𝐽 = (Homf𝐷)    &   𝐾 = (𝑥𝑆, 𝑦𝑆 𝑝 ∈ (((1st𝐼) “ {𝑥}) × ((1st𝐼) “ {𝑦}))(((2nd𝐼)‘𝑝) “ (𝐻𝑝)))    &   𝑆 = ((1st𝐼) “ 𝐴)       (𝜑 → (𝐽 ↾ (𝑆 × 𝑆)) = 𝐾)
 
10-Nov-2025imaidfu2lem 49596 Lemma for imaidfu2 49598. (Contributed by Zhi Wang, 10-Nov-2025.)
𝐼 = (idfunc𝐶)    &   (𝜑𝐼 ∈ (𝐷 Func 𝐸))       (𝜑 → ((1st𝐼) “ (Base‘𝐷)) = (Base‘𝐷))
 
10-Nov-2025idfu2nda 49590 Value of the morphism part of the identity functor. (Contributed by Zhi Wang, 10-Nov-2025.)
𝐼 = (idfunc𝐶)    &   (𝜑𝐼 ∈ (𝐷 Func 𝐸))    &   (𝜑𝐵 = (Base‘𝐷))    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)    &   (𝜑𝐻 = (𝑋(Hom ‘𝐷)𝑌))       (𝜑 → (𝑋(2nd𝐼)𝑌) = ( I ↾ 𝐻))
 
10-Nov-2025idfu1a 49589 Value of the object part of the identity functor. (Contributed by Zhi Wang, 10-Nov-2025.)
𝐼 = (idfunc𝐶)    &   (𝜑𝐼 ∈ (𝐷 Func 𝐸))    &   (𝜑𝐵 = (Base‘𝐷))    &   (𝜑𝑋𝐵)       (𝜑 → ((1st𝐼)‘𝑋) = 𝑋)
 
10-Nov-2025idfu1sta 49588 Value of the object part of the identity functor. (Contributed by Zhi Wang, 10-Nov-2025.)
𝐼 = (idfunc𝐶)    &   (𝜑𝐼 ∈ (𝐷 Func 𝐸))    &   (𝜑𝐵 = (Base‘𝐷))       (𝜑 → (1st𝐼) = ( I ↾ 𝐵))
 
10-Nov-2025idfu1stalem 49587 Lemma for idfu1sta 49588. (Contributed by Zhi Wang, 10-Nov-2025.)
𝐼 = (idfunc𝐶)    &   (𝜑𝐼 ∈ (𝐷 Func 𝐸))    &   (𝜑𝐵 = (Base‘𝐷))       (𝜑𝐵 = (Base‘𝐶))
 
10-Nov-2025idfurcl 49585 Reverse closure for an identity functor. (Contributed by Zhi Wang, 10-Nov-2025.)
((idfunc𝐶) ∈ (𝐷 Func 𝐸) → 𝐶 ∈ Cat)
 
10-Nov-2025funchomf 49584 Source categories of a functor have the same set of objects and morphisms. (Contributed by Zhi Wang, 10-Nov-2025.)
(𝜑𝐹(𝐴 Func 𝐶)𝐺)    &   (𝜑𝐹(𝐵 Func 𝐷)𝐺)       (𝜑 → (Homf𝐴) = (Homf𝐵))
 
10-Nov-2025pgjsgr 48580 A Petersen graph is a simple graph. (Contributed by AV, 10-Nov-2025.)
(5 gPetersenGr 2) ∈ USGraph
 
10-Nov-2025pglem 48579 Lemma for theorems about Petersen graphs. (Contributed by AV, 10-Nov-2025.)
2 ∈ (1..^(⌈‘(5 / 2)))
 
10-Nov-2025ndmfvrcl 6867 Reverse closure law for function with the empty set not in its domain (if 𝑅 = 𝑆). (Contributed by NM, 26-Apr-1996.) The class containing the function value does not have to be the domain. (Revised by Zhi Wang, 10-Nov-2025.)
dom 𝐹 = 𝑆    &    ¬ ∅ ∈ 𝑅       ((𝐹𝐴) ∈ 𝑅𝐴𝑆)
 
9-Nov-2025pgn4cyclex 48614 A cycle in a Petersen graph G(5,2) does not have length 4. (Contributed by AV, 9-Nov-2025.)
𝐺 = (5 gPetersenGr 2)       (𝐹(Cycles‘𝐺)𝑃 → (♯‘𝐹) ≠ 4)
 
9-Nov-2025pgnbgreunbgr 48613 In a Petersen graph, two different neighbors of a vertex have exactly one common neighbor, which is the vertex itself. (Contributed by AV, 9-Nov-2025.)
𝐺 = (5 gPetersenGr 2)    &   𝑉 = (Vtx‘𝐺)    &   𝐸 = (Edg‘𝐺)    &   𝑁 = (𝐺 NeighbVtx 𝑋)       ((𝐾𝑁𝐿𝑁𝐾𝐿) → ∃!𝑥𝑉 {{𝐾, 𝑥}, {𝑥, 𝐿}} ⊆ 𝐸)
 
9-Nov-2025cos9thpiminplylem2 33943 The polynomial ((𝑋↑3) + ((-3 · 𝑋) + 1)) has no rational roots. (Contributed by Thierry Arnoux, 9-Nov-2025.)
(𝜑𝑋 ∈ ℚ)       (𝜑 → ((𝑋↑3) + ((-3 · 𝑋) + 1)) ≠ 0)
 
9-Nov-2025cos9thpiminplylem1 33942 The polynomial ((𝑋↑3) + ((-3 · (𝑋↑2)) + 1)) has no integer roots. (Contributed by Thierry Arnoux, 9-Nov-2025.)
(𝜑𝑋 ∈ ℤ)       (𝜑 → ((𝑋↑3) + ((-3 · (𝑋↑2)) + 1)) ≠ 0)
 
9-Nov-2025oexpled 32935 Odd power monomials are monotonic. (Contributed by Thierry Arnoux, 9-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐵 ∈ ℝ)    &   (𝜑𝑁 ∈ ℕ)    &   (𝜑 → ¬ 2 ∥ 𝑁)    &   (𝜑𝐴𝐵)       (𝜑 → (𝐴𝑁) ≤ (𝐵𝑁))
 
9-Nov-2025expevenpos 32934 Even powers are positive. (Contributed by Thierry Arnoux, 9-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝑁 ∈ ℕ0)    &   (𝜑 → 2 ∥ 𝑁)       (𝜑 → 0 ≤ (𝐴𝑁))
 
9-Nov-2025elq2 32900 Elementhood in the rational numbers, providing the canonical representation. (Contributed by Thierry Arnoux, 9-Nov-2025.)
(𝑄 ∈ ℚ → ∃𝑝 ∈ ℤ ∃𝑞 ∈ ℕ (𝑄 = (𝑝 / 𝑞) ∧ (𝑝 gcd 𝑞) = 1))
 
9-Nov-2025receqid 32832 Real numbers equal to their own reciprocal have absolute value 1. (Contributed by Thierry Arnoux, 9-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐴 ≠ 0)       (𝜑 → ((1 / 𝐴) = 𝐴 ↔ (abs‘𝐴) = 1))
 
9-Nov-2025sgnval2 32823 Value of the signum of a real number, expresssed using absolute value. (Contributed by Thierry Arnoux, 9-Nov-2025.)
((𝐴 ∈ ℝ ∧ 𝐴 ≠ 0) → (sgn‘𝐴) = (𝐴 / (abs‘𝐴)))
 
9-Nov-2025z12negsclb 28487 A surreal is a dyadic fraction iff its negative is. (Contributed by Scott Fenton, 9-Nov-2025.)
(𝐴 No → (𝐴 ∈ ℤs[1/2] ↔ ( -us𝐴) ∈ ℤs[1/2]))
 
9-Nov-2025z12negscl 28484 The dyadics are closed under negation. (Contributed by Scott Fenton, 9-Nov-2025.)
(𝐴 ∈ ℤs[1/2] → ( -us𝐴) ∈ ℤs[1/2])
 
8-Nov-2025gpgedgel 48538 An edge in a generalized Petersen graph 𝐺. (Contributed by AV, 29-Aug-2025.) (Proof shortened by AV, 8-Nov-2025.)
𝐼 = (0..^𝑁)    &   𝐽 = (1..^(⌈‘(𝑁 / 2)))    &   𝐺 = (𝑁 gPetersenGr 𝐾)    &   𝐸 = (Edg‘𝐺)       ((𝑁 ∈ (ℤ‘3) ∧ 𝐾𝐽) → (𝑌𝐸 ↔ ∃𝑥𝐼 (𝑌 = {⟨0, 𝑥⟩, ⟨0, ((𝑥 + 1) mod 𝑁)⟩} ∨ 𝑌 = {⟨0, 𝑥⟩, ⟨1, 𝑥⟩} ∨ 𝑌 = {⟨1, 𝑥⟩, ⟨1, ((𝑥 + 𝐾) mod 𝑁)⟩})))
 
8-Nov-2025z12sge0 28489 An expression for non-negative dyadic rationals. (Contributed by Scott Fenton, 8-Nov-2025.)
((𝐴 No ∧ 0s ≤s 𝐴) → (𝐴 ∈ ℤs[1/2] ↔ ∃𝑥 ∈ ℕ0s𝑦 ∈ ℕ0s𝑝 ∈ ℕ0s (𝐴 = (𝑥 +s (𝑦 /su (2ss𝑝))) ∧ 𝑦 <s (2ss𝑝))))
 
8-Nov-2025pw2divsnegd 28455 Move negative sign inside of a power of two division. (Contributed by Scott Fenton, 8-Nov-2025.)
(𝜑𝐴 No )    &   (𝜑𝑁 ∈ ℕ0s)       (𝜑 → ( -us ‘(𝐴 /su (2ss𝑁))) = (( -us𝐴) /su (2ss𝑁)))
 
8-Nov-2025nnexpscl 28439 Closure law for positive surreal integer exponentiation. (Contributed by Scott Fenton, 8-Nov-2025.)
((𝐴 ∈ ℕs𝑁 ∈ ℕ0s) → (𝐴s𝑁) ∈ ℕs)
 
8-Nov-2025eucliddivs 28382 Euclid's division lemma for surreal numbers. (Contributed by Scott Fenton, 8-Nov-2025.)
((𝐴 ∈ ℕ0s𝐵 ∈ ℕs) → ∃𝑝 ∈ ℕ0s𝑞 ∈ ℕ0s (𝐴 = ((𝐵 ·s 𝑝) +s 𝑞) ∧ 𝑞 <s 𝐵))
 
8-Nov-2025nnm1n0s 28381 A positive surreal integer minus one is a non-negative surreal integer. (Contributed by Scott Fenton, 8-Nov-2025.)
(𝑁 ∈ ℕs → (𝑁 -s 1s ) ∈ ℕ0s)
 
8-Nov-2025nn1m1nns 28380 Every positive surreal integer is either one or a successor. (Contributed by Scott Fenton, 8-Nov-2025.)
(𝐴 ∈ ℕs → (𝐴 = 1s ∨ (𝐴 -s 1s ) ∈ ℕs))
 
8-Nov-2025n0lesm1lt 28373 Non-negative surreal ordering relation. (Contributed by Scott Fenton, 8-Nov-2025.)
((𝑀 ∈ ℕ0s𝑁 ∈ ℕ0s) → (𝑀 ≤s 𝑁 ↔ (𝑀 -s 1s ) <s 𝑁))
 
8-Nov-2025oniso 28277 The birthday function restricted to the surreal ordinals forms an order-preserving isomorphism with the regular ordinals. (Contributed by Scott Fenton, 8-Nov-2025.)
( bday ↾ Ons) Isom <s , E (Ons, On)
 
7-Nov-2025imasubc3 49643 An image of a functor injective on objects is a subcategory. Remark 4.2(3) of [Adamek] p. 48. (Contributed by Zhi Wang, 7-Nov-2025.)
𝑆 = (𝐹𝐴)    &   𝐻 = (Hom ‘𝐷)    &   𝐾 = (𝑥𝑆, 𝑦𝑆 𝑝 ∈ ((𝐹 “ {𝑥}) × (𝐹 “ {𝑦}))((𝐺𝑝) “ (𝐻𝑝)))    &   (𝜑𝐹(𝐷 Func 𝐸)𝐺)    &   (𝜑 → Fun 𝐹)       (𝜑𝐾 ∈ (Subcat‘𝐸))
 
7-Nov-2025imaf1co 49642 An image of a functor whose object part is injective preserves the composition. (Contributed by Zhi Wang, 7-Nov-2025.)
𝑆 = (𝐹𝐴)    &   𝐻 = (Hom ‘𝐷)    &   𝐾 = (𝑥𝑆, 𝑦𝑆 𝑝 ∈ ((𝐹 “ {𝑥}) × (𝐹 “ {𝑦}))((𝐺𝑝) “ (𝐻𝑝)))    &   (𝜑𝐹(𝐷 Func 𝐸)𝐺)    &   𝐵 = (Base‘𝐷)    &   𝐶 = (Base‘𝐸)    &    = (comp‘𝐸)    &   (𝜑𝐹:𝐵1-1𝐶)    &   (𝜑𝑋𝑆)    &   (𝜑𝑌𝑆)    &   (𝜑𝑍𝑆)    &   (𝜑𝑀 ∈ (𝑋𝐾𝑌))    &   (𝜑𝑁 ∈ (𝑌𝐾𝑍))       (𝜑 → (𝑁(⟨𝑋, 𝑌 𝑍)𝑀) ∈ (𝑋𝐾𝑍))
 
7-Nov-2025imaid 49641 An image of a functor preserves the identity morphism. (Contributed by Zhi Wang, 7-Nov-2025.)
𝑆 = (𝐹𝐴)    &   𝐻 = (Hom ‘𝐷)    &   𝐾 = (𝑥𝑆, 𝑦𝑆 𝑝 ∈ ((𝐹 “ {𝑥}) × (𝐹 “ {𝑦}))((𝐺𝑝) “ (𝐻𝑝)))    &   (𝜑𝐹(𝐷 Func 𝐸)𝐺)    &   𝐼 = (Id‘𝐸)    &   (𝜑𝑋𝑆)       (𝜑 → (𝐼𝑋) ∈ (𝑋𝐾𝑋))
 
7-Nov-2025imassc 49640 An image of a functor satisfies the subcategory subset relation. (Contributed by Zhi Wang, 7-Nov-2025.)
𝑆 = (𝐹𝐴)    &   𝐻 = (Hom ‘𝐷)    &   𝐾 = (𝑥𝑆, 𝑦𝑆 𝑝 ∈ ((𝐹 “ {𝑥}) × (𝐹 “ {𝑦}))((𝐺𝑝) “ (𝐻𝑝)))    &   (𝜑𝐹(𝐷 Func 𝐸)𝐺)    &   𝐽 = (Homf𝐸)       (𝜑𝐾cat 𝐽)
 
7-Nov-2025imasubc2 49639 An image of a full functor is a (full) subcategory. Remark 4.2(3) of [Adamek] p. 48. (Contributed by Zhi Wang, 7-Nov-2025.)
𝑆 = (𝐹𝐴)    &   𝐻 = (Hom ‘𝐷)    &   𝐾 = (𝑥𝑆, 𝑦𝑆 𝑝 ∈ ((𝐹 “ {𝑥}) × (𝐹 “ {𝑦}))((𝐺𝑝) “ (𝐻𝑝)))    &   (𝜑𝐹(𝐷 Full 𝐸)𝐺)       (𝜑𝐾 ∈ (Subcat‘𝐸))
 
7-Nov-2025imasubc 49638 An image of a full functor is a full subcategory. Remark 4.2(3) of [Adamek] p. 48. (Contributed by Zhi Wang, 7-Nov-2025.)
𝑆 = (𝐹𝐴)    &   𝐻 = (Hom ‘𝐷)    &   𝐾 = (𝑥𝑆, 𝑦𝑆 𝑝 ∈ ((𝐹 “ {𝑥}) × (𝐹 “ {𝑦}))((𝐺𝑝) “ (𝐻𝑝)))    &   (𝜑𝐹(𝐷 Full 𝐸)𝐺)    &   𝐶 = (Base‘𝐸)    &   𝐽 = (Homf𝐸)       (𝜑 → (𝐾 Fn (𝑆 × 𝑆) ∧ 𝑆𝐶 ∧ (𝐽 ↾ (𝑆 × 𝑆)) = 𝐾))
 
7-Nov-2025imaf1hom 49595 The hom-set of an image of a functor injective on objects. (Contributed by Zhi Wang, 7-Nov-2025.)
𝑆 = (𝐹𝐴)    &   (𝜑𝐹:𝐵1-1𝐶)    &   (𝜑𝑋𝑆)    &   (𝜑𝑌𝑆)    &   (𝜑𝐹𝑉)    &   𝐾 = (𝑥𝑆, 𝑦𝑆 𝑝 ∈ ((𝐹 “ {𝑥}) × (𝐹 “ {𝑦}))((𝐺𝑝) “ (𝐻𝑝)))       (𝜑 → (𝑋𝐾𝑌) = (((𝐹𝑋)𝐺(𝐹𝑌)) “ ((𝐹𝑋)𝐻(𝐹𝑌))))
 
7-Nov-2025imaf1homlem 49594 Lemma for imaf1hom 49595 and other theorems. (Contributed by Zhi Wang, 7-Nov-2025.)
𝑆 = (𝐹𝐴)    &   (𝜑𝐹:𝐵1-1𝐶)    &   (𝜑𝑋𝑆)       (𝜑 → ({(𝐹𝑋)} = (𝐹 “ {𝑋}) ∧ (𝐹‘(𝐹𝑋)) = 𝑋 ∧ (𝐹𝑋) ∈ 𝐵))
 
7-Nov-2025imasubclem3 49593 Lemma for imasubc 49638. (Contributed by Zhi Wang, 7-Nov-2025.)
(𝜑𝐹𝑉)    &   (𝜑𝐺𝑊)    &   (𝜑𝑋𝐴)    &   (𝜑𝑌𝐵)    &   𝐾 = (𝑥𝐴, 𝑦𝐵 𝑧 ∈ ((𝐹 “ {𝑥}) × (𝐺 “ {𝑦}))((𝐻𝐶) “ 𝐷))       (𝜑 → (𝑋𝐾𝑌) = 𝑧 ∈ ((𝐹 “ {𝑋}) × (𝐺 “ {𝑌}))((𝐻𝐶) “ 𝐷))
 
7-Nov-2025imasubclem2 49592 Lemma for imasubc 49638. (Contributed by Zhi Wang, 7-Nov-2025.)
(𝜑𝐹𝑉)    &   (𝜑𝐺𝑊)    &   𝐾 = (𝑦𝑋, 𝑧𝑌 𝑥 ∈ ((𝐹𝐴) × (𝐺𝐵))((𝐻𝐶) “ 𝐷))       (𝜑𝐾 Fn (𝑋 × 𝑌))
 
7-Nov-2025inisegn0a 49323 The inverse image of a singleton subset of an image is non-empty. (Contributed by Zhi Wang, 7-Nov-2025.)
(𝐴 ∈ (𝐹𝐵) → (𝐹 “ {𝐴}) ≠ ∅)
 
7-Nov-2025pw2divsdird 28454 Distribution of surreal division over addition for powers of two. (Contributed by Scott Fenton, 7-Nov-2025.)
(𝜑𝐴 No )    &   (𝜑𝐵 No )    &   (𝜑𝑁 ∈ ℕ0s)       (𝜑 → ((𝐴 +s 𝐵) /su (2ss𝑁)) = ((𝐴 /su (2ss𝑁)) +s (𝐵 /su (2ss𝑁))))
 
7-Nov-2025pw2divsrecd 28453 Relationship between surreal division and reciprocal for powers of two. (Contributed by Scott Fenton, 7-Nov-2025.)
(𝜑𝐴 No )    &   (𝜑𝑁 ∈ ℕ0s)       (𝜑 → (𝐴 /su (2ss𝑁)) = (𝐴 ·s ( 1s /su (2ss𝑁))))
 
7-Nov-2025pw2ge0divsd 28452 Divison of a non-negative surreal by a power of two. (Contributed by Scott Fenton, 7-Nov-2025.)
(𝜑𝐴 No )    &   (𝜑𝑁 ∈ ℕ0s)       (𝜑 → ( 0s ≤s 𝐴 ↔ 0s ≤s (𝐴 /su (2ss𝑁))))
 
7-Nov-2025pw2gt0divsd 28451 Division of a positive surreal by a power of two. (Contributed by Scott Fenton, 7-Nov-2025.)
(𝜑𝐴 No )    &   (𝜑𝑁 ∈ ℕ0s)       (𝜑 → ( 0s <s 𝐴 ↔ 0s <s (𝐴 /su (2ss𝑁))))
 
7-Nov-2025pw2divscan2d 28448 A cancellation law for surreal division by powers of two. (Contributed by Scott Fenton, 7-Nov-2025.)
(𝜑𝐴 No )    &   (𝜑𝑁 ∈ ℕ0s)       (𝜑 → ((2ss𝑁) ·s (𝐴 /su (2ss𝑁))) = 𝐴)
 
7-Nov-2025pw2divscan3d 28447 Cancellation law for surreal division by powers of two. (Contributed by Scott Fenton, 7-Nov-2025.)
(𝜑𝐴 No )    &   (𝜑𝑁 ∈ ℕ0s)       (𝜑 → (((2ss𝑁) ·s 𝐴) /su (2ss𝑁)) = 𝐴)
 
7-Nov-2025pw2divmulsd 28446 Relationship between surreal division and multiplication for powers of two. (Contributed by Scott Fenton, 7-Nov-2025.)
(𝜑𝐴 No )    &   (𝜑𝐵 No )    &   (𝜑𝑁 ∈ ℕ0s)       (𝜑 → ((𝐴 /su (2ss𝑁)) = 𝐵 ↔ ((2ss𝑁) ·s 𝐵) = 𝐴))
 
7-Nov-2025pw2divscld 28445 Division closure for powers of two. (Contributed by Scott Fenton, 7-Nov-2025.)
(𝜑𝐴 No )    &   (𝜑𝑁 ∈ ℕ0s)       (𝜑 → (𝐴 /su (2ss𝑁)) ∈ No )
 
7-Nov-2025expadds 28441 Sum of exponents law for surreals. (Contributed by Scott Fenton, 7-Nov-2025.)
((𝐴 No 𝑀 ∈ ℕ0s𝑁 ∈ ℕ0s) → (𝐴s(𝑀 +s 𝑁)) = ((𝐴s𝑀) ·s (𝐴s𝑁)))
 
7-Nov-2025n0expscl 28438 Closure law for non-negative surreal integer exponentiation. (Contributed by Scott Fenton, 7-Nov-2025.)
((𝐴 ∈ ℕ0s𝑁 ∈ ℕ0s) → (𝐴s𝑁) ∈ ℕ0s)

Older news:

(29-Jul-2020) Mario Carneiro presented MM0 at the CICM conference. See this Google Group post which includes a YouTube link.

(20-Jul-2020) Rohan Ridenour found 5 shorter D-proofs in our Shortest known proofs... file. In particular, he reduced *4.39 from 901 to 609 steps. A note on the Metamath Solitaire page mentions a tool that he worked with.

(19-Jul-2020) David A. Wheeler posted a video (https://youtu.be/3R27Qx69jHc) on how to (re)prove Schwabh�user 4.6 for the Metamath Proof Explorer. See also his older videos.

(19-Jul-2020) In version 0.184 of the metamath program, "verify markup" now checks that mathboxes are independent i.e. do not cross-reference each other. To turn off this check, use "/mathbox_skip"

(30-Jun-2020) In version 0.183 of the metamath program, (1) "verify markup" now has checking for (i) underscores in labels, (ii) that *ALT and *OLD theorems have both discouragement tags, and (iii) that lines don't have trailing spaces. (2) "save proof.../rewrap" no longer left-aligns $p/$a comments that contain the string "<HTML>"; see this note.

(5-Apr-2020) Glauco Siliprandi added a new proof to the 100 theorem list, e is Transcendental etransc, bringing the Metamath total to 74.

(12-Feb-2020) A bug in the 'minimize' command of metamath.exe versions 0.179 (29-Nov-2019) and 0.180 (10-Dec-2019) may incorrectly bring in the use of new axioms. Version 0.181 fixes it.

(20-Jan-2020) David A. Wheeler created a video called Walkthrough of the tutorial in mmj2. See the Google Group announcement for more details. (All of his videos are listed on the Other Metamath-Related Topics page.)

(18-Jan-2020) The FOMM 2020 talks are on youtube now. Mario Carneiro's talk is Metamath Zero, or: How to Verify a Verifier. Since they are washed out in the video, the PDF slides are available separately.

(14-Dec-2019) Glauco Siliprandi added a new proof to the 100 theorem list, Fourier series convergence fourier, bringing the Metamath total to 73.

(25-Nov-2019) Alexander van der Vekens added a new proof to the 100 theorem list, The Cayley-Hamilton Theorem cayleyhamilton, bringing the Metamath total to 72.

(25-Oct-2019) Mario Carneiro's paper "Metamath Zero: The Cartesian Theorem Prover" (submitted to CPP 2020) is now available on arXiv: https://arxiv.org/abs/1910.10703. There is a related discussion on Hacker News.

(30-Sep-2019) Mario Carneiro's talk about MM0 at ITP 2019 is available on YouTube: x86 verification from scratch (24 minutes). Google Group discussion: Metamath Zero.

(29-Sep-2019) David Wheeler created a fascinating Gource video that animates the construction of set.mm, available on YouTube: Metamath set.mm contributions viewed with Gource through 2019-09-26 (4 minutes). Google Group discussion: Gource video of set.mm contributions.

(24-Sep-2019) nLab added a page for Metamath. It mentions Stefan O'Rear's Busy Beaver work using the set.mm axiomatization (and fails to mention Mario's definitional soundness checker)

(1-Sep-2019) Xuanji Li published a Visual Studio Code extension to support metamath syntax highlighting.

(10-Aug-2019) (revised 21-Sep-2019) Version 0.178 of the metamath program has the following changes: (1) "minimize_with" will now prevent dependence on new $a statements unless the new qualifier "/allow_new_axioms" is specified. For routine usage, it is suggested that you use "minimize_with * /allow_new_axioms * /no_new_axioms_from ax-*" instead of just "minimize_with *". See "help minimize_with" and this Google Group post. Also note that the qualifier "/allow_growth" has been renamed to "/may_grow". (2) "/no_versioning" was added to "write theorem_list".

(8-Jul-2019) Jon Pennant announced the creation of a Metamath search engine. Try it and feel free to comment on it at https://groups.google.com/d/msg/metamath/cTeU5AzUksI/5GesBfDaCwAJ.

(16-May-2019) Set.mm now has a major new section on elementary geometry. This begins with definitions that implement Tarski's axioms of geometry (including concepts such as congruence and betweenness). This uses set.mm's extensible structures, making them easier to use for many circumstances. The section then connects Tarski geometry with geometry in Euclidean places. Most of the work in this section is due to Thierry Arnoux, with earlier work by Mario Carneiro and Scott Fenton. [Reported by DAW.]

(9-May-2019) We are sad to report that long-time contributor Alan Sare passed away on Mar. 23. There is some more information at the top of his mathbox (click on "Mathbox for Alan Sare") and his obituary. We extend our condolences to his family.

(10-Mar-2019) Jon Pennant and Mario Carneiro added a new proof to the 100 theorem list, Heron's formula heron, bringing the Metamath total to 71.

(22-Feb-2019) Alexander van der Vekens added a new proof to the 100 theorem list, Cramer's rule cramer, bringing the Metamath total to 70.

(6-Feb-2019) David A. Wheeler has made significant improvements and updates to the Metamath book. Any comments, errors found, or suggestions are welcome and should be turned into an issue or pull request at https://github.com/metamath/metamath-book (or sent to me if you prefer).

(26-Dec-2018) I added Appendix 8 to the MPE Home Page that cross-references new and old axiom numbers.

(20-Dec-2018) The axioms have been renumbered according to this Google Groups post.

(24-Nov-2018) Thierry Arnoux created a new page on topological structures. The page along with its SVG files are maintained on GitHub.

(11-Oct-2018) Alexander van der Vekens added a new proof to the 100 theorem list, the Friendship Theorem friendship, bringing the Metamath total to 69.

(1-Oct-2018) Naip Moro has written gramm, a Metamath proof verifier written in Antlr4/Java.

(16-Sep-2018) The definition df-riota has been simplified so that it evaluates to the empty set instead of an Undef value. This change affects a significant part of set.mm.

(2-Sep-2018) Thierry Arnoux added a new proof to the 100 theorem list, Euler's partition theorem eulerpart, bringing the Metamath total to 68.

(1-Sep-2018) The Kate editor now has Metamath syntax highlighting built in. (Communicated by Wolf Lammen.)

(15-Aug-2018) The Intuitionistic Logic Explorer now has a Most Recent Proofs page.

(4-Aug-2018) Version 0.163 of the metamath program now indicates (with an asterisk) which Table of Contents headers have associated comments.

(10-May-2018) George Szpiro, journalist and author of several books on popular mathematics such as Poincare's Prize and Numbers Rule, used a genetic algorithm to find shorter D-proofs of "*3.37" and "meredith" in our Shortest known proofs... file.

(19-Apr-2018) The EMetamath Eclipse plugin has undergone many improvements since its initial release as the change log indicates. Thierry uses it as his main proof assistant and writes, "I added support for mmj2's auto-transformations, which allows it to infer several steps when building proofs. This added a lot of comfort for writing proofs.... I can now switch back and forth between the proof assistant and editing the Metamath file.... I think no other proof assistant has this feature."

(11-Apr-2018) Benoît Jubin solved an open problem about the "Axiom of Twoness," showing that it is necessary for completeness. See item 14 on the "Open problems and miscellany" page.

(25-Mar-2018) Giovanni Mascellani has announced mmpp, a new proof editing environment for the Metamath language.

(27-Feb-2018) Bill Hale has released an app for the Apple iPad and desktop computer that allows you to browse Metamath theorems and their proofs.

(17-Jan-2018) Dylan Houlihan has kindly provided a new mirror site. He has also provided an rsync server; type "rsync uk.metamath.org::" in a bash shell to check its status (it should return "metamath metamath").

(15-Jan-2018) The metamath program, version 0.157, has been updated to implement the file inclusion conventions described in the 21-Dec-2017 entry of mmnotes.txt.

(11-Dec-2017) I added a paragraph, suggested by Gérard Lang, to the distinct variable description here.

(10-Dec-2017) Per FL's request, his mathbox will be removed from set.mm. If you wish to export any of his theorems, today's version (master commit 1024a3a) is the last one that will contain it.

(11-Nov-2017) Alan Sare updated his completeusersproof program.

(3-Oct-2017) Sean B. Palmer created a web page that runs the metamath program under emulated Linux in JavaScript. He also wrote some programs to work with our shortest known proofs of the PM propositional calculus theorems.

(28-Sep-2017) Ivan Kuckir wrote a tutorial blog entry, Introduction to Metamath, that summarizes the language syntax. (It may have been written some time ago, but I was not aware of it before.)

(26-Sep-2017) The default directory for the Metamath Proof Explorer (MPE) has been changed from the GIF version (mpegif) to the Unicode version (mpeuni) throughout the site. Please let me know if you find broken links or other issues.

(24-Sep-2017) Saveliy Skresanov added a new proof to the 100 theorem list, Ceva's Theorem cevath, bringing the Metamath total to 67.

(3-Sep-2017) Brendan Leahy added a new proof to the 100 theorem list, Area of a Circle areacirc, bringing the Metamath total to 66.

(7-Aug-2017) Mario Carneiro added a new proof to the 100 theorem list, Principle of Inclusion/Exclusion incexc, bringing the Metamath total to 65.

(1-Jul-2017) Glauco Siliprandi added a new proof to the 100 theorem list, Stirling's Formula stirling, bringing the Metamath total to 64. Related theorems include 2 versions of Wallis' formula for π (wallispi and wallispi2).

(7-May-2017) Thierry Arnoux added a new proof to the 100 theorem list, Betrand's Ballot Problem ballotth, bringing the Metamath total to 63.

(20-Apr-2017) Glauco Siliprandi added a new proof in the supplementary list on the 100 theorem list, Stone-Weierstrass Theorem stowei.

(28-Feb-2017) David Moews added a new proof to the 100 theorem list, Product of Segments of Chords chordthm, bringing the Metamath total to 62.

(1-Jan-2017) Saveliy Skresanov added a new proof to the 100 theorem list, Isosceles triangle theorem isosctr, bringing the Metamath total to 61.

(1-Jan-2017) Mario Carneiro added 2 new proofs to the 100 theorem list, L'Hôpital's Rule lhop and Taylor's Theorem taylth, bringing the Metamath total to 60.

(28-Dec-2016) David A. Wheeler is putting together a page on Metamath (specifically set.mm) conventions. Comments are welcome on the Google Group thread.

(24-Dec-2016) Mario Carneiro introduced the abbreviation "F/ x ph" (symbols: turned F, x, phi) in df-nf to represent the "effectively not free" idiom "A. x ( ph -> A. x ph )". Theorem nf2 shows a version without nested quantifiers.

(22-Dec-2016) Naip Moro has developed a Metamath database for G. Spencer-Brown's Laws of Form. You can follow the Google Group discussion here.

(20-Dec-2016) In metamath program version 0.137, 'verify markup *' now checks that ax-XXX $a matches axXXX $p when the latter exists, per the discussion at https://groups.google.com/d/msg/metamath/Vtz3CKGmXnI/Fxq3j1I_EQAJ.

(24-Nov-2016) Mingl Yuan has kindly provided a mirror site in Beijing, China. He has also provided an rsync server; type "rsync cn.metamath.org::" in a bash shell to check its status (it should return "metamath metamath").

(14-Aug-2016) All HTML pages on this site should now be mobile-friendly and pass the Mobile-Friendly Test. If you find one that does not, let me know.

(14-Aug-2016) Daniel Whalen wrote a paper describing the use of using deep learning to prove 14% of test theorems taken from set.mm: Holophrasm: a neural Automated Theorem Prover for higher-order logic. The associated program is called Holophrasm.

(14-Aug-2016) David A. Wheeler created a video called Metamath Proof Explorer: A Modern Principia Mathematica

(12-Aug-2016) A Gitter chat room has been created for Metamath.

(9-Aug-2016) Mario Carneiro wrote a Metamath proof verifier in the Scala language as part of the ongoing Metamath -> MMT import project

(9-Aug-2016) David A. Wheeler created a GitHub project called metamath-test (last execution run) to check that different verifiers both pass good databases and detect errors in defective ones.

(4-Aug-2016) Mario gave two presentations at CICM 2016.

(17-Jul-2016) Thierry Arnoux has written EMetamath, a Metamath plugin for the Eclipse IDE.

(16-Jul-2016) Mario recovered Chris Capel's collapsible proof demo.

(13-Jul-2016) FL sent me an updated version of PDF (LaTeX source) developed with Lamport's pf2 package. See the 23-Apr-2012 entry below.

(12-Jul-2016) David A. Wheeler produced a new video for mmj2 called "Creating functions in Metamath". It shows a more efficient approach than his previous recent video "Creating functions in Metamath" (old) but it can be of interest to see both approaches.

(10-Jul-2016) Metamath program version 0.132 changes the command 'show restricted' to 'show discouraged' and adds a new command, 'set discouragement'. See the mmnotes.txt entry of 11-May-2016 (updated 10-Jul-2016).

(12-Jun-2016) Dan Getz has written Metamath.jl, a Metamath proof verifier written in the Julia language.

(10-Jun-2016) If you are using metamath program versions 0.128, 0.129, or 0.130, please update to version 0.131. (In the bad versions, 'minimize_with' ignores distinct variable violations.)

(1-Jun-2016) Mario Carneiro added new proofs to the 100 theorem list, the Prime Number Theorem pnt and the Perfect Number Theorem perfect, bringing the Metamath total to 58.

(12-May-2016) Mario Carneiro added a new proof to the 100 theorem list, Dirichlet's theorem dirith, bringing the Metamath total to 56. (Added 17-May-2016) An informal exposition of the proof can be found at http://metamath-blog.blogspot.com/2016/05/dirichlets-theorem.html

(10-Mar-2016) Metamath program version 0.125 adds a new qualifier, /fast, to 'save proof'. See the mmnotes.txt entry of 10-Mar-2016.

(6-Mar-2016) The most recent set.mm has a large update converting variables from letters to symbols. See this Google Groups post.

(16-Feb-2016) Mario Carneiro's new paper "Models for Metamath" can be found here and on arxiv.org.

(6-Feb-2016) There are now 22 math symbols that can be used as variable names. See mmascii.html near the 50th table row, starting with "./\".

(29-Jan-2016) Metamath program version 0.123 adds /packed and /explicit qualifiers to 'save proof' and 'show proof'. See this Google Groups post.

(13-Jan-2016) The Unicode math symbols now provide for external CSS and use the XITS web font. Thanks to David A. Wheeler, Mario Carneiro, Cris Perdue, Jason Orendorff, and Frédéric Liné for discussions on this topic. Two commands, htmlcss and htmlfont, were added to the $t comment in set.mm and are recognized by Metamath program version 0.122.

(21-Dec-2015) Axiom ax-12, now renamed ax-12o, was replaced by a new shorter equivalent, ax-12. The equivalence is provided by theorems ax12o and ax12.

(13-Dec-2015) A new section on the theory of classes was added to the MPE Home Page. Thanks to Gérard Lang for suggesting this section and improvements to it.

(17-Nov-2015) Metamath program version 0.121: 'verify markup' was added to check comment markup consistency; see 'help verify markup'. You are encouraged to make sure 'verify markup */f' has no warnings prior to mathbox submissions. The date consistency rules are given in this Google Groups post.

(23-Sep-2015) Drahflow wrote, "I am currently working on yet another proof assistant, main reason being: I understand stuff best if I code it. If anyone is interested: https://github.com/Drahflow/Igor (but in my own programming language, so expect a complicated build process :P)"

(23-Aug-2015) Ivan Kuckir created MM Tool, a Metamath proof verifier and editor written in JavaScript that runs in a browser.

(25-Jul-2015) Axiom ax-10 is shown to be redundant by theorem ax10 , so it was removed from the predicate calculus axiom list.

(19-Jul-2015) Mario Carneiro gave two talks related to Metamath at CICM 2015, which are linked to at Other Metamath-Related Topics.

(18-Jul-2015) The metamath program has been updated to version 0.118. 'show trace_back' now has a '/to' qualifier to show the path back to a specific axiom such as ax-ac. See 'help show trace_back'.

(12-Jul-2015) I added the HOL Explorer for Mario Carneiro's hol.mm database. Although the home page needs to be filled out, the proofs can be accessed.

(11-Jul-2015) I started a new page, Other Metamath-Related Topics, that will hold miscellaneous material that doesn't fit well elsewhere (or is hard to find on this site). Suggestions welcome.

(23-Jun-2015) Metamath's mascot, Penny the cat (2007 photo), passed away today. She was 18 years old.

(21-Jun-2015) Mario Carneiro added 3 new proofs to the 100 theorem list: All Primes (1 mod 4) Equal the Sum of Two Squares 2sq, The Law of Quadratic Reciprocity lgsquad and the AM-GM theorem amgm, bringing the Metamath total to 55.

(13-Jun-2015) Stefan O'Rear's smm, written in JavaScript, can now be used as a standalone proof verifier. This brings the total number of independent Metamath verifiers to 8, written in just as many languages (C, Java. JavaScript, Python, Haskell, Lua, C#, C++).

(12-Jun-2015) David A. Wheeler added 2 new proofs to the 100 theorem list: The Law of Cosines lawcos and Ptolemy's Theorem ptolemy, bringing the Metamath total to 52.

(30-May-2015) The metamath program has been updated to version 0.117. (1) David A. Wheeler provided an enhancement to speed up the 'improve' command by 28%; see README.TXT for more information. (2) In web pages with proofs, local hyperlinks on step hypotheses no longer clip the Expression cell at the top of the page.

(9-May-2015) Stefan O'Rear has created an archive of older set.mm releases back to 1998: https://github.com/sorear/set.mm-history/.

(7-May-2015) The set.mm dated 7-May-2015 is a major revision, updated by Mario, that incorporates the new ordered pair definition df-op that was agreed upon. There were 700 changes, listed at the top of set.mm. Mathbox users are advised to update their local mathboxes. As usual, if any mathbox user has trouble incorporating these changes into their mathbox in progress, Mario or I will be glad to do them for you.

(7-May-2015) Mario has added 4 new theorems to the 100 theorem list: Ramsey's Theorem ramsey, The Solution of a Cubic cubic, The Solution of the General Quartic Equation quart, and The Birthday Problem birthday. In the Supplementary List, Stefan O'Rear added the Hilbert Basis Theorem hbt.

(28-Apr-2015) A while ago, Mario Carneiro wrote up a proof of the unambiguity of set.mm's grammar, which has now been added to this site: grammar-ambiguity.txt.

(22-Apr-2015) The metamath program has been updated to version 0.114. In MM-PA, 'show new_proof/unknown' now shows the relative offset (-1, -2,...) used for 'assign' arguments, suggested by Stefan O'Rear.

(20-Apr-2015) I retrieved an old version of the missing "Metamath 100" page from archive.org and updated it to what I think is the current state: mm_100.html. Anyone who wants to edit it can email updates to this page to me.

(19-Apr-2015) The metamath program has been updated to version 0.113, mostly with patches provided by Stefan O'Rear. (1) 'show statement %' (or any command allowing label wildcards) will select statements whose proofs were changed in current session. ('help search' will show all wildcard matching rules.) (2) 'show statement =' will select the statement being proved in MM-PA. (3) The proof date stamp is now created only if the proof is complete.

(18-Apr-2015) There is now a section for Scott Fenton's NF database: New Foundations Explorer.

(16-Apr-2015) Mario describes his recent additions to set.mm at https://groups.google.com/forum/#!topic/metamath/VAGNmzFkHCs. It include 2 new additions to the Formalizing 100 Theorems list, Leibniz' series for pi (leibpi) and the Konigsberg Bridge problem (konigsberg)

(10-Mar-2015) Mario Carneiro has written a paper, "Arithmetic in Metamath, Case Study: Bertrand's Postulate," for CICM 2015. A preprint is available at arXiv:1503.02349.

(23-Feb-2015) Scott Fenton has created a Metamath formalization of NF set theory: https://github.com/sctfn/metamath-nf/. For more information, see the Metamath Google Group posting.

(28-Jan-2015) Mario Carneiro added Wilson's Theorem (wilth), Ascending or Descending Sequences (erdsze, erdsze2), and Derangements Formula (derangfmla, subfaclim), bringing the Metamath total for Formalizing 100 Theorems to 44.

(19-Jan-2015) Mario Carneiro added Sylow's Theorem (sylow1, sylow2, sylow2b, sylow3), bringing the Metamath total for Formalizing 100 Theorems to 41.

(9-Jan-2015) The hypothesis order of mpbi*an* was changed. See the Notes entry of 9-Jan-2015.

(1-Jan-2015) Mario Carneiro has written a paper, "Conversion of HOL Light proofs into Metamath," that has been submitted to the Journal of Formalized Reasoning. A preprint is available on arxiv.org.

(22-Nov-2014) Stefan O'Rear added the Solutions to Pell's Equation (rmxycomplete) and Liouville's Theorem and the Construction of Transcendental Numbers (aaliou), bringing the Metamath total for Formalizing 100 Theorems to 40.

(22-Nov-2014) The metamath program has been updated with version 0.111. (1) Label wildcards now have a label range indicator "~" so that e.g. you can show or search all of the statements in a mathbox. See 'help search'. (Stefan O'Rear added this to the program.) (2) A qualifier was added to 'minimize_with' to prevent the use of any axioms not already used in the proof e.g. 'minimize_with * /no_new_axioms_from ax-*' will prevent the use of ax-ac if the proof doesn't already use it. See 'help minimize_with'.

(10-Oct-2014) Mario Carneiro has encoded the axiomatic basis for the HOL theorem prover into a Metamath source file, hol.mm.

(24-Sep-2014) Mario Carneiro added the Sum of the Angles of a Triangle (ang180), bringing the Metamath total for Formalizing 100 Theorems to 38.

(15-Sep-2014) Mario Carneiro added the Fundamental Theorem of Algebra (fta), bringing the Metamath total for Formalizing 100 Theorems to 37.

(3-Sep-2014) Mario Carneiro added the Fundamental Theorem of Integral Calculus (ftc1, ftc2). This brings the Metamath total for Formalizing 100 Theorems to 35. (added 14-Sep-2014) Along the way, he added the Mean Value Theorem (mvth), bringing the total to 36.

(16-Aug-2014) Mario Carneiro started a Metamath blog at http://metamath-blog.blogspot.com/.

(10-Aug-2014) Mario Carneiro added Erdős's proof of the divergence of the inverse prime series (prmrec). This brings the Metamath total for Formalizing 100 Theorems to 34.

(31-Jul-2014) Mario Carneiro added proofs for Euler's Summation of 1 + (1/2)^2 + (1/3)^2 + .... (basel) and The Factor and Remainder Theorems (facth, plyrem). This brings the Metamath total for Formalizing 100 Theorems to 33.

(16-Jul-2014) Mario Carneiro added proofs for Four Squares Theorem (4sq), Formula for the Number of Combinations (hashbc), and Divisibility by 3 Rule (3dvds). This brings the Metamath total for Formalizing 100 Theorems to 31.

(11-Jul-2014) Mario Carneiro added proofs for Divergence of the Harmonic Series (harmonic), Order of a Subgroup (lagsubg), and Lebesgue Measure and Integration (itgcl). This brings the Metamath total for Formalizing 100 Theorems to 28.

(7-Jul-2014) Mario Carneiro presented a talk, "Natural Deduction in the Metamath Proof Language," at the 6PCM conference. Slides Audio

(25-Jun-2014) In version 0.108 of the metamath program, the 'minimize_with' command is now more automated. It now considers compressed proof length; it scans the statements in forward and reverse order and chooses the best; and it avoids $d conflicts. The '/no_distinct', '/brief', and '/reverse' qualifiers are obsolete, and '/verbose' no longer lists all statements scanned but gives more details about decision criteria.

(12-Jun-2014) To improve naming uniformity, theorems about operation values now use the abbreviation "ov". For example, df-opr, opreq1, oprabval5, and oprvres are now called df-ov, oveq1, ov5, and ovres respectively.

(11-Jun-2014) Mario Carneiro finished a major revision of set.mm. His notes are under the 11-Jun-2014 entry in the Notes

(4-Jun-2014) Mario Carneiro provided instructions and screenshots for syntax highlighting for the jEdit editor for use with Metamath and mmj2 source files.

(19-May-2014) Mario Carneiro added a feature to mmj2, in the build at https://github.com/digama0/mmj2/raw/dev-build/mmj2jar/mmj2.jar, which tests all but 5 definitions in set.mm for soundness. You can turn on the test by adding
SetMMDefinitionsCheckWithExclusions,ax-*,df-bi,df-clab,df-cleq,df-clel,df-sbc
to your RunParms.txt file.

(17-May-2014) A number of labels were changed in set.mm, listed at the top of set.mm as usual. Note in particular that the heavily-used visset, elisseti, syl11anc, syl111anc were changed respectively to vex, elexi, syl2anc, syl3anc.

(16-May-2014) Scott Fenton formalized a proof for "Sum of kth powers": fsumkthpow. This brings the Metamath total for Formalizing 100 Theorems to 25.

(9-May-2014) I (Norm Megill) presented an overview of Metamath at the "Formalization of mathematics in proof assistants" workshop at the Institut Henri Poincar� in Paris. The slides for this talk are here.

(22-Jun-2014) Version 0.107 of the metamath program adds a "PART" indention level to the Statement List table of contents, adds 'show proof ... /size' to show source file bytes used, and adds 'show elapsed_time'. The last one is helpful for measuring the run time of long commands. See 'help write theorem_list', 'help show proof', and 'help show elapsed_time' for more information.

(2-May-2014) Scott Fenton formalized a proof of Sum of the Reciprocals of the Triangular Numbers: trirecip. This brings the Metamath total for Formalizing 100 Theorems to 24.

(19-Apr-2014) Scott Fenton formalized a proof of the Formula for Pythagorean Triples: pythagtrip. This brings the Metamath total for Formalizing 100 Theorems to 23.

(11-Apr-2014) David A. Wheeler produced a much-needed and well-done video for mmj2, called "Introduction to Metamath & mmj2". Thanks, David!

(15-Mar-2014) Mario Carneiro formalized a proof of Bertrand's postulate: bpos. This brings the Metamath total for Formalizing 100 Theorems to 22.

(18-Feb-2014) Mario Carneiro proved that complex number axiom ax-cnex is redundant (theorem cnex). See also Real and Complex Numbers.

(11-Feb-2014) David A. Wheeler has created a theorem compilation that tracks those theorems in Freek Wiedijk's Formalizing 100 Theorems list that have been proved in set.mm. If you find a error or omission in this list, let me know so it can be corrected. (Update 1-Mar-2014: Mario has added eulerth and bezout to the list.)

(4-Feb-2014) Mario Carneiro writes:

The latest commit on the mmj2 development branch introduced an exciting new feature, namely syntax highlighting for mmp files in the main window. (You can pick up the latest mmj2.jar at https://github.com/digama0/mmj2/blob/develop/mmj2jar/mmj2.jar .) The reason I am asking for your help at this stage is to help with design for the syntax tokenizer, which is responsible for breaking down the input into various tokens with names like "comment", "set", and "stephypref", which are then colored according to the user's preference. As users of mmj2 and metamath, what types of highlighting would be useful to you?

One limitation of the tokenizer is that since (for performance reasons) it can be started at any line in the file, highly contextual coloring, like highlighting step references that don't exist previously in the file, is difficult to do. Similarly, true parsing of the formulas using the grammar is possible but likely to be unmanageably slow. But things like checking theorem labels against the database is quite simple to do under the current setup.

That said, how can this new feature be optimized to help you when writing proofs?

(13-Jan-2014) Mathbox users: the *19.21a*, *19.23a* series of theorems have been renamed to *alrim*, *exlim*. You can update your mathbox with a global replacement of string '19.21a' with 'alrim' and '19.23a' with 'exlim'.

(5-Jan-2014) If you downloaded mmj2 in the past 3 days, please update it with the current version, which fixes a bug introduced by the recent changes that made it unable to read in most of the proofs in the textarea properly.

(4-Jan-2014) I added a list of "Allowed substitutions" under the "Distinct variable groups" list on the theorem web pages, for example axsep. This is an experimental feature and comments are welcome.

(3-Jan-2014) Version 0.102 of the metamath program produces more space-efficient compressed proofs (still compatible with the specification in Appendix B of the Metamath book) using an algorithm suggested by Mario Carneiro. See 'help save proof' in the program. Also, mmj2 now generates proofs in the new format. The new mmj2 also has a mandatory update that fixes a bug related to the new format; you must update your mmj2 copy to use it with the latest set.mm.

(23-Dec-2013) Mario Carneiro has updated many older definitions to use the maps-to notation. If you have difficulty updating your local mathbox, contact him or me for assistance.

(1-Nov-2013) 'undo' and 'redo' commands were added to the Proof Assistant in metamath program version 0.07.99. See 'help undo' in the program.

(8-Oct-2013) Today's Notes entry describes some proof repair techniques.

(5-Oct-2013) Today's Notes entry explains some recent extensible structure improvements.

(8-Sep-2013) Mario Carneiro has revised the square root and sequence generator definitions. See today's Notes entry.

(3-Aug-2013) Mario Carneiro writes: "I finally found enough time to create a GitHub repository for development at https://github.com/digama0/mmj2. A permalink to the latest version plus source (akin to mmj2.zip) is https://github.com/digama0/mmj2/zipball/, and the jar file on its own (mmj2.jar) is at https://github.com/digama0/mmj2/blob/master/mmj2jar/mmj2.jar?raw=true. Unfortunately there is no easy way to automatically generate mmj2jar.zip, but this is available as part of the zip distribution for mmj2.zip. History tracking will be handled by the repository now. Do you have old versions of the mmj2 directory? I could add them as historical commits if you do."

(18-Jun-2013) Mario Carneiro has done a major revision and cleanup of the construction of real and complex numbers. In particular, rather than using equivalence classes as is customary for the construction of the temporary rationals, he used only "reduced fractions", so that the use of the axiom of infinity is avoided until it becomes necessary for the construction of the temporary reals.

(18-May-2013) Mario Carneiro has added the ability to produce compressed proofs to mmj2. This is not an official release but can be downloaded here if you want to try it: mmj2.jar. If you have any feedback, send it to me (NM), and I will forward it to Mario. (Disclaimer: this release has not been endorsed by Mel O'Cat. If anyone has been in contact with him, please let me know.)

(29-Mar-2013) Charles Greathouse reduced the size of our PNG symbol images using the pngout program.

(8-Mar-2013) Wolf Lammen has reorganized the theorems in the "Logical negation" section of set.mm into a more orderly, less scattered arrangement.

(27-Feb-2013) Scott Fenton has done a large cleanup of set.mm, eliminating *OLD references in 144 proofs. See the Notes entry for 27-Feb-2013.

(21-Feb-2013) *ATTENTION MATHBOX USERS* The order of hypotheses of many syl* theorems were changed, per a suggestion of Mario Carneiro. You need to update your local mathbox copy for compatibility with the new set.mm, or I can do it for you if you wish. See the Notes entry for 21-Feb-2013.

(16-Feb-2013) Scott Fenton shortened the direct-from-axiom proofs of *3.1, *3.43, *4.4, *4.41, *4.5, *4.76, *4.83, *5.33, *5.35, *5.36, and meredith in the "Shortest known proofs of the propositional calculus theorems from Principia Mathematica" (pmproofs.txt).

(27-Jan-2013) Scott Fenton writes, "I've updated Ralph Levien's mmverify.py. It's now a Python 3 program, and supports compressed proofs and file inclusion statements. This adds about fifty lines to the original program. Enjoy!"

(10-Jan-2013) A new mathbox was added for Mario Carneiro, who has contributed a number of cardinality theorems without invoking the Axiom of Choice. This is nice work, and I will be using some of these (those suffixed with "NEW") to replace the existing ones in the main part of set.mm that currently invoke AC unnecessarily.

(4-Jan-2013) As mentioned in the 19-Jun-2012 item below, Eric Schmidt discovered that the complex number axioms axaddcom (now addcom) and ax0id (now addid1) are redundant (schmidt-cnaxioms.pdf, .tex). In addition, ax1id (now mulid1) can be weakened to ax1rid. Scott Fenton has now formalized this work, so that now there are 23 instead of 25 axioms for real and complex numbers in set.mm. The Axioms for Complex Numbers page has been updated with these results. An interesting part of the proof, showing how commutativity of addition follows from other laws, is in addcomi.

(27-Nov-2012) The frequently-used theorems "an1s", "an1rs", "ancom13s", "ancom31s" were renamed to "an12s", "an32s", "an13s", "an31s" to conform to the convention for an12 etc.

(4-Nov-2012) The changes proposed in the Notes, renaming Grp to GrpOp etc., have been incorporated into set.mm. See the list of changes at the top of set.mm. If you want me to update your mathbox with these changes, send it to me along with the version of set.mm that it works with.

(20-Sep-2012) Mel O'Cat updated https://us.metamath.org/ocat/mmj2/TESTmmj2jar.zip. See the README.TXT for a description of the new features.

(21-Aug-2012) Mel O'Cat has uploaded SearchOptionsMockup9.zip, a mockup for the new search screen in mmj2. See the README.txt file for instructions. He will welcome feedback via x178g243 at yahoo.com.

(19-Jun-2012) Eric Schmidt has discovered that in our axioms for complex numbers, axaddcom and ax0id are redundant. (At some point these need to be formalized for set.mm.) He has written up these and some other nice results, including some independence results for the axioms, in schmidt-cnaxioms.pdf (schmidt-cnaxioms.tex).

(23-Apr-2012) Frédéric Liné sent me a PDF (LaTeX source) developed with Lamport's pf2 package. He wrote: "I think it works well with Metamath since the proofs are in a tree form. I use it to have a sketch of a proof. I get this way a better understanding of the proof and I can cut down its size. For instance, inpreima5 was reduced by 50% when I wrote the corresponding proof with pf2."

(5-Mar-2012) I added links to Wikiproofs and its recent changes in the "Wikis" list at the top of this page.

(12-Jan-2012) Thanks to William Hoza who sent me a ZFC T-shirt, and thanks to the ZFC models (courtesy of the Inaccessible Cardinals agency).

FrontBackDetail
ZFC T-shirt front ZFC T-shirt back ZFC T-shirt detail

(24-Nov-2011) In metamath program version 0.07.71, the 'minimize_with' command by default now scans from bottom to top instead of top to bottom, since empirically this often (although not always) results in a shorter proof. A top to bottom scan can be specified with a new qualifier '/reverse'. You can try both methods (starting from the same original proof, of course) and pick the shorter proof.

(15-Oct-2011) From Mel O'Cat:
I just uploaded mmj2.zip containing the 1-Nov-2011 (20111101) release: https://us.metamath.org/ocat/mmj2/mmj2.zip https://us.metamath.org/ocat/mmj2/mmj2.md5
A few last minute tweaks:
1. I now bless double-click starting of mmj2.bat (MacMMJ2.command in Mac OS-X)! See mmj2\QuickStart.html
2. Much improved support of Mac OS-X systems. See mmj2\QuickStart.html
3. I tweaked the Command Line Argument Options report to
a) print every time;
b) print as much as possible even if there are errors in the command line arguments -- and the last line printed corresponds to the argument in error;
c) removed Y/N argument on the command line to enable/disable the report. this simplifies things.
4) Documentation revised, including the PATutorial.
See CHGLOG.TXT for list of all changes. Good luck. And thanks for all of your help!

(15-Sep-2011) MATHBOX USERS: I made a large number of label name changes to set.mm to improve naming consistency. There is a script at the top of the current set.mm that you can use to update your mathbox or older set.mm. Or if you wish, I can do the update on your next mathbox submission - in that case, please include a .zip of the set.mm version you used.

(30-Aug-2011) Scott Fenton shortened the direct-from-axiom proofs of *3.33, *3.45, *4.36, and meredith in the "Shortest known proofs of the propositional calculus theorems from Principia Mathematica" (pmproofs.txt).

(21-Aug-2011) A post on reddit generated 60,000 hits (and a TOS violation notice from my provider...),

(18-Aug-2011) The Metamath Google Group has a discussion of my canonical conjunctions proposal. Any feedback directly to me (Norm Megill) is also welcome.

(4-Jul-2011) John Baker has provided (metamath_kindle.zip) "a modified version of [the] metamath.tex [Metamath] book source that is formatted for the Kindle. If you compile the document the resulting PDF can be loaded into into a Kindle and easily read." (Update: the PDF file is now included also.)

(3-Jul-2011) Nested 'submit' calls are now allowed, in metamath program version 0.07.68. Thus you can create or modify a command file (script) from within a command file then 'submit' it. While 'submit' cannot pass arguments (nor are there plans to add this feature), you can 'substitute' strings in the 'submit' target file before calling it in order to emulate this.

(28-Jun-2011)The metamath program version 0.07.64 adds the '/include_mathboxes' qualifier to 'minimize_with'; by default, 'minimize_with *' will now skip checking user mathboxes. Since mathboxes should be independent from each other, this will help prevent accidental cross-"contamination". Also, '/rewrap' was added to 'write source' to automatically wrap $a and $p comments so as to conform to the current formatting conventions used in set.mm. This means you no longer have to be concerned about line length < 80 etc.

(19-Jun-2011) ATTENTION MATHBOX USERS: The wff variables et, ze, si, and rh are now global. This change was made primarily to resolve some conflicts between mathboxes, but it will also let you avoid having to constantly redeclare these locally in the future. Unfortunately, this change can affect the $f hypothesis order, which can cause proofs referencing theorems that use these variables to fail. All mathbox proofs currently in set.mm have been corrected for this, and you should refresh your local copy for further development of your mathbox. You can correct your proofs that are not in set.mm as follows. Only the proofs that fail under the current set.mm (using version 0.07.62 or later of the metamath program) need to be modified.

To fix a proof that references earlier theorems using et, ze, si, and rh, do the following (using a hypothetical theorem 'abc' as an example): 'prove abc' (ignore error messages), 'delete floating', 'initialize all', 'unify all/interactive', 'improve all', 'save new_proof/compressed'. If your proof uses dummy variables, these must be reassigned manually.

To fix a proof that uses et, ze, si, and rh as local variables, make sure the proof is saved in 'compressed' format. Then delete the local declarations ($v and $f statements) and follow the same steps above to correct the proof.

I apologize for the inconvenience. If you have trouble fixing your proofs, you can contact me for assistance.

Note: Versions of the metamath program before 0.07.62 did not flag an error when global variables were redeclared locally, as it should have according to the spec. This caused these spec violations to go unnoticed in some older set.mm versions. The new error messages are in fact just informational and can be ignored when working with older set.mm versions.

(7-Jun-2011) The metamath program version 0.07.60 fixes a bug with the 'minimize_with' command found by Andrew Salmon.

(12-May-2010) Andrew Salmon shortened many proofs, shown above. For comparison, I have temporarily kept the old version, which is suffixed with OLD, such as oridmOLD for oridm.

(9-Dec-2010) Eric Schmidt has written a Metamath proof verifier in C++, called checkmm.cpp.

(3-Oct-2010) The following changes were made to the tokens in set.mm. The subset and proper subset symbol changes to C_ and C. were made to prevent defeating the parenthesis matching in Emacs. Other changes were made so that all letters a-z and A-Z are now available for variable names. One-letter constants such as _V, _e, and _i are now shown on the web pages with Roman instead of italic font, to disambiguate italic variable names. The new convention is that a prefix of _ indicates Roman font and a prefix of ~ indicates a script (curly) font. Thanks to Stefan Allan and Frédéric Liné for discussions leading to this change.

OldNewDescription
C. _C binomial coefficient
E _E epsilon relation
e _e Euler's constant
I _I identity relation
i _i imaginary unit
V _V universal class
(_ C_ subset
(. C. proper subset
P~ ~P power class
H~ ~H Hilbert space

(25-Sep-2010) The metamath program (version 0.07.54) now implements the current Metamath spec, so footnote 2 on p. 92 of the Metamath book can be ignored.

(24-Sep-2010) The metamath program (version 0.07.53) fixes bug 2106, reported by Michal Burger.

(14-Sep-2010) The metamath program (version 0.07.52) has a revamped LaTeX output with 'show statement xxx /tex', which produces the combined statement, description, and proof similar to the web page generation. Also, 'show proof xxx /lemmon/renumber' now matches the web page step numbers. ('show proof xxx/renumber' still has the indented form conforming to the actual RPN proof, with slightly different numbering.)

(9-Sep-2010) The metamath program (version 0.07.51) was updated with a modification by Stefan Allan that adds hyperlinks the the Ref column of proofs.

(12-Jun-2010) Scott Fenton contributed a D-proof (directly from axioms) of Meredith's single axiom (see the end of pmproofs.txt). A description of Meredith's axiom can be found in theorem meredith.

(11-Jun-2010) A new Metamath mirror was added in Austria, courtesy of Kinder-Enduro.

(28-Feb-2010) Raph Levien's Ghilbert project now has a new Ghilbert site and a Google Group.

(26-Jan-2010) Dmitri Vlasov writes, "I admire the simplicity and power of the metamath language, but still I see its great disadvantage - the proofs in metamath are completely non-manageable by humans without proof assistants. Therefore I decided to develop another language, which would be a higher-level superstructure language towards metamath, and which will support human-readable/writable proofs directly, without proof assistants. I call this language mdl (acronym for 'mathematics development language')." The latest version of Dmitri's translators from metamath to mdl and back can be downloaded from http://mathdevlanguage.sourceforge.net/. Currently only Linux is supported, but Dmitri says is should not be difficult to port it to other platforms that have a g++ compiler.

(11-Sep-2009) The metamath program (version 0.07.48) has been updated to enforce the whitespace requirement of the current spec.

(10-Sep-2009) Matthew Leitch has written an nice article, "How to write mathematics clearly", that briefly mentions Metamath. Overall it makes some excellent points. (I have written to him about a few things I disagree with.)

(28-May-2009) AsteroidMeta is back on-line. Note the URL change.

(12-May-2009) Charles Greathouse wrote a Greasemonkey script to reformat the axiom list on Metamath web site proof pages. This is a beta version; he will appreciate feedback.

(11-May-2009) Stefan Allan modified the metamath program to add the command "show statement xxx /mnemonics", which produces the output file Mnemosyne.txt for use with the Mnemosyne project. The current Metamath program download incorporates this command. Instructions: Create the file mnemosyne.txt with e.g. "show statement ax-* /mnemonics". In the Mnemosyne program, load the file by choosing File->Import then file format "Q and A on separate lines". Notes: (1) Don't try to load all of set.mm, it will crash the program due to a bug in Mnemosyne. (2) On my computer, the arrows in ax-1 don't display. Stefan reports that they do on his computer. (Both are Windows XP.)

(3-May-2009) Steven Baldasty wrote a Metamath syntax highlighting file for the gedit editor. Screenshot.

(1-May-2009) Users on a gaming forum discuss our 2+2=4 proof. Notable comments include "Ew math!" and "Whoever wrote this has absolutely no life."

(12-Mar-2009) Chris Capel has created a Javascript theorem viewer demo that (1) shows substitutions and (2) allows expanding and collapsing proof steps. You are invited to take a look and give him feedback at his Metablog.

(28-Feb-2009) Chris Capel has written a Metamath proof verifier in C#, available at http://pdf23ds.net/bzr/MathEditor/Verifier/Verifier.cs and weighing in at 550 lines. Also, that same URL without the file on it is a Bazaar repository.

(2-Dec-2008) A new section was added to the Deduction Theorem page, called Logic, Metalogic, Metametalogic, and Metametametalogic.

(24-Aug-2008) (From ocat): The 1-Aug-2008 version of mmj2 is ready (mmj2.zip), size = 1,534,041 bytes. This version contains the Theorem Loader enhancement which provides a "sandboxing" capability for user theorems and dynamic update of new theorems to the Metamath database already loaded in memory by mmj2. Also, the new "mmj2 Service" feature enables calling mmj2 as a subroutine, or having mmj2 call your program, and provides access to the mmj2 data structures and objects loaded in memory (i.e. get started writing those Jython programs!) See also mmj2 on AsteroidMeta.

(23-May-2008) Gérard Lang pointed me to Bob Solovay's note on AC and strongly inaccessible cardinals. One of the eventual goals for set.mm is to prove the Axiom of Choice from Grothendieck's axiom, like Mizar does, and this note may be helpful for anyone wanting to attempt that. Separately, I also came across a history of the size reduction of grothprim (viewable in Firefox and some versions of Internet Explorer).

(14-Apr-2008) A "/join" qualifier was added to the "search" command in the metamath program (version 0.07.37). This qualifier will join the $e hypotheses to the $a or $p for searching, so that math tokens in the $e's can be matched as well. For example, "search *com* +v" produces no results, but "search *com* +v /join" yields commutative laws involving vector addition. Thanks to Stefan Allan for suggesting this idea.

(8-Apr-2008) The 8,000th theorem, hlrel, was added to the Metamath Proof Explorer part of the database.

(2-Mar-2008) I added a small section to the end of the Deduction Theorem page.

(17-Feb-2008) ocat has uploaded the "1-Mar-2008" mmj2: mmj2.zip. See the description.

(16-Jan-2008) O'Cat has written mmj2 Proof Assistant Quick Tips.

(30-Dec-2007) "How to build a library of formalized mathematics".

(22-Dec-2007) The Metamath Proof Explorer was included in the top 30 science resources for 2007 by the University at Albany Science Library.

(17-Dec-2007) Metamath's Wikipedia entry says, "This article may require cleanup to meet Wikipedia's quality standards" (see its discussion page). Volunteers are welcome. :) (In the interest of objectivity, I don't edit this entry.)

(20-Nov-2007) Jeff Hoffman created nicod.mm and posted it to the Google Metamath Group.

(19-Nov-2007) Reinder Verlinde suggested adding tooltips to the hyperlinks on the proof pages, which I did for proof step hyperlinks. Discussion.

(5-Nov-2007) A Usenet challenge. :)

(4-Aug-2007) I added a "Request for comments on proposed 'maps to' notation" at the bottom of the AsteroidMeta set.mm discussion page.

(21-Jun-2007) A preprint (PDF file) describing Kurt Maes' axiom of choice with 5 quantifiers, proved in set.mm as ackm.

(20-Jun-2007) The 7,000th theorem, ifpr, was added to the Metamath Proof Explorer part of the database.

(29-Apr-2007) Blog mentions of Metamath: here and here.

(21-Mar-2007) Paul Chapman is working on a new proof browser, which has highlighting that allows you to see the referenced theorem before and after the substitution was made. Here is a screenshot of theorem 0nn0 and a screenshot of theorem 2p2e4.

(15-Mar-2007) A picture of Penny the cat guarding the us.metamath.org server and making the rounds.

(16-Feb-2007) For convenience, the program "drule.c" (pronounced "D-rule", not "drool") mentioned in pmproofs.txt can now be downloaded (drule.c) without having to ask me for it. The same disclaimer applies: even though this program works and has no known bugs, it was not intended for general release. Read the comments at the top of the program for instructions.

(28-Jan-2007) Jason Orendorff set up a new mailing list for Metamath: http://groups.google.com/group/metamath.

(20-Jan-2007) Bob Solovay provided a revised version of his Metamath database for Peano arithmetic, peano.mm.

(2-Jan-2007) Raph Levien has set up a wiki called Barghest for the Ghilbert language and software.

(26-Dec-2006) I posted an explanation of theorem ecoprass on Usenet.

(2-Dec-2006) Berislav Žarnić translated the Metamath Solitaire applet to Croatian.

(26-Nov-2006) Dan Getz has created an RSS feed for new theorems as they appear on this page.

(6-Nov-2006) The first 3 paragraphs in Appendix 2: Note on the Axioms were rewritten to clarify the connection between Tarski's axiom system and Metamath.

(31-Oct-2006) ocat asked for a do-over due to a bug in mmj2 -- if you downloaded the mmj2.zip version dated 10/28/2006, then download the new version dated 10/30.

(29-Oct-2006) ocat has announced that the long-awaited 1-Nov-2006 release of mmj2 is available now.
     The new "Unify+Get Hints" is quite useful, and any proof can be generated as follows. With "?" in the Hyp field and Ref field blank, select "Unify+Get Hints". Select a hint from the list and put it in the Ref field. Edit any $n dummy variables to become the desired wffs. Rinse and repeat for the new proof steps generated, until the proof is done.
     The new tutorial, mmj2PATutorial.bat, explains this in detail. One way to reduce or avoid dummy $n's is to fill in the Hyp field with a comma-separated list of any known hypothesis matches to earlier proof steps, keeping a "?" in the list to indicate that the remaining hypotheses are unknown. Then "Unify+Get Hints" can be applied. The tutorial page \mmj2\data\mmp\PATutorial\Page405.mmp has an example.
     Don't forget that the eimm export/import program lets you go back and forth between the mmj2 and the metamath program proof assistants, without exiting from either one, to exploit the best features of each as required.

(21-Oct-2006) Martin Kiselkov has written a Metamath proof verifier in the Lua scripting language, called verify.lua. While it is not practical as an everyday verifier - he writes that it takes about 40 minutes to verify set.mm on a a Pentium 4 - it could be useful to someone learning Lua or Metamath, and importantly it provides another independent way of verifying the correctness of Metamath proofs. His code looks like it is nicely structured and very readable. He is currently working on a faster version in C++.

(19-Oct-2006) New AsteroidMeta page by Raph, Distinctors_vs_binders.

(13-Oct-2006) I put a simple Metamath browser on my PDA (Palm Tungsten E) so that I don't have to lug around my laptop. Here is a screenshot. It isn't polished, but I'll provide the file + instructions if anyone wants it.

(3-Oct-2006) A blog entry, Principia for Reverse Mathematics.

(28-Sep-2006) A blog entry, Metamath responds.

(26-Sep-2006) A blog entry, Metamath isn't hygienic.

(11-Aug-2006) A blog entry, Metamath and the Peano Induction Axiom.

(26-Jul-2006) A new open problem in predicate calculus was added.

(18-Jun-2006) The 6,000th theorem, mt4d, was added to the Metamath Proof Explorer part of the database.

(9-May-2006) Luca Ciciriello has upgraded the t2mf program, which is a C program used to create the MIDI files on the Metamath Music Page, so that it works on MacOS X. This is a nice accomplishment, since the original program was written before C was standardized by ANSI and will not compile on modern compilers.
      Unfortunately, the original program source states no copyright terms. The main author, Tim Thompson, has kindly agreed to release his code to public domain, but two other authors have also contributed to the code, and so far I have been unable to contact them for copyright clearance. Therefore I cannot offer the MacOS X version for public download on this site until this is resolved. Update 10-May-2006: Another author, M. Czeiszperger, has released his contribution to public domain.
      If you are interested in Luca's modified source code, please contact me directly.

(18-Apr-2006) Incomplete proofs in progress can now be interchanged between the Metamath program's CLI Proof Assistant and mmj2's GUI Proof Assistant, using a new export-import program called eimm. This can be done without exiting either proof assistant, so that the strengths of each approach can be exploited during proof development. See "Use Case 5a" and "Use Case 5b" at mmj2ProofAssistantFeedback.

(28-Mar-2006) Scott Fenton updated his second version of Metamath Solitaire (the one that uses external axioms). He writes: "I've switched to making it a standalone program, as it seems silly to have an applet that can't be run in a web browser. Check the README file for further info." The download is mmsol-0.5.tar.gz.

(27-Mar-2006) Scott Fenton has updated the Metamath Solitaire Java applet to Java 1.5: (1) QSort has been stripped out: its functionality is in the Collections class that Sun ships; (2) all Vectors have been replaced by ArrayLists; (3) generic types have been tossed in wherever they fit: this cuts back drastically on casting; and (4) any warnings Eclipse spouted out have been dealt with. I haven't yet updated it officially, because I don't know if it will work with Microsoft's JVM in older versions of Internet Explorer. The current official version is compiled with Java 1.3, because it won't work with Microsoft's JVM if it is compiled with Java 1.4. (As distasteful as that seems, I will get complaints from users if it doesn't work with Microsoft's JVM.) If anyone can verify that Scott's new version runs on Microsoft's JVM, I would be grateful. Scott's new version is mm.java-1.5.gz; after uncompressing it, rename it to mm.java, use it to replace the existing mm.java file in the Metamath Solitaire download, and recompile according to instructions in the mm.java comments.
      Scott has also created a second version, mmsol-0.2.tar.gz, that reads the axioms from ASCII files, instead of having the axioms hard-coded in the program. This can be very useful if you want to play with custom axioms, and you can also add a collection of starting theorems as "axioms" to work from. However, it must be run from the local directory with appletviewer, since the default Java security model doesn't allow reading files from a browser. It works with the JDK 5 Update 6 Java download.
To compile (from Windows Command Prompt): C:\Program Files\Java\jdk1.5.0_06\bin\javac.exe mm.java
To run (from Windows Command Prompt): C:\Program Files\Java\jdk1.5.0_06\bin\appletviewer.exe mms.html

(21-Jan-2006) Juha Arpiainen proved the independence of axiom ax-11 from the others. This was published as an open problem in my 1995 paper (Remark 9.5 on PDF page 17). See Item 9a on the Workshop Miscellany for his seven-line proof. See also the Asteroid Meta metamathMathQuestions page under the heading "Axiom of variable substitution: ax-11". Congratulations, Juha!

(20-Oct-2005) Juha Arpiainen is working on a proof verifier in Common Lisp called Bourbaki. Its proof language has its roots in Metamath, with the goal of providing a more powerful syntax and definitional soundness checking. See its documentation and related discussion.

(17-Oct-2005) Marnix Klooster has written a Metamath proof verifier in Haskell, called Hmm. Also see his Announcement. The complete program (Hmm.hs, HmmImpl.hs, and HmmVerify.hs) has only 444 lines of code, excluding comments and blank lines. It verifies compressed as well as regular proofs; moreover, it transparently verifies both per-spec compressed proofs and the flawed format he uncovered (see comment below of 16-Oct-05).

(16-Oct-2005) Marnix Klooster noticed that for large proofs, the compressed proof format did not match the spec in the book. His algorithm to correct the problem has been put into the Metamath program (version 0.07.6). The program still verifies older proofs with the incorrect format, but the user will be nagged to update them with 'save proof *'. In set.mm, 285 out of 6376 proofs are affected. (The incorrect format did not affect proof correctness or verification, since the compression and decompression algorithms matched each other.)

(13-Sep-2005) Scott Fenton found an interesting axiom, ax46, which could be used to replace both ax-4 and ax-6.

(29-Jul-2005) Metamath was selected as site of the week by American Scientist Online.

(8-Jul-2005) Roy Longton has contributed 53 new theorems to the Quantum Logic Explorer. You can see them in the Theorem List starting at lem3.3.3lem1. He writes, "If you want, you can post an open challenge to see if anyone can find shorter proofs of the theorems I submitted."

(10-May-2005) A Usenet post I posted about the infinite prime proof; another one about indexed unions.

(3-May-2005) The theorem divexpt is the 5,000th theorem added to the Metamath Proof Explorer database.

(12-Apr-2005) Raph Levien solved the open problem in item 16 on the Workshop Miscellany page and as a corollary proved that axiom ax-9 is independent from the other axioms of predicate calculus and equality. This is the first such independence proof so far; a goal is to prove all of them independent (or to derive any redundant ones from the others).

(8-Mar-2005) I added a paragraph above our complex number axioms table, summarizing the construction and indicating where Dedekind cuts are defined. Thanks to Andrew Buhr for comments on this.

(16-Feb-2005) The Metamath Music Page is mentioned as a reference or resource for a university course called Math, Mind, and Music. .

(28-Jan-2005) Steven Cullinane parodied the Metamath Music Page in his blog.

(18-Jan-2005) Waldek Hebisch upgraded the Metamath program to run on the AMD64 64-bit processor.

(17-Jan-2005) A symbol list summary was added to the beginning of the Hilbert Space Explorer Home Page. Thanks to Mladen Pavicic for suggesting this.

(6-Jan-2005) Someone assembled an amazon.com list of some of the books in the Metamath Proof Explorer Bibliography.

(4-Jan-2005) The definition of ordinal exponentiation was decided on after this Usenet discussion.

(19-Dec-2004) A bit of trivia: my Erdös number is 2, as you can see from this list.

(20-Oct-2004) I started this Usenet discussion about the "reals are uncountable" proof (127 comments; last one on Nov. 12).

(12-Oct-2004) gch-kn shows the equivalence of the Generalized Continuum Hypothesis and Prof. Nambiar's Axiom of Combinatorial Sets. This proof answers his Open Problem 2 (PDF file).

(5-Aug-2004) I gave a talk on "Hilbert Lattice Equations" at the Argonne workshop.

(25-Jul-2004) The theorem nthruz is the 4,000th theorem added to the Metamath Proof Explorer database.

(27-May-2004) Josiah Burroughs contributed the proofs u1lemn1b, u1lem3var1, oi3oa3lem1, and oi3oa3 to the Quantum Logic Explorer database ql.mm.

(23-May-2004) Some minor typos found by Josh Purinton were corrected in the Metamath book. In addition, Josh simplified the definition of the closure of a pre-statement of a formal system in Appendix C.

(5-May-2004) Gregory Bush has found shorter proofs for 67 of the 193 propositional calculus theorems listed in Principia Mathematica, thus establishing 67 new records. (This was challenge #4 on the open problems page.)


  Copyright terms: Public domain W3C HTML validation [external]