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    Contact us.    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 Google Group.

Recent news items    (15-Nov-2025) Thierry Arnoux added a new proof to the 100 theorem list, The Impossibility of Trisecting the Angle and Doubling the Cube, trisecnconstr and 2sqr3nconstr.

(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 20-Aug-2026 at 5:29 AM ET.
Recent Additions to the Metamath Proof Explorer   Notes (last updated 7-Dec-2020 )
DateLabelDescription
Theorem
 
17-Aug-2026difelsiga 34556 A sigma-algebra is closed under class differences. The proof goes through difunielsiga 34554 and unelsiga 34555 rather than countable intersection, and so does not use ax-ac 10461. (Contributed by Thierry Arnoux, 13-Sep-2016.) (Proof shortened by Vincent Gonzalez, 17-Aug-2026.)
((𝑆 ran sigAlgebra ∧ 𝐴𝑆𝐵𝑆) → (𝐴𝐵) ∈ 𝑆)
 
17-Aug-2026difunielsiga 34554 A sigma-algebra is closed under complement relative to its base set. This is immediate from the definition, see issiga 34533, but the library states it nowhere in this form. (Contributed by Vincent Gonzalez, 17-Aug-2026.)
((𝑆 ran sigAlgebra ∧ 𝐴𝑆) → ( 𝑆𝐴) ∈ 𝑆)
 
16-Aug-2026relresfld 6283 Restriction of a relation to its field. (Contributed by FL, 15-Apr-2012.) (Proof shortened by Eric Schmidt, 16-Aug-2026.)
(Rel 𝑅 → (𝑅 𝑅) = 𝑅)
 
15-Aug-2026f1resfz0f1d 13840 If a function with a sequence of nonnegative integers (starting at 0) as its domain is one-to-one when 0 is removed, and if the range of that restriction does not contain the function's value at the removed integer, then the function is itself one-to-one. (Contributed by BTernaryTau, 4-Oct-2023.) (Revised by Mingli Yuan, 15-Aug-2026.)
(𝜑𝐾 ∈ ℕ0)    &   (𝜑𝐹:(0...𝐾)⟶𝑉)    &   (𝜑 → Fun (𝐹 ↾ (1...𝐾)))    &   (𝜑 → ((𝐹 “ {0}) ∩ (𝐹 “ (1...𝐾))) = ∅)       (𝜑𝐹:(0...𝐾)–1-1𝑉)
 
15-Aug-2026f1resrcmplf1dlem 7279 Lemma for f1resrcmplf1d 7280. (Contributed by BTernaryTau, 27-Sep-2023.) (Revised by Mingli Yuan, 15-Aug-2026.)
(𝜑𝐶𝐴)    &   (𝜑𝐷𝐴)    &   (𝜑𝐹:𝐴𝐵)    &   (𝜑 → ((𝐹𝐶) ∩ (𝐹𝐷)) = ∅)    &   (𝜑𝑋𝐶)    &   (𝜑𝑌𝐷)    &   (𝜑 → (𝐹𝑋) = (𝐹𝑌))       (𝜑𝑋 = 𝑌)
 
12-Aug-2026ress0g 18849 0g is unaffected by restriction. This is a bit more generic than submnd0 18851. (Contributed by Thierry Arnoux, 23-Oct-2017.) (Proof shortened by AV, 12-Aug-2026.)
𝑆 = (𝑅s 𝐴)    &   𝐵 = (Base‘𝑅)    &    0 = (0g𝑅)       ((𝑅 ∈ Mnd ∧ 0𝐴𝐴𝐵) → 0 = (0g𝑆))
 
12-Aug-2026idressid 18762 The restriction of a structure with an identity element to a subset containing the identity element has the same identity element. (Contributed by Jeff Madsen, 8-Jun-2010.) (Revised by Mario Carneiro, 23-Dec-2013.) (Revised by AV, 12-Aug-2026.)
𝐵 = (Base‘𝐺)    &    + = (+g𝐺)    &    0 = (0g𝐺)    &   (𝜑 → ∃𝑒𝐵𝑥𝐵 ((𝑒 + 𝑥) = 𝑥 ∧ (𝑥 + 𝑒) = 𝑥))    &   𝑆 = (𝐺s 𝐴)    &   (𝜑𝐴𝐵)    &   (𝜑0𝐴)       (𝜑 → (0g𝑆) = 0 )
 
11-Aug-2026wrdf1d 50663 A one-to-one word maps its domain into its alphabet. (Contributed by Mingli Yuan, 11-Aug-2026.)
(𝜑𝑊 ∈ Word 𝐷)    &   (𝜑 → Fun 𝑊)       (𝜑𝑊:dom 𝑊1-1𝐷)
 
11-Aug-2026idressidex 18761 The restriction of a structure with an identity element to a subset containing the identity element has an identity element. (Contributed by Jeff Madsen, 8-Jun-2010.) (Revised by Mario Carneiro, 23-Dec-2013.) (Revised by AV, 11-Aug-2026.)
𝐵 = (Base‘𝐺)    &    + = (+g𝐺)    &    0 = (0g𝐺)    &   (𝜑 → ∃𝑒𝐵𝑥𝐵 ((𝑒 + 𝑥) = 𝑥 ∧ (𝑥 + 𝑒) = 𝑥))    &   𝑆 = (𝐺s 𝐴)    &   (𝜑𝐴𝐵)    &   (𝜑0𝐴)       (𝜑 → ∃𝑒𝐴𝑥𝐴 ((𝑒 + 𝑥) = 𝑥 ∧ (𝑥 + 𝑒) = 𝑥))
 
11-Aug-2026idressidex0 18760 The restriction of a structure with an identity element to a subset containing the identity element has an identity element. (Contributed by Jeff Madsen, 8-Jun-2010.) (Revised by Mario Carneiro, 23-Dec-2013.) (Revised by AV, 11-Aug-2026.)
𝐵 = (Base‘𝐺)    &    + = (+g𝐺)    &    0 = (0g𝐺)    &   (𝜑 → ∃𝑒𝐵𝑥𝐵 ((𝑒 + 𝑥) = 𝑥 ∧ (𝑥 + 𝑒) = 𝑥))    &   𝑆 = (𝐺s 𝐴)    &   (𝜑𝐴𝐵)    &   (𝜑0𝐴)    &   𝐶 = (Base‘𝑆)       (𝜑 → ∃𝑒𝐶𝑥𝐶 ((𝑒 + 𝑥) = 𝑥 ∧ (𝑥 + 𝑒) = 𝑥))
 
11-Aug-20260gisid 18751 In a structure with an identity element, the group identity element is an identity element of the structure. (Contributed by Jeff Madsen, 8-Jun-2010.) (Revised by Mario Carneiro, 23-Dec-2013.) (Revised by AV, 11-Aug-2026.)
𝐵 = (Base‘𝐺)    &    0 = (0g𝐺)    &    + = (+g𝐺)    &   (𝜑 → ∃𝑒𝐵𝑥𝐵 ((𝑒 + 𝑥) = 𝑥 ∧ (𝑥 + 𝑒) = 𝑥))       (𝜑 → ( 0𝐵 ∧ ∀𝑥𝐵 (( 0 + 𝑥) = 𝑥 ∧ (𝑥 + 0 ) = 𝑥)))
 
10-Aug-2026had0 1634 If the first input is false, then the adder sum is equivalent to the exclusive disjunction of the other two inputs, and conversely. (Contributed by Mario Carneiro, 4-Sep-2016.) (Proof shortened by Wolf Lammen, 12-Jul-2020.) Strengthen to a biconditional. (Revised by BJ, 10-Aug-2026.)
𝜑 ↔ (hadd(𝜑, 𝜓, 𝜒) ↔ (𝜓𝜒)))
 
10-Aug-2026had1 1633 If the first input is true, then the adder sum is equivalent to the biconditionality of the other two inputs, and conversely. (Contributed by Mario Carneiro, 4-Sep-2016.) (Proof shortened by Wolf Lammen, 11-Jul-2020.) Strengthen to a biconditional. (Revised by BJ, 10-Aug-2026.)
(𝜑 ↔ (hadd(𝜑, 𝜓, 𝜒) ↔ (𝜓𝜒)))
 
10-Aug-2026birot 389 Rotation of the arguments of the nested implication (. ↔ (. ↔ .)) (a general phenomenon for a commutative associative binary operation, see e.g., inrot 4188) . (Contributed by BJ, 10-Aug-2026.)
((𝜑 ↔ (𝜓𝜒)) ↔ (𝜓 ↔ (𝜒𝜑)))
 
8-Aug-2026dfring2 20403 The predicate "is a unital ring" based on a ring being abelian. Definition of "ring with unit" in [Lang] p. 83. (Contributed by Jeff Hankins, 21-Nov-2006.) (Revised by AV, 8-Aug-2026.)
𝐵 = (Base‘𝑅)    &    · = (.r𝑅)    &   𝐺 = (mulGrp‘𝑅)    &    + = (+g𝑅)       (𝑅 ∈ Ring ↔ (𝑅 ∈ Abel ∧ 𝐺 ∈ Mnd ∧ ∀𝑥𝐵𝑦𝐵𝑧𝐵 ((𝑥 · (𝑦 + 𝑧)) = ((𝑥 · 𝑦) + (𝑥 · 𝑧)) ∧ ((𝑥 + 𝑦) · 𝑧) = ((𝑥 · 𝑧) + (𝑦 · 𝑧)))))
 
8-Aug-2026relcnvtrg 6273 Subclass law for converse of a composition. A particular case is ((𝑅𝑅) ⊆ 𝑅 ↔ (𝑅𝑅) ⊆ 𝑅), which says that a relation is transitive iff its converse is transitive. (Contributed by FL, 19-Sep-2011.) Generalize to a statement about three classes rather than one. (Revised by Peter Mazsa, 17-Oct-2023.) Remove antecedent. (Revised by Eric Schmidt, 8-Aug-2026.)
((𝑅𝑆) ⊆ 𝑇 ↔ (𝑆𝑅) ⊆ 𝑇)
 
5-Aug-2026f1owe 7362 Well-ordering of isomorphic relations. (Contributed by NM, 4-Mar-1997.) Strengthen to biconditional. (Revised by Eric Schmidt, 5-Aug-2026.)
𝑅 = {⟨𝑥, 𝑦⟩ ∣ (𝐹𝑥)𝑆(𝐹𝑦)}       (𝐹:𝐴1-1-onto𝐵 → (𝑅 We 𝐴𝑆 We 𝐵))
 
4-Aug-2026f1we 7364 Pull back a well ordering by a one-to-one function. (Contributed by Eric Schmidt, 4-Aug-2026.)
𝑅 = {⟨𝑥, 𝑦⟩ ∣ (𝐹𝑥)𝑆(𝐹𝑦)}       (𝐹:𝐴1-1𝐵 → (𝑆 We 𝐵𝑅 We 𝐴))
 
3-Aug-2026nadddird 36739 Natural multiplication distributes over natural addition. Deduction form. (Contributed by Scott Fenton, 3-Aug-2026.)
(𝜑𝐴 ∈ On)    &   (𝜑𝐵 ∈ On)    &   (𝜑𝐶 ∈ On)       (𝜑 → ((𝐴 +no 𝐵) ·no 𝐶) = ((𝐴 ·no 𝐶) +no (𝐵 ·no 𝐶)))
 
3-Aug-2026nadddid 36738 Natural multiplication distributes over natural addition. Deduction form. (Contributed by Scott Fenton, 3-Aug-2026.)
(𝜑𝐴 ∈ On)    &   (𝜑𝐵 ∈ On)    &   (𝜑𝐶 ∈ On)       (𝜑 → (𝐴 ·no (𝐵 +no 𝐶)) = ((𝐴 ·no 𝐵) +no (𝐴 ·no 𝐶)))
 
3-Aug-2026nadddilem4 36736 Lemma for nadddi 36737. Prove the forward implication. (Contributed by Scott Fenton, 3-Aug-2026.)
(𝜑𝐴 ∈ On)    &   (𝜑𝐵 ∈ On)    &   (𝜑𝐶 ∈ On)    &   (𝜑 → ∀𝑑𝐴 (𝑑 ·no (𝐵 +no 𝐶)) = ((𝑑 ·no 𝐵) +no (𝑑 ·no 𝐶)))    &   (𝜑 → ∀𝑒𝐵 (𝐴 ·no (𝑒 +no 𝐶)) = ((𝐴 ·no 𝑒) +no (𝐴 ·no 𝐶)))    &   (𝜑 → ∀𝑓𝐶 (𝐴 ·no (𝐵 +no 𝑓)) = ((𝐴 ·no 𝐵) +no (𝐴 ·no 𝑓)))    &   (𝜑 → ∀𝑑𝐴𝑒𝐵 (𝑑 ·no (𝑒 +no 𝐶)) = ((𝑑 ·no 𝑒) +no (𝑑 ·no 𝐶)))    &   (𝜑 → ∀𝑑𝐴𝑓𝐶 (𝑑 ·no (𝐵 +no 𝑓)) = ((𝑑 ·no 𝐵) +no (𝑑 ·no 𝑓)))       (𝜑 → (𝐴 ·no (𝐵 +no 𝐶)) ⊆ ((𝐴 ·no 𝐵) +no (𝐴 ·no 𝐶)))
 
3-Aug-2026nadddilem3 36735 Lemma for nadddi 36737. Prove a subcase of the forward implication. (Contributed by Scott Fenton, 3-Aug-2026.)
(𝜑𝐴 ∈ On)    &   (𝜑𝐵 ∈ On)    &   (𝜑𝐶 ∈ On)    &   (𝜑𝑋𝐴)    &   (𝜑𝑌 ∈ (𝐵 +no 𝐶))    &   (𝜑𝑍𝐵)    &   (𝜑𝑌 ⊆ (𝑍 +no 𝐶))    &   (𝜑 → ∀𝑑𝐴 (𝑑 ·no (𝐵 +no 𝐶)) = ((𝑑 ·no 𝐵) +no (𝑑 ·no 𝐶)))    &   (𝜑 → ∀𝑒𝐵 (𝐴 ·no (𝑒 +no 𝐶)) = ((𝐴 ·no 𝑒) +no (𝐴 ·no 𝐶)))    &   (𝜑 → ∀𝑑𝐴𝑒𝐵 (𝑑 ·no (𝑒 +no 𝐶)) = ((𝑑 ·no 𝑒) +no (𝑑 ·no 𝐶)))       (𝜑 → ((𝑋 ·no (𝐵 +no 𝐶)) +no (𝐴 ·no 𝑌)) ∈ (((𝐴 ·no 𝐵) +no (𝐴 ·no 𝐶)) +no (𝑋 ·no 𝑌)))
 
1-Aug-2026crossp3i 50690 The vector triple product expansion (BAC-CAB rule): the cross product of 𝑋 with (𝑌𝑍) equals 𝑌 scaled by the dot product of 𝑋 and 𝑍, minus 𝑍 scaled by the dot product of 𝑋 and 𝑌. The dot products are written out as explicit three-term sums of component products, matching the pointwise style of df-crossp 50674 rather than introducing a separate dot product operator. (Contributed by Jiamin Zhao, 1-Aug-2026.)
𝑋 ∈ (ℝ ↑m (1...3))    &   𝑌 ∈ (ℝ ↑m (1...3))    &   𝑍 ∈ (ℝ ↑m (1...3))       (𝑋⊠(𝑌𝑍)) = (𝑘 ∈ (1...3) ↦ ((((((𝑋‘1) · (𝑍‘1)) + ((𝑋‘2) · (𝑍‘2))) + ((𝑋‘3) · (𝑍‘3))) · (𝑌𝑘)) − (((((𝑋‘1) · (𝑌‘1)) + ((𝑋‘2) · (𝑌‘2))) + ((𝑋‘3) · (𝑌‘3))) · (𝑍𝑘))))
 
1-Aug-2026crosspalti 50689 Antisymmetry of the cross product: swapping the two vectors negates the result. (Contributed by Jiamin Zhao, 1-Aug-2026.)
𝐴 ∈ (ℝ ↑m (1...3))    &   𝐵 ∈ (ℝ ↑m (1...3))       (𝐴𝐵) = (𝑘 ∈ (1...3) ↦ -((𝐵𝐴)‘𝑘))
 
1-Aug-2026crosspdoti 50688 Value of the scalar triple product, expanded into the standard six-term Sarrus polynomial. (Contributed by Jiamin Zhao, 1-Aug-2026.)
𝐴 ∈ (ℝ ↑m (1...3))    &   𝐵 ∈ (ℝ ↑m (1...3))    &   𝐶 ∈ (ℝ ↑m (1...3))       (𝐵(tripp‘𝐴)𝐶) = (((((𝐴‘1) · (𝐵‘2)) · (𝐶‘3)) − (((𝐴‘1) · (𝐵‘3)) · (𝐶‘2))) + (((((𝐴‘2) · (𝐵‘3)) · (𝐶‘1)) − (((𝐴‘2) · (𝐵‘1)) · (𝐶‘3))) + ((((𝐴‘3) · (𝐵‘1)) · (𝐶‘2)) − (((𝐴‘3) · (𝐵‘2)) · (𝐶‘1)))))
 
1-Aug-2026crosspdotsumi 50687 Expand the group sum over (1...3) into an explicit three-term sum. (A helper for crosspdoti 50688.) (Contributed by Jiamin Zhao, 1-Aug-2026.)
𝐴 ∈ (ℝ ↑m (1...3))    &   𝐵 ∈ (ℝ ↑m (1...3))    &   𝐶 ∈ (ℝ ↑m (1...3))       (ℝfld Σg (𝑘 ∈ (1...3) ↦ ((𝐴𝑘) · ((𝐵𝐶)‘𝑘)))) = (((𝐴‘1) · ((𝐵𝐶)‘1)) + (((𝐴‘2) · ((𝐵𝐶)‘2)) + ((𝐴‘3) · ((𝐵𝐶)‘3))))
 
1-Aug-2026crosspdot0i 50686 Unfold the curried scalar triple product application into an explicit group sum. (A helper for crosspdoti 50688.) (Contributed by Jiamin Zhao, 1-Aug-2026.)
𝐴 ∈ (ℝ ↑m (1...3))    &   𝐵 ∈ (ℝ ↑m (1...3))    &   𝐶 ∈ (ℝ ↑m (1...3))       (𝐵(tripp‘𝐴)𝐶) = (ℝfld Σg (𝑘 ∈ (1...3) ↦ ((𝐴𝑘) · ((𝐵𝐶)‘𝑘))))
 
1-Aug-2026crosspclifi 50681 Closure of the three-way Sarrus case split used in the cross product's mapping rule. (A helper for crosspcli 50682.) (Contributed by Jiamin Zhao, 1-Aug-2026.)
𝐴 ∈ (ℝ ↑m (1...3))    &   𝐵 ∈ (ℝ ↑m (1...3))       if(𝑘 = 1, (((𝐴‘2) · (𝐵‘3)) − ((𝐴‘3) · (𝐵‘2))), if(𝑘 = 2, (((𝐴‘3) · (𝐵‘1)) − ((𝐴‘1) · (𝐵‘3))), (((𝐴‘1) · (𝐵‘2)) − ((𝐴‘2) · (𝐵‘1))))) ∈ ℝ
 
1-Aug-20263elfz13 50668 Membership of 3 in the integer interval ( 1 ... 3 ). (Contributed by Jiamin Zhao, 1-Aug-2026.)
3 ∈ (1...3)
 
1-Aug-20262elfz13 50667 Membership of 2 in the integer interval ( 1 ... 3 ). (Suggested by tirix.) (Contributed by Jiamin Zhao, 1-Aug-2026.)
2 ∈ (1...3)
 
1-Aug-20261elfz13 50666 Membership of 1 in the integer interval ( 1 ... 3 ). (Suggested by avekens.) (Contributed by Jiamin Zhao, 1-Aug-2026.)
1 ∈ (1...3)
 
1-Aug-20262ne3 50665 2 is not equal to 3. (Contributed by Jiamin Zhao, 1-Aug-2026.)
2 ≠ 3
 
1-Aug-20261ne3 50664 1 is not equal to 3. (Contributed by Jiamin Zhao, 1-Aug-2026.)
1 ≠ 3
 
31-Jul-2026crosspv3i 50685 Value of the third component of the cross product. (Contributed by Jiamin Zhao, 31-Jul-2026.)
𝐴 ∈ (ℝ ↑m (1...3))    &   𝐵 ∈ (ℝ ↑m (1...3))       ((𝐴𝐵)‘3) = (((𝐴‘1) · (𝐵‘2)) − ((𝐴‘2) · (𝐵‘1)))
 
31-Jul-2026crosspv2i 50684 Value of the second component of the cross product. (Contributed by Jiamin Zhao, 31-Jul-2026.)
𝐴 ∈ (ℝ ↑m (1...3))    &   𝐵 ∈ (ℝ ↑m (1...3))       ((𝐴𝐵)‘2) = (((𝐴‘3) · (𝐵‘1)) − ((𝐴‘1) · (𝐵‘3)))
 
31-Jul-2026crosspv1i 50683 Value of the first component of the cross product. (Contributed by Jiamin Zhao, 31-Jul-2026.)
𝐴 ∈ (ℝ ↑m (1...3))    &   𝐵 ∈ (ℝ ↑m (1...3))       ((𝐴𝐵)‘1) = (((𝐴‘2) · (𝐵‘3)) − ((𝐴‘3) · (𝐵‘2)))
 
31-Jul-2026crosspcli 50682 Closure of the cross product: the cross product of two 3-dimensional real coordinate vectors is again such a vector. (Contributed by Jiamin Zhao, 31-Jul-2026.)
𝐴 ∈ (ℝ ↑m (1...3))    &   𝐵 ∈ (ℝ ↑m (1...3))       (𝐴𝐵) ∈ (ℝ ↑m (1...3))
 
31-Jul-2026crosspcle3i 50680 Closure of the third component of the cross product's Sarrus expansion. (A helper for crosspclifi 50681 and crosspv3i 50685.) (Contributed by Jiamin Zhao, 31-Jul-2026.)
𝐴 ∈ (ℝ ↑m (1...3))    &   𝐵 ∈ (ℝ ↑m (1...3))       (((𝐴‘1) · (𝐵‘2)) − ((𝐴‘2) · (𝐵‘1))) ∈ ℝ
 
31-Jul-2026crosspcle2i 50679 Closure of the second component of the cross product's Sarrus expansion. (A helper for crosspclifi 50681 and crosspv2i 50684.) (Contributed by Jiamin Zhao, 31-Jul-2026.)
𝐴 ∈ (ℝ ↑m (1...3))    &   𝐵 ∈ (ℝ ↑m (1...3))       (((𝐴‘3) · (𝐵‘1)) − ((𝐴‘1) · (𝐵‘3))) ∈ ℝ
 
31-Jul-2026crosspcle1i 50678 Closure of the first component of the cross product's Sarrus expansion. (A helper for crosspclifi 50681 and crosspv1i 50683.) (Contributed by Jiamin Zhao, 31-Jul-2026.)
𝐴 ∈ (ℝ ↑m (1...3))    &   𝐵 ∈ (ℝ ↑m (1...3))       (((𝐴‘2) · (𝐵‘3)) − ((𝐴‘3) · (𝐵‘2))) ∈ ℝ
 
31-Jul-2026crosspval 50677 Value of the cross product of two 3-dimensional real coordinate vectors as a function on (1...3). (Contributed by Jiamin Zhao, 31-Jul-2026.)
((𝐴 ∈ (ℝ ↑m (1...3)) ∧ 𝐵 ∈ (ℝ ↑m (1...3))) → (𝐴𝐵) = (𝑘 ∈ (1...3) ↦ if(𝑘 = 1, (((𝐴‘2) · (𝐵‘3)) − ((𝐴‘3) · (𝐵‘2))), if(𝑘 = 2, (((𝐴‘3) · (𝐵‘1)) − ((𝐴‘1) · (𝐵‘3))), (((𝐴‘1) · (𝐵‘2)) − ((𝐴‘2) · (𝐵‘1)))))))
 
31-Jul-2026df-tripp 50676 Define the scalar triple product of three 3-dimensional real coordinate vectors as the dot product of the first vector with the cross product of the other two. Vectors are represented as functions on (1...3). Apply as (𝑦(tripp‘𝑥)𝑧). (Contributed by Jiamin Zhao, 31-Jul-2026.)
tripp = (𝑥 ∈ (ℝ ↑m (1...3)) ↦ (𝑦 ∈ (ℝ ↑m (1...3)), 𝑧 ∈ (ℝ ↑m (1...3)) ↦ (ℝfld Σg (𝑘 ∈ (1...3) ↦ ((𝑥𝑘) · ((𝑦𝑧)‘𝑘))))))
 
31-Jul-2026ctripp 50675 Extend class notation to include the scalar triple product of 3-dimensional real coordinate vectors. (Contributed by Jiamin Zhao, 31-Jul-2026.)
class tripp
 
31-Jul-2026df-crossp 50674 Define the cross product of two 3-dimensional real coordinate vectors. Vectors are represented as functions on (1...3). (Contributed by Jiamin Zhao, 31-Jul-2026.)
⊠ = (𝑢 ∈ (ℝ ↑m (1...3)), 𝑣 ∈ (ℝ ↑m (1...3)) ↦ (𝑘 ∈ (1...3) ↦ if(𝑘 = 1, (((𝑢‘2) · (𝑣‘3)) − ((𝑢‘3) · (𝑣‘2))), if(𝑘 = 2, (((𝑢‘3) · (𝑣‘1)) − ((𝑢‘1) · (𝑣‘3))), (((𝑢‘1) · (𝑣‘2)) − ((𝑢‘2) · (𝑣‘1)))))))
 
31-Jul-2026ccrossp 50673 Extend class notation to include the cross product operation. (Contributed by Jiamin Zhao, 31-Jul-2026.)
class
 
31-Jul-2026rr3fv3cli 50672 Third component of a 3-dimensional real coordinate vector is real. (Contributed by Jiamin Zhao, 31-Jul-2026.)
𝐴 ∈ (ℝ ↑m (1...3))       (𝐴‘3) ∈ ℝ
 
31-Jul-2026rr3fv2cli 50671 Second component of a 3-dimensional real coordinate vector is real. (Contributed by Jiamin Zhao, 31-Jul-2026.)
𝐴 ∈ (ℝ ↑m (1...3))       (𝐴‘2) ∈ ℝ
 
31-Jul-2026rr3fv1cli 50670 First component of a 3-dimensional real coordinate vector is real. (Contributed by Jiamin Zhao, 31-Jul-2026.)
𝐴 ∈ (ℝ ↑m (1...3))       (𝐴‘1) ∈ ℝ
 
31-Jul-2026rr3fvcl 50669 The components of a 3-dimensional real coordinate vector are real numbers. (Contributed by Jiamin Zhao, 31-Jul-2026.)
(𝐴 ∈ (ℝ ↑m (1...3)) → ((𝐴‘1) ∈ ℝ ∧ (𝐴‘2) ∈ ℝ ∧ (𝐴‘3) ∈ ℝ))
 
31-Jul-2026nadddilem2 36734 Lemma for nadddi 36737. Prove the reverse implication. (Contributed by Scott Fenton, 31-Jul-2026.)
(𝜑𝐴 ∈ On)    &   (𝜑𝐵 ∈ On)    &   (𝜑𝐶 ∈ On)    &   (𝜑 → ∀𝑑𝐴 (𝑑 ·no (𝐵 +no 𝐶)) = ((𝑑 ·no 𝐵) +no (𝑑 ·no 𝐶)))    &   (𝜑 → ∀𝑒𝐵 (𝐴 ·no (𝑒 +no 𝐶)) = ((𝐴 ·no 𝑒) +no (𝐴 ·no 𝐶)))    &   (𝜑 → ∀𝑓𝐶 (𝐴 ·no (𝐵 +no 𝑓)) = ((𝐴 ·no 𝐵) +no (𝐴 ·no 𝑓)))    &   (𝜑 → ∀𝑑𝐴𝑒𝐵 (𝑑 ·no (𝑒 +no 𝐶)) = ((𝑑 ·no 𝑒) +no (𝑑 ·no 𝐶)))    &   (𝜑 → ∀𝑑𝐴𝑓𝐶 (𝑑 ·no (𝐵 +no 𝑓)) = ((𝑑 ·no 𝐵) +no (𝑑 ·no 𝑓)))       (𝜑 → ((𝐴 ·no 𝐵) +no (𝐴 ·no 𝐶)) ⊆ (𝐴 ·no (𝐵 +no 𝐶)))
 
31-Jul-2026nadddilem1 36733 Lemma for nadddi 36737. Prove a subcase of the reverse implication. (Contributed by Scott Fenton, 31-Jul-2026.)
(𝜑𝐴 ∈ On)    &   (𝜑𝐵 ∈ On)    &   (𝜑𝐶 ∈ On)    &   (𝜑 → ∀𝑑𝐴 (𝑑 ·no (𝐵 +no 𝐶)) = ((𝑑 ·no 𝐵) +no (𝑑 ·no 𝐶)))    &   (𝜑 → ∀𝑓𝐶 (𝐴 ·no (𝐵 +no 𝑓)) = ((𝐴 ·no 𝐵) +no (𝐴 ·no 𝑓)))    &   (𝜑 → ∀𝑑𝐴𝑓𝐶 (𝑑 ·no (𝐵 +no 𝑓)) = ((𝑑 ·no 𝐵) +no (𝑑 ·no 𝑓)))       ((𝜑𝑌 ∈ (𝐴 ·no 𝐶)) → ((𝐴 ·no 𝐵) +no 𝑌) ∈ (𝐴 ·no (𝐵 +no 𝐶)))
 
31-Jul-2026onelssd 36714 An element of an ordinal number is a subset of the number. Deduction form. (Contributed by Scott Fenton, 31-Jul-2026.)
(𝜑𝐴 ∈ On)    &   (𝜑𝐵𝐴)       (𝜑𝐵𝐴)
 
31-Jul-2026ontr2d 36713 Transitive law for ordinal numbers. Exercise 3 of [TakeutiZaring] p. 40. Deduction form. (Contributed by Scott Fenton, 31-Jul-2026.)
(𝜑𝐴 ∈ On)    &   (𝜑𝐶 ∈ On)    &   (𝜑𝐴𝐵)    &   (𝜑𝐵𝐶)       (𝜑𝐴𝐶)
 
31-Jul-2026onelond 36712 An element of an ordinal number is an ordinal number. Theorem 2.2(iii) of [BellMachover] p. 469. Lemma 1.3 of [Schloeder] p. 1. Deduction form. (Contributed by Scott Fenton, 31-Jul-2026.)
(𝜑𝐴 ∈ On)    &   (𝜑𝐵𝐴)       (𝜑𝐵 ∈ On)
 
30-Jul-2026nadd32d 36724 Commutative/associative law that swaps the last two terms in a triple sum. Deduction form. (Contributed by Scott Fenton, 30-Jul-2026.)
(𝜑𝐴 ∈ On)    &   (𝜑𝐵 ∈ On)    &   (𝜑𝐶 ∈ On)       (𝜑 → ((𝐴 +no 𝐵) +no 𝐶) = ((𝐴 +no 𝐶) +no 𝐵))
 
30-Jul-2026naddassd 36723 Natural addition associates. Deduction form. (Contributed by Scott Fenton, 30-Jul-2026.)
(𝜑𝐴 ∈ On)    &   (𝜑𝐵 ∈ On)    &   (𝜑𝐶 ∈ On)       (𝜑 → ((𝐴 +no 𝐵) +no 𝐶) = (𝐴 +no (𝐵 +no 𝐶)))
 
30-Jul-2026naddcomd 36722 Natural addition commutes. Deduction form. (Contributed by Scott Fenton, 30-Jul-2026.)
(𝜑𝐴 ∈ On)    &   (𝜑𝐵 ∈ On)       (𝜑 → (𝐴 +no 𝐵) = (𝐵 +no 𝐴))
 
30-Jul-2026naddlidd 36721 Identity law for natural addition. Deduction form. (Contributed by Scott Fenton, 30-Jul-2026.)
(𝜑𝐴 ∈ On)       (𝜑 → (∅ +no 𝐴) = 𝐴)
 
30-Jul-2026naddridd 36720 Identity law for natural addition. Deduction form. (Contributed by Scott Fenton, 30-Jul-2026.)
(𝜑𝐴 ∈ On)       (𝜑 → (𝐴 +no ∅) = 𝐴)
 
30-Jul-2026nmulcomd 36719 Natural multiplication commutes. Deduction form. (Contributed by Scott Fenton, 30-Jul-2026.)
(𝜑𝐴 ∈ On)    &   (𝜑𝐵 ∈ On)       (𝜑 → (𝐴 ·no 𝐵) = (𝐵 ·no 𝐴))
 
30-Jul-2026nmullidd 36718 Identity law for natural multiplication. Deduction form. (Contributed by Scott Fenton, 30-Jul-2026.)
(𝜑𝐴 ∈ On)       (𝜑 → (1o ·no 𝐴) = 𝐴)
 
30-Jul-2026nmulridd 36717 Identity law for natural multiplication. Deduction form. (Contributed by Scott Fenton, 30-Jul-2026.)
(𝜑𝐴 ∈ On)       (𝜑 → (𝐴 ·no 1o) = 𝐴)
 
30-Jul-2026nmull0d 36716 Natural multiplication by zero. Deduction form. (Contributed by Scott Fenton, 30-Jul-2026.)
(𝜑𝐴 ∈ On)       (𝜑 → (∅ ·no 𝐴) = ∅)
 
30-Jul-2026nmulr0d 36715 Natural multiplication by zero. Deduction form. (Contributed by Scott Fenton, 30-Jul-2026.)
(𝜑𝐴 ∈ On)       (𝜑 → (𝐴 ·no ∅) = ∅)
 
27-Jul-2026nadddi 36737 Natural multiplication distributes over natural addition. (Contributed by Scott Fenton, 27-Jul-2026.)
((𝐴 ∈ On ∧ 𝐵 ∈ On ∧ 𝐶 ∈ On) → (𝐴 ·no (𝐵 +no 𝐶)) = ((𝐴 ·no 𝐵) +no (𝐴 ·no 𝐶)))
 
24-Jul-2026ricer 20641 Ring isomorphism is an equivalence relation. (Contributed by Jeff Madsen, 16-Jun-2011.) (Revised by Mario Carneiro, 12-Aug-2015.) (Revised by AV, 24-Jul-2026.)
𝑟 Er Ring
 
24-Jul-2026ricref 20633 Ring isomorphism is reflexive. (Contributed by by AV, 24-Jul-2026.)
(𝑅 ∈ Ring → 𝑅𝑟 𝑅)
 
24-Jul-2026ricrel 20629 The domain of the ring isomorphism relation is a relation. (Contributed by AV, 24-Jul-2026.)
Rel ≃𝑟
 
24-Jul-2026rhmkerinj 20625 A ring homomorphism is injective if and only if its kernel is zero. (Contributed by Jeff Madsen, 16-Jun-2011.) (Revised by AV, 24-Jul-2026.)
𝐵 = (Base‘𝑅)    &   𝐶 = (Base‘𝑆)    &    0 = (0g𝑅)    &   𝑍 = (0g𝑆)       (𝐹 ∈ (𝑅 RingHom 𝑆) → (𝐹:𝐵1-1𝐶 ↔ (𝐹 “ {𝑍}) = { 0 }))
 
24-Jul-2026rimval 20615 The set of ring isomorphisms. (Contributed by Jeff Madsen, 16-Jun-2011.) (Revised by AV, 24-Jul-2026.)
𝐵 = (Base‘𝑅)    &   𝐶 = (Base‘𝑆)       (𝑅 RingIso 𝑆) = {𝑓 ∈ (𝑅 RingHom 𝑆) ∣ 𝑓:𝐵1-1-onto𝐶}
 
24-Jul-2026isrhm0 20591 The predicate "is a ring homomorphism from 𝑅 to 𝑆". (Contributed by Jeff Madsen, 19-Jun-2010.) (Revised by AV, 24-Jul-2026.)
𝐵 = (Base‘𝑅)    &   𝐶 = (Base‘𝑆)    &    1 = (1r𝑅)    &   𝑁 = (1r𝑆)    &    · = (.r𝑅)    &    × = (.r𝑆)    &    + = (+g𝑅)    &    = (+g𝑆)       ((𝑅 ∈ Ring ∧ 𝑆 ∈ Ring) → (𝐹 ∈ (𝑅 RingHom 𝑆) ↔ (𝐹:𝐵𝐶 ∧ (𝐹1 ) = 𝑁 ∧ ∀𝑥𝐵𝑦𝐵 ((𝐹‘(𝑥 + 𝑦)) = ((𝐹𝑥) (𝐹𝑦)) ∧ (𝐹‘(𝑥 · 𝑦)) = ((𝐹𝑥) × (𝐹𝑦))))))
 
24-Jul-2026rhmval0 20590 The set of ring homomorphisms. (Contributed by Jeff Madsen, 19-Jun-2010.) (Revised by Mario Carneiro, 22-Sep-2015.) (Revised by AV, 24-Jul-2026.)
𝐵 = (Base‘𝑅)    &   𝐶 = (Base‘𝑆)    &    1 = (1r𝑅)    &   𝑁 = (1r𝑆)    &    · = (.r𝑅)    &    × = (.r𝑆)    &    + = (+g𝑅)    &    = (+g𝑆)       ((𝑅 ∈ Ring ∧ 𝑆 ∈ Ring) → (𝑅 RingHom 𝑆) = {𝑓 ∈ (𝐶m 𝐵) ∣ ((𝑓1 ) = 𝑁 ∧ ∀𝑥𝐵𝑦𝐵 ((𝑓‘(𝑥 + 𝑦)) = ((𝑓𝑥) (𝑓𝑦)) ∧ (𝑓‘(𝑥 · 𝑦)) = ((𝑓𝑥) × (𝑓𝑦))))})
 
23-Jul-2026isdrng5 20891 A division ring is a ring in which 1 ≠ 0 and every nonzero element is invertible. (Contributed by Jeff Madsen, 8-Jun-2010.) (Revised by AV, 23-Jul-2026.)
𝐵 = (Base‘𝑅)    &    0 = (0g𝑅)    &    1 = (1r𝑅)    &    · = (.r𝑅)       (𝑅 ∈ DivRing ↔ (𝑅 ∈ Ring ∧ 10 ∧ ∀𝑥 ∈ (𝐵 ∖ { 0 })∃𝑦𝐵 (𝑦 · 𝑥) = 1 ))
 
23-Jul-2026brric2 20639 The ring isomorphism relation. (Contributed by Jeff Madsen, 16-Jun-2011.) (Revised by AV, 23-Jul-2026.)
((𝑅 ∈ Ring ∧ 𝑆 ∈ Ring) → (𝑅𝑟 𝑆 ↔ ∃𝑓 𝑓 ∈ (𝑅 RingIso 𝑆)))
 
23-Jul-2026ricrcl 20635 Ring isomorphism implies the right side is a ring. (Contributed by AV, 23-Jul-2026.)
(𝑅𝑟 𝑆𝑆 ∈ Ring)
 
23-Jul-2026riclcl 20634 Ring isomorphism implies the left side is a ring. (Contributed by AV, 23-Jul-2026.)
(𝑅𝑟 𝑆𝑅 ∈ Ring)
 
23-Jul-2026rhm0 20608 A ring homomorphism preserves 0. (Contributed by Jeff Madsen, 2-Jan-2011.) (Revised by AV, 23-Jul-2026.)
0 = (0g𝑅)    &   𝑍 = (0g𝑆)       (𝐹 ∈ (𝑅 RingHom 𝑆) → (𝐹0 ) = 𝑍)
 
22-Jul-2026sqrtqaa 47647 Square root of a rational number is algebraic. (Contributed by Ender Ting, 22-Jul-2026.)
(𝐴 ∈ ℚ → (√‘𝐴) ∈ 𝔸)
 
22-Jul-2026sqrtnzqaa 47646 Square root of a nonzero rational is algebraic. (Contributed by Ender Ting, 22-Jul-2026.)
((𝐴 ∈ ℚ ∧ 𝐴 ≠ 0) → (√‘𝐴) ∈ 𝔸)
 
22-Jul-2026zrdrng 20909 A zero ring is not a division ring. (Contributed by FL, 24-Jan-2010.) (Revised by AV, 22-Jul-2026.)
0 = (0g𝑅)    &    1 = (1r𝑅)       ( 0 = 1 → ¬ 𝑅 ∈ DivRing)
 
22-Jul-2026isdrng3 20890 A division ring is a ring in which 1 ≠ 0 and every nonzero element is invertible. (Contributed by Jeff Madsen, 8-Jun-2010.) (Revised by AV, 22-Jul-2026.)
𝐵 = (Base‘𝑅)    &    0 = (0g𝑅)    &    1 = (1r𝑅)    &    · = (.r𝑅)       (𝑅 ∈ DivRing ↔ (𝑅 ∈ Ring ∧ 10 ∧ ∀𝑥 ∈ (𝐵 ∖ { 0 })∃𝑦 ∈ (𝐵 ∖ { 0 })(𝑦 · 𝑥) = 1 ))
 
22-Jul-2026isdrng3lem2 20889 Lemma for isdrng3 20890 (for the right to left implication). Formerly part of proof for isdrng3 20890. (Contributed by Jeff Madsen, 8-Jun-2010.) (Revised by AV, 22-Jul-2026.)
𝐵 = (Base‘𝑅)    &    0 = (0g𝑅)    &    1 = (1r𝑅)    &    · = (.r𝑅)       ((𝑅 ∈ Ring ∧ 10 ∧ ∀𝑥 ∈ (𝐵 ∖ { 0 })∃𝑦 ∈ (𝐵 ∖ { 0 })(𝑦 · 𝑥) = 1 ) → ((mulGrp‘𝑅) ↾s (𝐵 ∖ { 0 })) ∈ Grp)
 
22-Jul-2026isdrng3lem1 20888 Lemma for isdrng3 20890 (for the left to right implication). Formerly part of proof for isdrng3 20890. (Contributed by Jeff Madsen, 8-Jun-2010.) (Revised by AV, 22-Jul-2026.)
𝐵 = (Base‘𝑅)    &    0 = (0g𝑅)    &    1 = (1r𝑅)    &    · = (.r𝑅)       ((𝑅 ∈ Ring ∧ ((mulGrp‘𝑅) ↾s (𝐵 ∖ { 0 })) ∈ Grp) → ∀𝑥 ∈ (𝐵 ∖ { 0 })∃𝑦 ∈ (𝐵 ∖ { 0 })(𝑦 · 𝑥) = 1 )
 
22-Jul-2026isdrng3lem0 20887 Lemma for isdrng3 20890: The base set of a multipication group restricted to a subset of the original base set. (Contributed by AV, 22-Jul-2026.)
𝐵 = (Base‘𝑅)       (Base‘((mulGrp‘𝑅) ↾s (𝐵𝑋))) = (𝐵𝑋)
 
22-Jul-2026hta 9901 A ZFC emulation of Hilbert's transfinite axiom. The set 𝐵 has the properties of Hilbert's epsilon, except that it also depends on a well-ordering 𝑅. This theorem arose from discussions with Raph Levien on 5-Mar-2004 about translating the HOL proof language, which uses Hilbert's epsilon. See https://us.metamath.org/downloads/choice.txt (copy of obsolete link http://ghilbert.org/choice.txt) and https://us.metamath.org/downloads/megillaward2005he.pdf.

Hilbert's epsilon is described at http://plato.stanford.edu/entries/epsilon-calculus/. This theorem differs from Hilbert's transfinite axiom described on that page in that it requires 𝑅 We 𝐴 as an antecedent. Class 𝐴 collects the sets of the least rank for which 𝜑(𝑥) is true. Class 𝐵, which emulates Hilbert's epsilon, is the minimum element in a well-ordering 𝑅 on 𝐴.

If a well-ordering 𝑅 on 𝐴 can be expressed in a closed form, as might be the case if we are working with say natural numbers, we can eliminate the antecedent with modus ponens, giving us the exact equivalent of Hilbert's transfinite axiom. Otherwise, we replace 𝑅 with a dummy setvar variable, say 𝑤, and attach 𝑤 We 𝐴 as an antecedent in each step of the ZFC version of the HOL proof until the epsilon is eliminated. At that point, 𝐵 (which will have 𝑤 as a free variable) will no longer be present, and we can eliminate 𝑤 We 𝐴 by applying exlimiv 1963 and weth 10497, using scottex 9872 to establish the existence of 𝐴.

For a version of this theorem scheme using class (meta)variables instead of wff (meta)variables, see htalem 9900. (Contributed by NM, 11-Mar-2004.) (Revised by Mario Carneiro, 25-Jun-2015.) Use the Scott operation. (Revised by BTernaryTau, 22-Jul-2026.)

𝐴 = Scott {𝑥𝜑}    &   𝐵 = (𝑦𝐴𝑧𝐴 ¬ 𝑧𝑅𝑦)       (𝑅 We 𝐴 → (𝜑[𝐵 / 𝑥]𝜑))
 
22-Jul-2026scott0bs 9883 Theorem scheme version of scott0b 9876. The collection of all 𝑥 of minimum rank such that 𝜑(𝑥) is true, is not empty iff there is an 𝑥 such that 𝜑(𝑥) holds. (Contributed by NM, 13-Oct-2003.) Use the Scott operation. (Revised by BTernaryTau, 22-Jul-2026.)
(∃𝑥𝜑 ↔ Scott {𝑥𝜑} ≠ ∅)
 
21-Jul-2026alseu-no-surprise 50657 Demonstrate that there is never a "surprise" when using the "all some one" quantifier, that is, it is never possible for the consequent to be both always true and always false. This follows from als-no-surprise 50625 by alseuals 50643. For a contrast, see alimp-surprise 50599. (Contributed by David A. Wheeler, 21-Jul-2026.)
¬ (∀∃!𝑥(𝜑𝜓) ∧ ∀∃!𝑥(𝜑 → ¬ 𝜓))
 
21-Jul-2026alseueu 50656 "The 𝜑 is 𝜓 " implies that exactly one thing is both 𝜑 and 𝜓. This is the half of dfalseu2 50655 that drops the universal conjunct; it does not reverse, so ∃!𝑥(𝜑𝜓) cannot be used in place of an "all some one" statement. (Contributed by David A. Wheeler, 21-Jul-2026.)
(∀∃!𝑥(𝜑𝜓) → ∃!𝑥(𝜑𝜓))
 
21-Jul-2026dfalseu2 50655 An "all some one" statement is equivalent to its universal part conjoined with the claim that exactly one 𝑥 satisfies both 𝜑 and 𝜓. In other words, given 𝑥(𝜑𝜓), requiring exactly one 𝑥 to satisfy 𝜑, which is what df-alseu 50640 requires, and requiring exactly one 𝑥 to satisfy (𝜑𝜓) come to the same thing. Read 𝜑 as "is a king" and 𝜓 as "is hungry": if every king is hungry, then "there is exactly one king" and "there is exactly one hungry king" say the same thing, so either of them, together with "every king is hungry", gives "the king is hungry".

The universal conjunct is what makes that work, and it cannot be dropped. ∃!𝑥(𝜑𝜓) on its own is strictly weaker than ∀∃!𝑥(𝜑𝜓), since it is satisfied when many things are 𝜑 and just one of those is 𝜓, as in a region with five kings exactly one of whom is hungry; see alseueu 50656 for the one direction that does hold without it. Uniqueness attaches to the antecedent, not to the conjunction. Russell's analysis of a definite description is built the same way: its uniqueness clause constrains the description predicate alone, while the predication is a separate conjunct. See his worked example of "the father of Charles II was executed", [Russell1905] p. 482. (Contributed by David A. Wheeler, 21-Jul-2026.)

(∀∃!𝑥(𝜑𝜓) ↔ (∀𝑥(𝜑𝜓) ∧ ∃!𝑥(𝜑𝜓)))
 
21-Jul-2026nfralseu 50654 Bound-variable hypothesis builder for "all some one" restricted to a class. This is the "all some one" counterpart of nfrals 50623. (Contributed by David A. Wheeler, 21-Jul-2026.)
𝑥𝐴    &   𝑥𝜑    &   𝑥𝜓       𝑥∀∃!𝑦𝐴(𝜑𝜓)
 
21-Jul-2026nfalseu 50653 Bound-variable hypothesis builder for "all some one". This is the "all some one" counterpart of nfals 50622. Unlike nfals 50622 it requires 𝑥 and 𝑦 to be disjoint, because the corresponding builder for ∃! is nfeuw 2624, which requires it; the version without that requirement, nfeu 2625, depends on ax-13 2407 and its use is discouraged. (Contributed by David A. Wheeler, 21-Jul-2026.)
𝑥𝜑    &   𝑥𝜓       𝑥∀∃!𝑦(𝜑𝜓)
 
21-Jul-2026ralseubii 50652 Congruence for "all some one" restricted to a class. This is the "all some one" counterpart of ralsbii 50620. (Contributed by David A. Wheeler, 21-Jul-2026.)
(𝜑𝜒)    &   (𝜓𝜃)       (∀∃!𝑥𝐴(𝜑𝜓) ↔ ∀∃!𝑥𝐴(𝜒𝜃))
 
21-Jul-2026alseubii 50651 Congruence: equivalents may be substituted inside an "all some one". This is the "all some one" counterpart of alsbii 50619. (Contributed by David A. Wheeler, 21-Jul-2026.)
(𝜑𝜒)    &   (𝜓𝜃)       (∀∃!𝑥(𝜑𝜓) ↔ ∀∃!𝑥(𝜒𝜃))
 
21-Jul-2026ralseu2d 50650 Deduction rule: Given "all some one" applied to a class, you can extract the "exactly one" part. Note that the witness must satisfy the antecedent 𝜓, not merely be a member of 𝐴. (Contributed by David A. Wheeler, 21-Jul-2026.)
(𝜑 → ∀∃!𝑥𝐴(𝜓𝜒))       (𝜑 → ∃!𝑥𝐴 𝜓)
 
21-Jul-2026ralseu1d 50649 Deduction rule: Given "all some one" applied to a class, you can extract the "for all" part. (Contributed by David A. Wheeler, 21-Jul-2026.)
(𝜑 → ∀∃!𝑥𝐴(𝜓𝜒))       (𝜑 → ∀𝑥𝐴 (𝜓𝜒))
 
21-Jul-2026alseu2d 50648 Deduction rule: Given "all some one" applied to a top-level inference, you can extract the "exactly one" part. (Contributed by David A. Wheeler, 21-Jul-2026.)
(𝜑 → ∀∃!𝑥(𝜓𝜒))       (𝜑 → ∃!𝑥𝜓)
 
21-Jul-2026alseu1d 50647 Deduction rule: Given "all some one" applied to a top-level inference, you can extract the "for all" part. (Contributed by David A. Wheeler, 21-Jul-2026.)
(𝜑 → ∀∃!𝑥(𝜓𝜒))       (𝜑 → ∀𝑥(𝜓𝜒))
 
21-Jul-2026ralseud 50646 Introduction rule for "all some one" restricted to a class. This is the converse of ralseu1d 50649 and ralseu2d 50650 taken together. (Contributed by David A. Wheeler, 21-Jul-2026.)
(𝜑 → ∀𝑥𝐴 (𝜓𝜒))    &   (𝜑 → ∃!𝑥𝐴 𝜓)       (𝜑 → ∀∃!𝑥𝐴(𝜓𝜒))
 
21-Jul-2026alseud 50645 Introduction rule: "all some one" holds if the "for all" part holds and the antecedent has exactly one witness. This is the converse of alseu1d 50647 and alseu2d 50648 taken together. (Contributed by David A. Wheeler, 21-Jul-2026.)
(𝜑 → ∀𝑥(𝜓𝜒))    &   (𝜑 → ∃!𝑥𝜓)       (𝜑 → ∀∃!𝑥(𝜓𝜒))
 
21-Jul-2026ralseurals 50644 "All some one" restricted to a class implies "all some" restricted to that class. Restricted counterpart of alseuals 50643. (Contributed by David A. Wheeler, 21-Jul-2026.)
(∀∃!𝑥𝐴(𝜑𝜓) → ∀∃𝑥𝐴(𝜑𝜓))
 
21-Jul-2026alseuals 50643 "All some one" implies "all some": requiring exactly one witness is stronger than requiring at least one. Any consequence of an allsome statement is therefore a consequence of the corresponding "all some one" statement, which is how alseu-no-surprise 50657 is proved. (Contributed by David A. Wheeler, 21-Jul-2026.)
(∀∃!𝑥(𝜑𝜓) → ∀∃𝑥(𝜑𝜓))
 
21-Jul-2026dfralseu2 50642 The bounded "all some one" form is the general form with the class membership folded into the antecedent. This is the "all some one" counterpart of dfrals2 50609. (Contributed by David A. Wheeler, 21-Jul-2026.)
(∀∃!𝑥𝐴(𝜑𝜓) ↔ ∀∃!𝑥((𝑥𝐴𝜑) → 𝜓))
 
21-Jul-2026df-ralseu 50641 Define "all some one" applied to a class, which means 𝜓 is true whenever 𝜑 is true for 𝑥 in 𝐴, and exactly one 𝑥 in 𝐴 satisfies 𝜑. (Contributed by David A. Wheeler, 21-Jul-2026.)
(∀∃!𝑥𝐴(𝜑𝜓) ↔ (∀𝑥𝐴 (𝜑𝜓) ∧ ∃!𝑥𝐴 𝜑))
 
21-Jul-2026df-alseu 50640 Define "all some one" applied to a top-level implication, which means 𝜓 is true whenever 𝜑 is true and exactly one 𝑥 satisfies 𝜑. (Contributed by David A. Wheeler, 21-Jul-2026.)
(∀∃!𝑥(𝜑𝜓) ↔ (∀𝑥(𝜑𝜓) ∧ ∃!𝑥𝜑))
 
21-Jul-2026wralseu 50639 Extend wff definition to include "all some one" applied to a class, which means 𝜓 is true whenever 𝜑 is true for 𝑥 in 𝐴, and exactly one 𝑥 in 𝐴 satisfies 𝜑. (Contributed by David A. Wheeler, 21-Jul-2026.)
wff ∀∃!𝑥𝐴(𝜑𝜓)
 
21-Jul-2026walseu 50638 Extend wff definition to include "all some one" applied to a top-level implication, which means 𝜓 is true whenever 𝜑 is true, and exactly one 𝑥 satisfies 𝜑. (Contributed by David A. Wheeler, 21-Jul-2026.)
wff ∀∃!𝑥(𝜑𝜓)
 
21-Jul-2026sqrtnnaa 47645 Square root of a natural number is algebraic. (Contributed by Ender Ting, 21-Jul-2026.)
(𝐴 ∈ ℕ → (√‘𝐴) ∈ 𝔸)
 
21-Jul-2026naddle 36732 Condition for bounding natural addition above. (Contributed by Scott Fenton, 21-Jul-2026.)
((𝐴 ∈ On ∧ 𝐵 ∈ On ∧ 𝐶 ∈ On) → ((𝐴 +no 𝐵) ⊆ 𝐶 ↔ (∀𝑎𝐴 (𝑎 +no 𝐵) ∈ 𝐶 ∧ ∀𝑏𝐵 (𝐴 +no 𝑏) ∈ 𝐶)))
 
21-Jul-2026ltnadd 36731 Condition for bounding a natural sum below. (Contributed by Scott Fenton, 21-Jul-2026.)
((𝐴 ∈ On ∧ 𝐵 ∈ On ∧ 𝐶 ∈ On) → (𝐴 ∈ (𝐵 +no 𝐶) ↔ (∃𝑏𝐵 𝐴 ⊆ (𝑏 +no 𝐶) ∨ ∃𝑐𝐶 𝐴 ⊆ (𝐵 +no 𝑐))))
 
21-Jul-2026nmullid 36711 Identity law for natural multiplication. (Contributed by Scott Fenton, 21-Jul-2026.)
(𝐴 ∈ On → (1o ·no 𝐴) = 𝐴)
 
21-Jul-2026nmulrid 36710 Identity law for natural multiplication. (Contributed by Scott Fenton, 21-Jul-2026.)
(𝐴 ∈ On → (𝐴 ·no 1o) = 𝐴)
 
21-Jul-2026aaliou3r 26552 The sum presented above is convergent, which means that the "Liouville number" is indeed real. (Contributed by Ender Ting, 21-Jul-2026.)
Σ𝑘 ∈ ℕ (2↑-(!‘𝑘)) ∈ ℝ
 
21-Jul-20261aa 26524 One is algebraic. (Contributed by Ender Ting, 21-Jul-2026.)
1 ∈ 𝔸
 
21-Jul-20260aa 26523 Zero is algebraic. (Contributed by Ender Ting, 21-Jul-2026.)
0 ∈ 𝔸
 
20-Jul-2026ralsanmo 50630 An "all some" statement restricted to a class, conjoined with the claim that at most one 𝑥 in 𝐴 satisfies its antecedent, is equivalent to the universal part conjoined with the claim that exactly one 𝑥 in 𝐴 satisfies the antecedent. This is the restricted counterpart of alsanmo 50629. (Contributed by Peter Mazsa and David A. Wheeler, 20-Jul-2026.)
((∀∃𝑥𝐴(𝜑𝜓) ∧ ∃*𝑥𝐴 𝜑) ↔ (∀𝑥𝐴 (𝜑𝜓) ∧ ∃!𝑥𝐴 𝜑))
 
20-Jul-2026alsanmo 50629 An "all some" statement conjoined with the claim that at most one 𝑥 satisfies its antecedent is equivalent to the universal part conjoined with the claim that exactly one 𝑥 satisfies the antecedent. The "all some" quantifier supplies the existence of such an 𝑥 and ∃*𝑥𝜑 supplies the at-most-one part, so together they yield ∃!𝑥𝜑. (Contributed by Peter Mazsa and David A. Wheeler, 20-Jul-2026.)
((∀∃𝑥(𝜑𝜓) ∧ ∃*𝑥𝜑) ↔ (∀𝑥(𝜑𝜓) ∧ ∃!𝑥𝜑))
 
20-Jul-2026rexrals 50628 If a member of 𝐴 satisfying the antecedent exists, then a restricted "all some" statement reduces to its universal part. This is the restricted counterpart of rexals 50634. (Contributed by Peter Mazsa and David A. Wheeler, 20-Jul-2026.)
(∃𝑥𝐴 𝜑 → (∀∃𝑥𝐴(𝜑𝜓) ↔ ∀𝑥𝐴 (𝜑𝜓)))
 
20-Jul-2026ralrals 50627 If the universal part of a restricted "all some" statement holds, then the statement reduces to the existence of a member of 𝐴 satisfying its antecedent. This is the restricted counterpart of ralals 50633. (Contributed by Peter Mazsa and David A. Wheeler, 20-Jul-2026.)
(∀𝑥𝐴 (𝜑𝜓) → (∀∃𝑥𝐴(𝜑𝜓) ↔ ∃𝑥𝐴 𝜑))
 
20-Jul-2026tgaltai 29254 Parallelism implies alternate angles congruence: if a line (𝑋𝐿𝑍) crosses two parallel lines (𝑋𝐿𝑌) and (𝑍𝐿𝑊), then the alternate angles are congruent. First direction of Theorem 12.21 of [Schwabhauser] p. 126. This is also Proposition 1.29 of Euclid's Elements . (Contributed by Thierry Arnoux, 20-Jul-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &    = (parlnG‘𝐺)    &   𝑂 = {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ (𝑃 ∖ (𝑋𝐿𝑍)) ∧ 𝑏 ∈ (𝑃 ∖ (𝑋𝐿𝑍))) ∧ ∃𝑡 ∈ (𝑋𝐿𝑍)𝑡 ∈ (𝑎𝐼𝑏))}    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝐺 ∈ TarskiGE)    &   (𝜑𝑋𝑃)    &   (𝜑𝑌𝑃)    &   (𝜑𝑍𝑃)    &   (𝜑𝑊𝑃)    &   (𝜑 → (𝑋𝐿𝑌) (𝑍𝐿𝑊))    &   (𝜑𝑌𝑂𝑊)    &   (𝜑𝑋𝑍)       (𝜑 → ⟨“𝑌𝑋𝑍”⟩(cgrA‘𝐺)⟨“𝑊𝑍𝑋”⟩)
 
20-Jul-2026quadcgrprlng 29253 Nontrivial quadrilaterals with congruent and parallel opposite sides are parallelograms. Theorem 12.20 of [Schwabhauser] p. 126. (Contributed by Thierry Arnoux, 20-Jul-2026.)
𝑃 = (Base‘𝐺)    &    = (dist‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &    = (parlnG‘𝐺)    &   𝑂 = {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ (𝑃 ∖ (𝑋𝐿𝑍)) ∧ 𝑏 ∈ (𝑃 ∖ (𝑋𝐿𝑍))) ∧ ∃𝑡 ∈ (𝑋𝐿𝑍)𝑡 ∈ (𝑎𝐼𝑏))}    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝐺 ∈ TarskiGE)    &   (𝜑𝑋𝑃)    &   (𝜑𝑌𝑃)    &   (𝜑𝑍𝑃)    &   (𝜑𝑊𝑃)    &   (𝜑 → ¬ (𝑋 ∈ (𝑌𝐿𝑍) ∨ 𝑌 = 𝑍))    &   (𝜑 → (𝑋𝐿𝑌) (𝑍𝐿𝑊))    &   (𝜑 → (𝑋 𝑌) = (𝑍 𝑊))    &   (𝜑𝑌𝑂𝑊)       (𝜑 → ((𝑌𝐿𝑍) (𝑊𝐿𝑋) ∧ (𝑌 𝑍) = (𝑊 𝑋)))
 
20-Jul-2026prlngsymquadopp 29252 In parallelograms, opposing vertices are on opposite sides of the diagonal. Second part of Theorem 12.19 of [Schwabhauser] p. 126. (Contributed by Thierry Arnoux, 20-Jul-2026.)
𝑃 = (Base‘𝐺)    &    = (dist‘𝐺)    &   𝐿 = (LineG‘𝐺)    &    = (parlnG‘𝐺)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝐺 ∈ TarskiGE)    &   (𝜑𝑋𝑃)    &   (𝜑𝑌𝑃)    &   (𝜑𝑍𝑃)    &   (𝜑𝑊𝑃)    &   (𝜑 → ¬ (𝑋 ∈ (𝑌𝐿𝑍) ∨ 𝑌 = 𝑍))    &   (𝜑 → (𝑋𝐿𝑌) (𝑍𝐿𝑊))    &   (𝜑 → (𝑌𝐿𝑍) (𝑊𝐿𝑋))    &   𝑂 = {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ (𝑃 ∖ (𝑋𝐿𝑍)) ∧ 𝑏 ∈ (𝑃 ∖ (𝑋𝐿𝑍))) ∧ ∃𝑡 ∈ (𝑋𝐿𝑍)𝑡 ∈ (𝑎𝐼𝑏))}    &   𝐼 = (Itv‘𝐺)       (𝜑𝑊𝑂𝑌)
 
20-Jul-2026prlngsymquad 29251 All parallelograms are symmetric quadrilaterals. First part of Theorem 12.19 of [Schwabhauser] p. 126. (Contributed by Thierry Arnoux, 20-Jul-2026.)
𝑃 = (Base‘𝐺)    &    = (dist‘𝐺)    &   𝐿 = (LineG‘𝐺)    &    = (parlnG‘𝐺)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝐺 ∈ TarskiGE)    &   (𝜑𝑋𝑃)    &   (𝜑𝑌𝑃)    &   (𝜑𝑍𝑃)    &   (𝜑𝑊𝑃)    &   (𝜑 → ¬ (𝑋 ∈ (𝑌𝐿𝑍) ∨ 𝑌 = 𝑍))    &   (𝜑 → (𝑋𝐿𝑌) (𝑍𝐿𝑊))    &   (𝜑 → (𝑌𝐿𝑍) (𝑊𝐿𝑋))       (𝜑 → ((𝑋 𝑌) = (𝑍 𝑊) ∧ (𝑌 𝑍) = (𝑊 𝑋)))
 
20-Jul-2026prlngsymquadlem 29250 Lemma for prlngsymquad 29251. (Contributed by Thierry Arnoux, 20-Jul-2026.)
𝑃 = (Base‘𝐺)    &    = (dist‘𝐺)    &   𝐿 = (LineG‘𝐺)    &    = (parlnG‘𝐺)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝐺 ∈ TarskiGE)    &   (𝜑𝑋𝑃)    &   (𝜑𝑌𝑃)    &   (𝜑𝑍𝑃)    &   (𝜑𝑊𝑃)    &   (𝜑 → ¬ (𝑋 ∈ (𝑌𝐿𝑍) ∨ 𝑌 = 𝑍))    &   (𝜑 → (𝑋𝐿𝑌) (𝑍𝐿𝑊))    &   (𝜑 → (𝑌𝐿𝑍) (𝑊𝐿𝑋))    &   𝑇 = (((pInvG‘𝐺)‘(𝑋(midG‘𝐺)𝑍))‘𝑌)       (𝜑𝑇 = 𝑊)
 
20-Jul-2026symquadprlng 29249 Symmetrical quadrilaterals are parallelograms. Theorem 12.18 of [Schwabhauser] p. 126. (Contributed by Thierry Arnoux, 20-Jul-2026.)
𝑃 = (Base‘𝐺)    &    = (dist‘𝐺)    &   𝐿 = (LineG‘𝐺)    &    = (parlnG‘𝐺)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝐺 ∈ TarskiGE)    &   (𝜑𝑋𝑃)    &   (𝜑𝑌𝑃)    &   (𝜑𝑍𝑃)    &   (𝜑𝑊𝑃)    &   (𝜑 → (𝑋 𝑌) = (𝑍 𝑊))    &   (𝜑 → (𝑌 𝑍) = (𝑊 𝑋))    &   (𝜑 → ¬ (𝑋 ∈ (𝑌𝐿𝑍) ∨ 𝑌 = 𝑍))    &   (𝜑𝑌𝑊)    &   (𝜑𝑇 ∈ (𝑋𝐿𝑍))    &   (𝜑𝑇 ∈ (𝑌𝐿𝑊))       (𝜑 → ((𝑋𝐿𝑌) (𝑍𝐿𝑊) ∧ (𝑌𝐿𝑍) (𝑊𝐿𝑋)))
 
20-Jul-2026prlngeq 29244 Playfair's axiom, written as an equality: if two different lines are parallel to a given line at a given point, they are equal. (Contributed by Thierry Arnoux, 20-Jul-2026.)
𝑃 = (Base‘𝐺)    &    = (parlnG‘𝐺)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝐺 ∈ TarskiGE)    &   (𝜑𝐴 𝐵)    &   (𝜑𝐴 𝐶)    &   (𝜑𝑋𝐵)    &   (𝜑𝑋𝐶)       (𝜑𝐵 = 𝐶)
 
20-Jul-2026symquadmid 29145 In a symmetrical quadrilateral, the midpoints of the diagonals coincide. Corollary of Lemma 7.21 of [Schwabhauser] p. 52. (Contributed by Thierry Arnoux, 20-Jul-2026.)
𝑃 = (Base‘𝐺)    &    = (dist‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝑀 = (midG‘𝐺)    &   𝑂 = {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ (𝑃 ∖ (𝑋𝐿𝑍)) ∧ 𝑏 ∈ (𝑃 ∖ (𝑋𝐿𝑍))) ∧ ∃𝑡 ∈ (𝑋𝐿𝑍)𝑡 ∈ (𝑎𝐼𝑏))}    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝑋𝑃)    &   (𝜑𝑌𝑃)    &   (𝜑𝑍𝑃)    &   (𝜑𝑊𝑃)    &   (𝜑 → ¬ (𝑋 ∈ (𝑌𝐿𝑍) ∨ 𝑌 = 𝑍))    &   (𝜑𝑌𝑊)    &   (𝜑 → (𝑋 𝑌) = (𝑍 𝑊))    &   (𝜑 → (𝑌 𝑍) = (𝑊 𝑋))    &   (𝜑𝑌𝑂𝑊)       (𝜑 → (𝑋𝑀𝑍) = (𝑌𝑀𝑊))
 
20-Jul-2026hlopp 29091 If two points 𝑋 and 𝑌 lie on opposite sides of a line 𝐴, then given a point 𝑍 on 𝐴, any point 𝑊 on the line (𝑋𝐿𝑍) opposite to 𝑌 lies on the half line (𝑍𝑋) (Contributed by Thierry Arnoux, 20-Jul-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝑂 = {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ (𝑃𝐴) ∧ 𝑏 ∈ (𝑃𝐴)) ∧ ∃𝑡𝐴 𝑡 ∈ (𝑎𝐼𝑏))}    &   𝐾 = (hlG‘𝐺)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝐴 ∈ ran 𝐿)    &   (𝜑𝑋𝑃)    &   (𝜑𝑌𝑃)    &   (𝜑𝑋𝑂𝑌)    &   (𝜑𝑍𝐴)    &   (𝜑𝑊𝑂𝑌)    &   (𝜑𝑊 ∈ (𝑋𝐿𝑍))       (𝜑𝑊(𝐾𝑍)𝑋)
 
20-Jul-2026symquadprlnglem 29007 Lemma for symquadprlnglem 29007. (Contributed by Thierry Arnoux, 20-Jul-2026.)
𝑃 = (Base‘𝐺)    &    = (dist‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝑋𝑃)    &   (𝜑𝑌𝑃)    &   (𝜑𝑍𝑃)    &   (𝜑𝑊𝑃)    &   (𝜑 → (𝑋 𝑌) = (𝑍 𝑊))    &   (𝜑 → (𝑌 𝑍) = (𝑊 𝑋))    &   (𝜑 → ¬ (𝑋 ∈ (𝑌𝐿𝑍) ∨ 𝑌 = 𝑍))    &   (𝜑𝑌𝑊)    &   (𝜑𝑇 ∈ (𝑋𝐿𝑍))    &   (𝜑𝑇 ∈ (𝑌𝐿𝑊))       (𝜑 → ¬ (𝑊 ∈ (𝑍𝐿𝑌) ∨ 𝑍 = 𝑌))
 
20-Jul-2026crng4 20374 Commutative/associative law for commutative rings. See also mul4d 11440. (Contributed by Jeff Madsen, 19-Jun-2010.) (Revised by AV, 20-Jul-2026.)
𝐵 = (Base‘𝑅)    &    · = (.r𝑅)    &   (𝜑𝑅 ∈ CRing)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)    &   (𝜑𝑍𝐵)    &   (𝜑𝑈𝐵)       (𝜑 → ((𝑋 · 𝑌) · (𝑍 · 𝑈)) = ((𝑋 · 𝑍) · (𝑌 · 𝑈)))
 
19-Jul-2026crngrhmfo 20611 The image of a surjective homomorphism from a commutative ring is commutative. (Contributed by Jeff Madsen, 4-Jan-2011.) (Revised by AV, 19-Jul-2026.)
𝐵 = (Base‘𝑆)       ((𝑅 ∈ CRing ∧ 𝐹 ∈ (𝑅 RingHom 𝑆) ∧ 𝐹:dom 𝐹onto𝐵) → 𝑆 ∈ CRing)
 
19-Jul-2026karden 9898 If we allow the Axiom of Regularity, we can avoid the Axiom of Choice by defining the cardinal number of a set as the set of all sets equinumerous to it and having the least possible rank. This theorem proves the equinumerosity relationship for this definition (compare carden 10553). The hypotheses correspond to the definition of kard of [Enderton] p. 222 (which we don't define separately since currently we do not use it elsewhere). This theorem along with kardex 9896 justify the definition of kard. The restriction to the least rank prevents the proper class that would result from {𝑥𝑥𝐴}. (Contributed by NM, 18-Dec-2003.) (Revised by AV, 12-Jul-2022.) Use the Scott operation. (Revised by BTernaryTau, 19-Jul-2026.)
𝐴 ∈ V    &   𝐶 = Scott {𝑥𝑥𝐴}    &   𝐷 = Scott {𝑥𝑥𝐵}       (𝐶 = 𝐷𝐴𝐵)
 
19-Jul-2026kardex 9896 The collection of all sets equinumerous to a set 𝐴 and having the least possible rank is a set. This is the part of the justification of the definition of kard of [Enderton] p. 222. (Contributed by NM, 14-Dec-2003.) Use the Scott operation. (Revised by BTernaryTau, 19-Jul-2026.)
Scott {𝑥𝑥𝐴} ∈ V
 
19-Jul-2026cplem2 9891 Lemma for the Collection Principle cp 9893. (Contributed by NM, 17-Oct-2003.) Use the Scott operation. (Revised by BTernaryTau, 19-Jul-2026.)
𝐴 ∈ V       𝑦𝑥𝐴 (𝐵 ≠ ∅ → (𝐵𝑦) ≠ ∅)
 
19-Jul-2026cplem1 9889 Lemma for the Collection Principle cp 9893. (Contributed by NM, 17-Oct-2003.) Use the Scott operation. (Revised by BTernaryTau, 19-Jul-2026.)
𝐶 = 𝑥𝐴 Scott 𝐵       𝑥𝐴 (𝐵 ≠ ∅ → (𝐵𝐶) ≠ ∅)
 
19-Jul-2026scott0b 9876 Applying Scott's trick yields the empty set iff it was applied to the empty set. (Contributed by NM, 15-Oct-2003.) Use the Scott operation. (Revised by BTernaryTau, 19-Jul-2026.)
(𝐴 = ∅ ↔ Scott 𝐴 = ∅)
 
19-Jul-2026disjdifg 4435 A class does not intersect a relative complement of a superclass. (Contributed by NM, 24-Mar-1998.) Generalize from disjdif 4436. (Revised by BJ, 19-Jul-2026.)
(𝐴𝐵 → (𝐴 ∩ (𝐶𝐵)) = ∅)
 
19-Jul-2026sseq0b 4363 The only subclass of the empty class is itself. (Contributed by NM, 7-Mar-2007.) Strengthen sseq0 4364 to a biconditional. (Revised by BJ, 19-Jul-2026.)
(𝐴 = ∅ → (𝐵𝐴𝐵 = ∅))
 
18-Jul-2026scottex 9872 Scott's trick produces a set. (Contributed by NM, 13-Oct-2003.) Use the Scott operation. (Revised by BTernaryTau, 18-Jul-2026.)
Scott 𝐴 ∈ V
 
18-Jul-2026sepab 5308 Separation Scheme (Aussonderung) in terms of a class abstraction. Prefer using the more natural statement rabexg 5313. (Contributed by NM, 8-Jun-1994.) Put in closed form. (Revised by BJ, 18-Jul-2026.)
(𝐴𝑉 → {𝑥 ∣ (𝑥𝐴𝜑)} ∈ V)
 
18-Jul-2026ssex 5296 A subclass of a set is a set. Exercise 3 of [TakeutiZaring] p. 22. This is one way to express the Axiom of Separation ax-sep 5262 (a.k.a. Subset Axiom). (Contributed by NM, 27-Apr-1994.) (Proof shortened by BJ, 18-Jul-2026.)
𝐵 ∈ V       (𝐴𝐵𝐴 ∈ V)
 
18-Jul-2026ssexg 5295 A subclass of a set is a set. Exercise 3 of [TakeutiZaring] p. 22 (generalized). (Contributed by NM, 14-Aug-1994.) (Proof shortened by BJ, 18-Jul-2026.)
((𝐴𝐵𝐵𝐶) → 𝐴 ∈ V)
 
18-Jul-2026inssdif0 4332 Intersection, subclass, and difference relationship. (Contributed by NM, 27-Oct-1996.) (Proof shortened by Andrew Salmon, 26-Jun-2011.) (Proof shortened by Wolf Lammen, 30-Sep-2014.) (Proof shortened by BJ, 18-Jul-2026.)
((𝐴𝐵) ⊆ 𝐶 ↔ (𝐴 ∩ (𝐵𝐶)) = ∅)
 
16-Jul-2026nmulle 36730 A condition for bounding a natural product above. Converse of ltnmul 36729. (Contributed by Scott Fenton, 16-Jul-2026.)
((𝐴 ∈ On ∧ 𝐵 ∈ On ∧ 𝐶 ∈ On) → ((𝐴 ·no 𝐵) ⊆ 𝐶 ↔ ∀𝑎𝐴𝑏𝐵 ((𝑎 ·no 𝐵) +no (𝐴 ·no 𝑏)) ∈ (𝐶 +no (𝑎 ·no 𝑏))))
 
15-Jul-20262alsraln0id 50637 Nested general "all some" quantifiers with class membership as their antecedents, for the same class 𝐴: 𝜑 holds for every 𝑥 and every 𝑦 in 𝐴, and 𝐴 is not empty. (Contributed by Peter Mazsa, 28-May-2019.) (Revised by David A. Wheeler, 15-Jul-2026.)
(∀∃𝑥(𝑥𝐴 → ∀∃𝑦(𝑦𝐴𝜑)) ↔ (∀𝑥𝐴𝑦𝐴 𝜑𝐴 ≠ ∅))
 
15-Jul-20262alsraln0 50636 Nested general "all some" quantifiers with class membership as their antecedents: 𝜑 holds for every 𝑥 in 𝐴 and every 𝑦 in 𝐵, and both 𝐴 and 𝐵 are not empty. (Contributed by Peter Mazsa, 28-May-2019.) (Revised by David A. Wheeler, 15-Jul-2026.)
(∀∃𝑥(𝑥𝐴 → ∀∃𝑦(𝑦𝐵𝜑)) ↔ (∀𝑥𝐴𝑦𝐵 𝜑 ∧ (𝐴 ≠ ∅ ∧ 𝐵 ≠ ∅)))
 
15-Jul-2026n0als 50635 If 𝐴 is not empty, then the general "all some" quantifier with class membership as its antecedent reduces to the assertion that 𝜑 holds for every 𝑥 in 𝐴. (Contributed by Peter Mazsa, 19-Dec-2018.) (Revised by David A. Wheeler, 15-Jul-2026.)
(𝐴 ≠ ∅ → (∀∃𝑥(𝑥𝐴𝜑) ↔ ∀𝑥𝐴 𝜑))
 
15-Jul-2026rexals 50634 If some 𝑥 in 𝐴 satisfies 𝜑, then the general "all some" quantifier with class membership as its antecedent reduces to the assertion that 𝜑 holds for every 𝑥 in 𝐴. See rexrals 50628 for the restricted counterpart. (Contributed by Peter Mazsa, 19-Dec-2018.) (Revised by David A. Wheeler, 15-Jul-2026.)
(∃𝑥𝐴 𝜑 → (∀∃𝑥(𝑥𝐴𝜑) ↔ ∀𝑥𝐴 𝜑))
 
15-Jul-2026ralals 50633 If 𝜑 holds for every 𝑥 in 𝐴, then the general "all some" quantifier with class membership as its antecedent reduces to the assertion that some 𝑥 in 𝐴 satisfies 𝜑. See ralrals 50627 for the restricted counterpart. (Contributed by Peter Mazsa, 19-Dec-2018.) (Revised by David A. Wheeler, 15-Jul-2026.)
(∀𝑥𝐴 𝜑 → (∀∃𝑥(𝑥𝐴𝜑) ↔ ∃𝑥𝐴 𝜑))
 
15-Jul-2026alsraln0 50632 The general "all some" quantifier with class membership as its antecedent holds if and only if 𝜑 holds for every 𝑥 in 𝐴 and 𝐴 is not empty. (Contributed by Peter Mazsa, 28-Nov-2018.) (Revised by David A. Wheeler, 15-Jul-2026.)
(∀∃𝑥(𝑥𝐴𝜑) ↔ (∀𝑥𝐴 𝜑𝐴 ≠ ∅))
 
15-Jul-2026alsralrex 50631 The general "all some" quantifier with class membership as its antecedent holds if and only if 𝜑 holds for every 𝑥 in 𝐴 and some 𝑥 in 𝐴 satisfies 𝜑. (Contributed by Peter Mazsa, 27-Nov-2018.) (Revised by David A. Wheeler, 15-Jul-2026.)
(∀∃𝑥(𝑥𝐴𝜑) ↔ (∀𝑥𝐴 𝜑 ∧ ∃𝑥𝐴 𝜑))
 
15-Jul-2026ltnmul 36729 Characterize less-than a natural product. (Contributed by Scott Fenton, 15-Jul-2026.)
((𝐴 ∈ On ∧ 𝐵 ∈ On ∧ 𝐶 ∈ On) → (𝐴 ∈ (𝐵 ·no 𝐶) ↔ ∃𝑏𝐵𝑐𝐶 (𝐴 +no (𝑏 ·no 𝑐)) ⊆ ((𝑏 ·no 𝐶) +no (𝐵 ·no 𝑐))))
 
15-Jul-2026nmulel1 36728 Natural multiplication by a non-zero number preserves less-than. (Contributed by Scott Fenton, 15-Jul-2026.)
(((𝐵 ∈ On ∧ 𝐶 ∈ On) ∧ (𝐴𝐵𝐶 ≠ ∅)) → (𝐶 ·no 𝐴) ∈ (𝐶 ·no 𝐵))
 
15-Jul-2026nmulss1 36727 Natural multiplication preserves less-than or equal. (Contributed by Scott Fenton, 15-Jul-2026.)
(((𝐴 ∈ On ∧ 𝐵 ∈ On ∧ 𝐶 ∈ On) ∧ 𝐴𝐵) → (𝐶 ·no 𝐴) ⊆ (𝐶 ·no 𝐵))
 
15-Jul-2026nmuladdss 36726 Ordering relationship for natural ordinal operations. (Contributed by Scott Fenton, 15-Jul-2026.)
(((𝐴 ∈ On ∧ 𝐵 ∈ On) ∧ (𝐶 ∈ On ∧ 𝐷 ∈ On) ∧ (𝐶𝐴𝐷𝐵)) → ((𝐶 ·no 𝐵) +no (𝐴 ·no 𝐷)) ⊆ ((𝐴 ·no 𝐵) +no (𝐶 ·no 𝐷)))
 
15-Jul-2026nmuladdel 36725 Ordering relationship for natural ordinal operations. (Contributed by Scott Fenton, 15-Jul-2026.)
(((𝐴 ∈ On ∧ 𝐵 ∈ On) ∧ (𝐶𝐴𝐷𝐵)) → ((𝐶 ·no 𝐵) +no (𝐴 ·no 𝐷)) ∈ ((𝐴 ·no 𝐵) +no (𝐶 ·no 𝐷)))
 
14-Jul-2026bj-inex1gALT 37601 Proof of inex1g 5293 from sepg 5264 to then allow proving inex1 5291 from it. That does not reduce the combined proof size of inex1 5291 and inex1g 5293. (Contributed by BJ, 14-Jul-2026.) (Proof modification is discouraged.) (New usage is discouraged.)
(𝐴𝑉 → (𝐴𝐵) ∈ V)
 
14-Jul-2026uniex2 7748 The Axiom of Union using the standard abbreviation for union. Given any set 𝑥, its union 𝑦 exists. (Contributed by NM, 4-Jun-2006.) (Proof shortened by BJ, 14-Jul-2026.)
𝑦 𝑦 = 𝑥
 
14-Jul-2026sepgi 5265 Inference associated with sepg 5264. The requirement that 𝑦 not occur in 𝜑 is necessary, as notsep 5339 shows. (Contributed by NM, 21-Jun-1993.) (Revised by BJ, 14-Jul-2026.)
𝐴 ∈ V       𝑦𝑥(𝑥𝑦 ↔ (𝑥𝐴𝜑))
 
13-Jul-2026idomcanr 49154 Cancellation law for domains. (Contributed by Jeff Madsen, 6-Jan-2011.) (Revised by AV, 13-Jul-2026.)
𝐵 = (Base‘𝑅)    &    · = (.r𝑅)    &    0 = (0g𝑅)       (((𝑅 ∈ IDomn ∧ (𝑋𝐵𝑌𝐵𝑍𝐵)) ∧ 𝑍0 ) → ((𝑋 · 𝑍) = (𝑌 · 𝑍) → 𝑋 = 𝑌))
 
13-Jul-2026idomcanl 49153 Cancellation law for domains. (Contributed by Jeff Madsen, 6-Jan-2011.) (Revised by AV, 13-Jul-2026.)
𝐵 = (Base‘𝑅)    &    · = (.r𝑅)    &    0 = (0g𝑅)       (((𝑅 ∈ IDomn ∧ (𝑋𝐵𝑌𝐵𝑍𝐵)) ∧ 𝑋0 ) → ((𝑋 · 𝑌) = (𝑋 · 𝑍) → 𝑌 = 𝑍))
 
13-Jul-2026prlngmid2 29248 If the midpoints of two segments (𝑋𝐼𝑍) and (𝑌𝐼𝑊) coincide, the points 𝑋, 𝑌, 𝑍 and 𝑊 form a parallelogram, i.e. the lines (𝑋𝐿𝑌) and (𝑍𝐿𝑊) are parallel. Theorem 12.17 of [Schwabhauser] p. 125. (Contributed by Thierry Arnoux, 13-Jul-2026.)
𝑃 = (Base‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &    = (parlnG‘𝐺)    &   𝑀 = (midG‘𝐺)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝐺 ∈ TarskiGE)    &   (𝜑𝑋𝑃)    &   (𝜑𝑌𝑃)    &   (𝜑𝑍 ∈ (𝑃 ∖ (𝑋𝐿𝑌)))    &   (𝜑𝑊𝑃)    &   (𝜑 → (𝑋𝑀𝑍) = (𝑌𝑀𝑊))    &   (𝜑𝑋𝑌)       (𝜑 → (𝑋𝐿𝑌) (𝑍𝐿𝑊))
 
13-Jul-2026prlnginn0 29247 A line 𝐶 intersecting another line 𝐴 also intersects any line 𝐵 parallel to 𝐴. Theorem 12.16 of [Schwabhauser] p. 125. (Contributed by Thierry Arnoux, 13-Jul-2026.)
𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &    = (parlnG‘𝐺)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝐺 ∈ TarskiGE)    &   (𝜑𝐻 ∈ ran 𝐸)    &   (𝜑𝐶 ∈ ran 𝐿)    &   (𝜑 → (𝐴𝐶) ≠ ∅)    &   (𝜑𝐴𝐶)    &   (𝜑𝐴 𝐵)    &   (𝜑𝐴𝐻)    &   (𝜑𝐵𝐻)    &   (𝜑𝐶𝐻)       (𝜑 → (𝐵𝐶) ≠ ∅)
 
13-Jul-2026prlngplngtr 29246 Transitivity of parallelism, for lines in the same plane 𝐻. This is case 1 of Theorem 12.15 of [Schwabhauser] p. 124. (Contributed by Thierry Arnoux, 13-Jul-2026.)
𝐸 = (hlG‘𝐺)    &    = (parlnG‘𝐺)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝐻 ∈ ran 𝐸)    &   (𝜑𝐴𝐻)    &   (𝜑𝐴 𝐵)    &   (𝜑𝐺 ∈ TarskiGE)    &   (𝜑𝐶𝐻)    &   (𝜑𝐵 𝐶)       (𝜑𝐴 𝐶)
 
13-Jul-2026prlngpln4 29245 Building a parallel line conserves planes, i.e. given a line 𝐴 and a point 𝑋 not on 𝐴, the (unique) parallel 𝐵 to 𝐴 through 𝑋 lies completely within the plane defined by 𝐴 and 𝑋. Theorem 12.14 of [Schwabhauser] p. 124. (Contributed by Thierry Arnoux, 13-Jul-2026.)
𝐸 = (hlG‘𝐺)    &    = (parlnG‘𝐺)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝐻 ∈ ran 𝐸)    &   (𝜑𝐴𝐻)    &   (𝜑𝐴 𝐵)    &   (𝜑𝑋𝐻)    &   (𝜑𝑋𝐵)       (𝜑𝐵𝐻)
 
13-Jul-2026prlngmo2 29243 Playfair's axiom, without the restriction that the point 𝑋 is outside of the line 𝐴. Theorem 12.11 of [Schwabhauser] p. 123. (Contributed by Thierry Arnoux, 13-Jul-2026.)
𝑃 = (Base‘𝐺)    &   𝐿 = (LineG‘𝐺)    &    = (parlnG‘𝐺)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝐴 ∈ ran 𝐿)    &   (𝜑𝑋𝑃)    &   (𝜑𝐺 ∈ TarskiGE)       (𝜑 → ∃*𝑏 ∈ ran 𝐿(𝐴 𝑏𝑋𝑏))
 
13-Jul-2026dfprlng3 29235 Alternate definition of (strict) parallelism. Theorem 12.7 of [Schwabhauser] p. 122. (Contributed by Thierry Arnoux, 13-Jul-2026.)
𝑃 = (Base‘𝐺)    &   𝐿 = (LineG‘𝐺)    &    = (parlnG‘𝐺)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝑋𝑃)    &   (𝜑𝑌 ∈ (𝑃 ∖ {𝑋}))    &   (𝜑𝐴 ∈ ran 𝐿)    &   (𝜑𝐴 ≠ (𝑋𝐿𝑌))       (𝜑 → (𝐴 (𝑋𝐿𝑌) ↔ (𝑋((hpG‘𝐺)‘𝐴)𝑌 ∧ (𝐴 ∩ (𝑋𝐿𝑌)) = ∅)))
 
13-Jul-2026dfprlng2 29234 Alternate definition of (strict) parallelism. Theorem 12.7 of [Schwabhauser] p. 122. (Contributed by Thierry Arnoux, 13-Jul-2026.)
𝑃 = (Base‘𝐺)    &   𝐿 = (LineG‘𝐺)    &    = (parlnG‘𝐺)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝑋𝑃)    &   (𝜑𝑌 ∈ (𝑃 ∖ {𝑋}))    &   (𝜑𝑍𝑃)    &   (𝜑𝑊 ∈ (𝑃 ∖ {𝑍}))    &   (𝜑 → (𝑋𝐿𝑌) ≠ (𝑍𝐿𝑊))       (𝜑 → ((𝑋𝐿𝑌) (𝑍𝐿𝑊) ↔ (𝑍((hpG‘𝐺)‘(𝑋𝐿𝑌))𝑊 ∧ ((𝑋𝐿𝑌) ∩ (𝑍𝐿𝑊)) = ∅)))
 
13-Jul-2026ragsupplcgra 29185 An angle ⟨“𝑋𝑌𝑍”⟩ is a right angle exactly when it is congruent to its supplementary angle ⟨“𝑋𝑌𝑊”⟩. Theorem 11.18 of [Schwabhauser] p. 98. (Contributed by Thierry Arnoux, 13-Jul-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝑋 ∈ (𝑃 ∖ {𝑌}))    &   (𝜑𝑌𝑃)    &   (𝜑𝑍 ∈ (𝑃 ∖ {𝑌}))    &   (𝜑𝑊 ∈ (𝑃 ∖ {𝑌}))    &   (𝜑𝑌 ∈ (𝑍𝐼𝑊))       (𝜑 → (⟨“𝑋𝑌𝑍”⟩ ∈ (∟G‘𝐺) ↔ ⟨“𝑋𝑌𝑍”⟩(cgrA‘𝐺)⟨“𝑋𝑌𝑊”⟩))
 
13-Jul-2026cgrarag 29184 Any angle ⟨“𝐴𝐵𝐶”⟩ congruent with a right angle ⟨“𝑋𝑌𝑍”⟩ is a right angle. Theorem 11.17 of [Schwabhauser] p. 98. (Contributed by Thierry Arnoux, 13-Jul-2026.)
𝑃 = (Base‘𝐺)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝑋𝑃)    &   (𝜑𝑌𝑃)    &   (𝜑𝑍𝑃)    &   (𝜑𝐴𝑃)    &   (𝜑𝐵𝑃)    &   (𝜑𝐶𝑃)    &   (𝜑 → ⟨“𝑋𝑌𝑍”⟩ ∈ (∟G‘𝐺))    &   (𝜑 → ⟨“𝑋𝑌𝑍”⟩(cgrA‘𝐺)⟨“𝐴𝐵𝐶”⟩)       (𝜑 → ⟨“𝐴𝐵𝐶”⟩ ∈ (∟G‘𝐺))
 
13-Jul-2026mirlni 29009 The mirror of a point 𝑋 on a line (𝑌𝐿𝑍) is on the mirrored line ((𝑀𝑌)𝐿(𝑀𝑍)). (Contributed by Thierry Arnoux, 13-Jul-2026.)
𝑃 = (Base‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝑆 = (pInvG‘𝐺)    &   𝑀 = (𝑆𝐴)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝐴𝑃)    &   (𝜑𝑋𝑃)    &   (𝜑𝑌𝑃)    &   (𝜑𝑍𝑃)    &   (𝜑𝑍𝑌)    &   (𝜑𝑋 ∈ (𝑌𝐿𝑍))       (𝜑 → (𝑀𝑋) ∈ ((𝑀𝑌)𝐿(𝑀𝑍)))
 
13-Jul-2026mirleqb 29008 Equality theorem for point mirroring. (Contributed by Thierry Arnoux, 13-Jul-2026.)
𝑃 = (Base‘𝐺)    &   𝑆 = (pInvG‘𝐺)    &   𝑀 = (𝑆𝐴)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝐴𝑃)    &   (𝜑𝑋𝑃)    &   (𝜑𝑌𝑃)       (𝜑 → (𝑋 = 𝑌 ↔ (𝑀𝑋) = (𝑀𝑌)))
 
13-Jul-2026hlgrcl2 28910 Reverse closure for rays. (Contributed by Thierry Arnoux, 13-Jul-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐾 = (hlG‘𝐺)    &   (𝜑𝐺𝑉)    &   (𝜑𝐶𝑃)    &   (𝜑𝐴(𝐾𝐶)𝐵)       (𝜑𝐵𝑃)
 
13-Jul-2026hlgrcl1 28909 Reverse closure for rays. (Contributed by Thierry Arnoux, 13-Jul-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐾 = (hlG‘𝐺)    &   (𝜑𝐺𝑉)    &   (𝜑𝐶𝑃)    &   (𝜑𝐴(𝐾𝐶)𝐵)       (𝜑𝐴𝑃)
 
13-Jul-2026ishlg2 28908 Alternate version of ishlg 28911, including closure. (Contributed by Thierry Arnoux, 13-Jul-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐾 = (hlG‘𝐺)    &   (𝜑𝐺𝑉)    &   (𝜑𝐶𝑃)       (𝜑 → (𝐴(𝐾𝐶)𝐵 ↔ ((𝐴𝑃𝐵𝑃) ∧ (𝐴𝐶𝐵𝐶 ∧ (𝐴 ∈ (𝐶𝐼𝐵) ∨ 𝐵 ∈ (𝐶𝐼𝐴))))))
 
13-Jul-2026eldifsnbd 4759 Membership in a set with an element removed implies non-equality with that element. (Contributed by Thierry Arnoux, 13-Jul-2026.)
(𝜑𝐴 ∈ (𝐵 ∖ {𝐶}))       (𝜑𝐴𝐶)
 
13-Jul-2026nrmod 3848 Deduce the negation of a restricted "at most one" quantifier. (Contributed by Thierry Arnoux, 13-Jul-2026.)
(𝑥 = 𝑋 → (𝜓𝜒))    &   (𝑥 = 𝑌 → (𝜓𝜃))    &   (𝜑𝑋𝐴)    &   (𝜑𝑌𝐴)    &   (𝜑𝜒)    &   (𝜑𝜃)    &   (𝜑𝑋𝑌)       (𝜑 → ¬ ∃*𝑥𝐴 𝜓)
 
13-Jul-20263orim123da 1473 Disjoin antecedents and consequents of three premises. (Contributed by Thierry Arnoux, 13-Jul-2026.)
(𝜑 → (𝜓𝜃𝜂))    &   ((𝜑𝜓) → 𝜒)    &   ((𝜑𝜃) → 𝜏)    &   ((𝜑𝜂) → 𝜁)       (𝜑 → (𝜒𝜏𝜁))
 
12-Jul-2026rals-no-surprise 50626 Demonstrate that there is never a "surprise" when using the allsome quantifier restricted to a class, that is, it is never possible for the consequent to be both always true and always false of the members of 𝐴 that satisfy the antecedent. This is the restricted counterpart of als-no-surprise 50625, and follows from it by dfrals2 50609. Note that this needs no assumption that 𝐴 is nonempty, because allsome requires a member of 𝐴 satisfying 𝜑, and that member would have to satisfy both 𝜓 and ¬ 𝜓. The ordinary restricted "for all" requires no such member and can be vacuously true, as shown in empty-surprise2 50602; that is the point of allsome. (Contributed by David A. Wheeler, 12-Jul-2026.)
¬ (∀∃𝑥𝐴(𝜑𝜓) ∧ ∀∃𝑥𝐴(𝜑 → ¬ 𝜓))
 
12-Jul-2026cbvals 50624 Rule used to change bound variables, using implicit substitution. (Contributed by David A. Wheeler, 12-Jul-2026.)
(𝑥 = 𝑦 → (𝜑𝜒))    &   (𝑥 = 𝑦 → (𝜓𝜃))       (∀∃𝑥(𝜑𝜓) ↔ ∀∃𝑦(𝜒𝜃))
 
12-Jul-2026nfrals 50623 Bound-variable hypothesis builder for "all some" restricted to a class. (Contributed by David A. Wheeler, 12-Jul-2026.)
𝑥𝐴    &   𝑥𝜑    &   𝑥𝜓       𝑥∀∃𝑦𝐴(𝜑𝜓)
 
12-Jul-2026nfals 50622 Bound-variable hypothesis builder for "all some". (Contributed by David A. Wheeler, 12-Jul-2026.)
𝑥𝜑    &   𝑥𝜓       𝑥∀∃𝑦(𝜑𝜓)
 
12-Jul-2026alsbid 50621 Deduction form of alsbii 50619. (Contributed by David A. Wheeler, 12-Jul-2026.)
𝑥𝜑    &   (𝜑 → (𝜓𝜃))    &   (𝜑 → (𝜒𝜏))       (𝜑 → (∀∃𝑥(𝜓𝜒) ↔ ∀∃𝑥(𝜃𝜏)))
 
12-Jul-2026ralsbii 50620 Congruence for "all some" restricted to a class. (Contributed by David A. Wheeler, 12-Jul-2026.)
(𝜑𝜒)    &   (𝜓𝜃)       (∀∃𝑥𝐴(𝜑𝜓) ↔ ∀∃𝑥𝐴(𝜒𝜃))
 
12-Jul-2026alsbii 50619 Congruence: equivalents may be substituted inside an "all some". (Contributed by David A. Wheeler, 12-Jul-2026.)
(𝜑𝜒)    &   (𝜓𝜃)       (∀∃𝑥(𝜑𝜓) ↔ ∀∃𝑥(𝜒𝜃))
 
12-Jul-2026ralsex 50618 The consequent of an "all some" restricted to a class is witnessed: some member of 𝐴 satisfying 𝜑 also satisfies 𝜓. Restricted counterpart of alsex 50617. (Contributed by David A. Wheeler, 12-Jul-2026.)
(∀∃𝑥𝐴(𝜑𝜓) → ∃𝑥𝐴 𝜓)
 
12-Jul-2026alsex 50617 The consequent of an "all some" is witnessed: if 𝜓 holds of every 𝑥 satisfying 𝜑, and some 𝑥 satisfies 𝜑, then some 𝑥 satisfies 𝜓. This is the positive counterpart of als-no-surprise 50625, and it is the property that ordinary "for all" with implication lacks: from 𝑥(𝜑𝜓) alone nothing whatever follows about 𝜓, as alimp-surprise 50599 shows. It is the reason the allsome quantifier says what a speaker of "all Martians are green" usually means. (Contributed by David A. Wheeler, 12-Jul-2026.)
(∀∃𝑥(𝜑𝜓) → ∃𝑥𝜓)
 
12-Jul-2026ralsn0d 50616 Deduction rule: Given "all some" applied to a class, the class is not the empty set. (Contributed by David A. Wheeler, 23-Oct-2018.) (Revised by David A. Wheeler, 12-Jul-2026.)
(𝜑 → ∀∃𝑥𝐴(𝜓𝜒))       (𝜑𝐴 ≠ ∅)
 
12-Jul-2026rals2d 50615 Deduction rule: Given "all some" applied to a class, you can extract the "there exists" part. Note that the witness must satisfy the antecedent 𝜓, not merely be a member of 𝐴. (Contributed by David A. Wheeler, 20-Oct-2018.) (Revised by David A. Wheeler, 12-Jul-2026.)
(𝜑 → ∀∃𝑥𝐴(𝜓𝜒))       (𝜑 → ∃𝑥𝐴 𝜓)
 
12-Jul-2026rals1d 50614 Deduction rule: Given "all some" applied to a class, you can extract the "for all" part. (Contributed by David A. Wheeler, 20-Oct-2018.) (Revised by David A. Wheeler, 12-Jul-2026.)
(𝜑 → ∀∃𝑥𝐴(𝜓𝜒))       (𝜑 → ∀𝑥𝐴 (𝜓𝜒))
 
12-Jul-2026ralsd 50611 Introduction rule for "all some" restricted to a class. This is the converse of rals1d 50614 and rals2d 50615 taken together. (Contributed by David A. Wheeler, 12-Jul-2026.)
(𝜑 → ∀𝑥𝐴 (𝜓𝜒))    &   (𝜑 → ∃𝑥𝐴 𝜓)       (𝜑 → ∀∃𝑥𝐴(𝜓𝜒))
 
12-Jul-2026alsd 50610 Introduction rule: "all some" holds if the "for all" part holds and the antecedent has a witness. This is the converse of als1d 50612 and als2d 50613 taken together, and is what lets an "all some" statement be proved rather than merely taken apart. (Contributed by David A. Wheeler, 12-Jul-2026.)
(𝜑 → ∀𝑥(𝜓𝜒))    &   (𝜑 → ∃𝑥𝜓)       (𝜑 → ∀∃𝑥(𝜓𝜒))
 
12-Jul-2026dfrals2 50609 The bounded "all some" form is the general form with the class membership folded into the antecedent. (Contributed by David A. Wheeler, 22-Oct-2018.) (Revised by David A. Wheeler, 12-Jul-2026.)
(∀∃𝑥𝐴(𝜑𝜓) ↔ ∀∃𝑥((𝑥𝐴𝜑) → 𝜓))
 
12-Jul-2026df-rals 50608 Define "all some" applied to a class, which means 𝜓 is true whenever 𝜑 is true for 𝑥 in 𝐴, and there is at least one 𝑥 in 𝐴 where 𝜑 is true.

An older definition of the "all some" quantifier when scoped to a class, named df-alsc and now removed, instead applied a bare formula 𝜑 to the members of a class, asserting only (∀𝑥𝐴𝜑 ∧ ∃𝑥𝑥𝐴), that is, that the formula held throughout 𝐴 and that 𝐴 had at least one member. I've now decided that that was a mistake. Its older existence conjunct 𝑥𝑥𝐴 did not require any member of 𝐴 to satisfy the antecedent, so if the formula was itself an implication, that inner implication could still be vacuously true, which is precisely what the allsome quantifier exists to prevent. For example, the older definition meant that "among Martians, all tall ones are green" could be considered true if there are Martians, but no tall Martians. This version of the definition instead ensures that claims of the form "among Martians, all tall ones are green" can only be true if all tall Martians are green and that there is at least one tall Martian. (Contributed by David A. Wheeler, 20-Oct-2018.) (Revised by David A. Wheeler, 12-Jul-2026.)

(∀∃𝑥𝐴(𝜑𝜓) ↔ (∀𝑥𝐴 (𝜑𝜓) ∧ ∃𝑥𝐴 𝜑))
 
12-Jul-2026wrals 50606 Extend wff definition to include "all some" applied to a class, which means 𝜓 is true whenever 𝜑 is true for 𝑥 in 𝐴, and there is at least one 𝑥 in 𝐴 where 𝜑 is true. (Contributed by David A. Wheeler, 20-Oct-2018.) (Revised by David A. Wheeler, 12-Jul-2026.)
wff ∀∃𝑥𝐴(𝜑𝜓)
 
12-Jul-2026wals 50605 Extend wff definition to include "all some" applied to a top-level implication, which means 𝜓 is true whenever 𝜑 is true, and there is at least one 𝑥 where 𝜑 is true. (Contributed by David A. Wheeler, 20-Oct-2018.) (Revised by David A. Wheeler, 12-Jul-2026.)
wff ∀∃𝑥(𝜑𝜓)
 
12-Jul-2026idomnzd 49152 A domain has no zero-divisors (besides zero). (Contributed by Jeff Madsen, 19-Jun-2010.) (Revised by AV, 12-Jul-2026.)
𝐵 = (Base‘𝑅)    &    · = (.r𝑅)    &    0 = (0g𝑅)       ((𝑅 ∈ IDomn ∧ (𝑋𝐵𝑌𝐵 ∧ (𝑋 · 𝑌) = 0 )) → (𝑋 = 0𝑌 = 0 ))
 
12-Jul-2026isidom3 49151 The predicate "is a domain", alternate expression. (Contributed by Jeff Madsen, 19-Jun-2010.) (Revised by AV, 12-Jul-2026.)
𝐵 = (Base‘𝑅)    &    · = (.r𝑅)    &    0 = (0g𝑅)    &    1 = (1r𝑅)       (𝑅 ∈ IDomn ↔ (𝑅 ∈ CRing ∧ 01 ∧ ∀𝑎𝐵𝑏𝐵 ((𝑎 · 𝑏) = 0 → (𝑎 = 0𝑏 = 0 ))))
 
12-Jul-2026bj-vn0ALT 37749 Alternate proof of vn0 4301 which does not use eqabbw 2839 (and is shorter than vn0 4301 when eqabbw 2839 is inlined). (Contributed by BJ, 12-Jul-2026.) Using the same dummy variable for 𝑦 and 𝑧 slightly reduces the proof size. (Proof modification is discouraged.) (New usage is discouraged.)
V ≠ ∅
 
12-Jul-2026cmprmidlmcl 21512 The complement of a prime ideal is multiplicatively closed. (Contributed by Jeff Madsen, 17-Jun-2011.) (Revised by AV, 12-Jul-2026.)
𝐵 = (Base‘𝑅)    &    · = (.r𝑅)       (((𝑅 ∈ CRing ∧ 𝑃 ∈ (PrmIdeal‘𝑅)) ∧ (𝐼 ∈ (𝐵𝑃) ∧ 𝐽 ∈ (𝐵𝑃))) → (𝐼 · 𝐽) ∈ (𝐵𝑃))
 
12-Jul-2026prmidlc2 21511 Property of a prime ideal in a commutative ring. (Contributed by Jeff Madsen, 17-Jun-2011.) (Revised by AV, 12-Jul-2026.)
𝐵 = (Base‘𝑅)    &    · = (.r𝑅)       (((𝑅 ∈ CRing ∧ 𝑃 ∈ (PrmIdeal‘𝑅)) ∧ (𝐼 ∈ (𝐵𝑃) ∧ 𝐽𝐵 ∧ (𝐼 · 𝐽) ∈ 𝑃)) → 𝐽𝑃)
 
12-Jul-2026rspsn0 21409 A principal ideal (an ideal generated by one element) in a ring. (Contributed by Jeff Madsen, 10-Jun-2010.) (Revised by AV, 12-Jul-2026.)
𝐵 = (Base‘𝑅)    &    · = (.r𝑅)    &   𝐾 = (RSpan‘𝑅)       ((𝑅 ∈ Ring ∧ 𝑋𝐵) → (𝐾‘{𝑋}) = {𝑖𝐵 ∣ ∃𝑥𝐵 𝑖 = (𝑥 · 𝑋)})
 
12-Jul-2026nvpss 4373 No class strictly includes the universal class. Dual of npss0 4371. (Contributed by BJ, 12-Jul-2026.)
¬ V ⊊ 𝐴
 
12-Jul-2026vvin 4369 Two classes are both the universal class if and only if their intersection is the universal class. Dual of un00 4367. (Contributed by BJ, 12-Jul-2026.)
((𝐴 = V ∧ 𝐵 = V) ↔ (𝐴𝐵) = V)
 
12-Jul-2026vn0 4301 The universal class is not equal to the empty set. (Contributed by NM, 11-Sep-2008.) Avoid ax-8 2148, df-clel 2841. (Revised by GG, 6-Sep-2024.) (Proof shortened by BJ, 12-Jul-2026.)
V ≠ ∅
 
10-Jul-202625or6to4 43014 Question 67 of 68 from a lecture Prof. Loof Lirpa held last Saturday in Lincoln Park. When asked why the smaller root wasn't reduced to 3/2, Lirpa responded "It really doesn't matter anyhow." (Contributed by Luke Murphy, 10-Jul-2026.)
(𝜑𝐴 = 1)    &   (𝜑𝐵 = -(53 / 2))    &   (𝜑𝐶 = (75 / 2))    &   (𝜑𝑋 ∈ ℂ)       (𝜑 → (((𝐴 · (𝑋↑2)) + ((𝐵 · 𝑋) + 𝐶)) = 0 ↔ (𝑋 = 25 ∨ 𝑋 = (6 / 4))))
 
10-Jul-2026quadfac 43013 The solution of a quadratic equation via factoring. (Contributed by Luke Murphy, 10-Jul-2026.)
(𝜑𝐴 ∈ ℂ)    &   (𝜑𝐴 ≠ 0)    &   (𝜑𝐵 ∈ ℂ)    &   (𝜑𝐶 ∈ ℂ)    &   (𝜑𝑋 ∈ ℂ)    &   (𝜑𝑀 ∈ ℂ)    &   (𝜑𝑁 ∈ ℂ)    &   (𝜑 → (𝑀 + 𝑁) = -(𝐵 / 𝐴))    &   (𝜑 → (𝑀 · 𝑁) = (𝐶 / 𝐴))       (𝜑 → (((𝐴 · (𝑋↑2)) + ((𝐵 · 𝑋) + 𝐶)) = 0 ↔ (𝑋 = 𝑀𝑋 = 𝑁)))
 
10-Jul-2026nelscottrankgt 35543 If a member of the input set is not a member of the Scott's trick set, then its rank is greater than the rank of a member of the Scott's trick set. (Contributed by BTernaryTau, 10-Jul-2026.)
((𝐴 ∈ Scott 𝐵𝐶𝐵 ∧ ¬ 𝐶 ∈ Scott 𝐵) → (rank‘𝐴) ∈ (rank‘𝐶))
 
10-Jul-2026scottrankeqel 35542 If a member of the input set has the same rank as a member of the Scott's trick set, then it is also a member of the Scott's trick set. (Contributed by BTernaryTau, 10-Jul-2026.)
((𝐴 ∈ Scott 𝐵𝐶𝐵 ∧ (rank‘𝐶) = (rank‘𝐴)) → 𝐶 ∈ Scott 𝐵)
 
10-Jul-2026elscott2 35538 Membership in a Scott's trick set. (Contributed by BTernaryTau, 10-Jul-2026.)
(𝐴 ∈ Scott 𝐵 ↔ (𝐴𝐵 ∧ (rank‘𝐴) = (rank “ 𝐵)))
 
10-Jul-2026dfscott3 35537 Alternate definition of a Scott's trick set. (Contributed by BTernaryTau, 10-Jul-2026.)
Scott 𝐴 = (𝐴 ∩ (𝑅1‘suc (rank “ 𝐴)))
 
10-Jul-2026imadifssran 6207 Condition for the range of a class to be the range of one of its restrictions. (Contributed by AV, 4-Oct-2025.) Remove antecedent. (Revised by Eric Schmidt, 10-Jul-2026.)
((𝐹 “ (dom 𝐹𝐴)) ⊆ ran (𝐹𝐴) → ran 𝐹 = ran (𝐹𝐴))
 
9-Jul-2026elscottrankeq 35540 Elements in a Scott's trick set have the same rank. (Contributed by BTernaryTau, 9-Jul-2026.)
((𝐴 ∈ Scott 𝐶𝐵 ∈ Scott 𝐶) → (rank‘𝐴) = (rank‘𝐵))
 
8-Jul-2026rankscott 35546 The rank of a nonempty Scott's trick set. (Contributed by BTernaryTau, 8-Jul-2026.)
(𝐴 ≠ ∅ → (rank‘Scott 𝐴) = suc (rank “ 𝐴))
 
8-Jul-2026elscottrank 35539 The rank of an element in a Scott's trick set. (Contributed by BTernaryTau, 8-Jul-2026.)
(𝐴 ∈ Scott 𝐵 → (rank‘𝐴) = (rank “ 𝐵))
 
8-Jul-2026dfscott2 35536 Alternate definition of a Scott's trick set. (Contributed by BTernaryTau, 8-Jul-2026.)
Scott 𝐴 = {𝑥𝐴 ∣ (rank‘𝑥) = (rank “ 𝐴)}
 
7-Jul-2026hashomiso 45775 The function yields an order isomorphism between ω and 0. (Contributed by Eric Schmidt, 7-Jul-2026.)
(♯ ↾ ω) Isom E , < (ω, ℕ0)
 
7-Jul-2026hashomf1o 45774 The function yields a bijection from ω to 0. (Contributed by Eric Schmidt, 7-Jul-2026.)
(♯ ↾ ω):ω–1-1-onto→ℕ0
 
7-Jul-2026hashnnltb 45773 The function on ω preserves the ordering. (Contributed by Eric Schmidt, 7-Jul-2026.)
((𝐴 ∈ ω ∧ 𝐵 ∈ ω) → (𝐴𝐵 ↔ (♯‘𝐴) < (♯‘𝐵)))
 
7-Jul-2026hashnnlt 45772 The function on ω preserves the ordering. (Contributed by Eric Schmidt, 7-Jul-2026.)
((𝐴 ∈ ω ∧ 𝐵𝐴) → (♯‘𝐵) < (♯‘𝐴))
 
7-Jul-2026hashnnm 45771 The function on ω preserves multiplication. (Contributed by Eric Schmidt, 7-Jul-2026.)
((𝐴 ∈ ω ∧ 𝐵 ∈ ω) → (♯‘(𝐴 ·o 𝐵)) = ((♯‘𝐴) · (♯‘𝐵)))
 
7-Jul-2026hashnnsuc 45770 The function on ω turns successor into adding 1. (Contributed by Eric Schmidt, 7-Jul-2026.)
(𝐴 ∈ ω → (♯‘suc 𝐴) = ((♯‘𝐴) + 1))
 
7-Jul-2026hashnna 45769 The function on ω preserves addition. (Contributed by Eric Schmidt, 7-Jul-2026.)
((𝐴 ∈ ω ∧ 𝐵 ∈ ω) → (♯‘(𝐴 +o 𝐵)) = ((♯‘𝐴) + (♯‘𝐵)))
 
7-Jul-2026kardexen 35600 One set is equinumerous to another iff an element in its kard cardinality is equinumerous to an element in the second set's kard cardinality. See kardeng 35594 for a version with equality of cardinals. (Contributed by BTernaryTau, 7-Jul-2026.)
(𝐴𝐵 ↔ ∃𝑥 ∈ (kard‘𝐴)∃𝑦 ∈ (kard‘𝐵)𝑥𝑦)
 
6-Jul-2026kardsdom 35599 One set strictly dominates another iff an element in its kard cardinality strictly dominates an element in the second set's kard cardinality. (Contributed by BTernaryTau, 6-Jul-2026.)
(𝐴𝐵 ↔ ∃𝑥 ∈ (kard‘𝐴)∃𝑦 ∈ (kard‘𝐵)𝑥𝑦)
 
5-Jul-2026prlngeu 29242 Given a line 𝐴 and a point 𝑋 not on 𝐴, a unique line parallel to 𝐴 can be drawn through 𝑋. Theorem 12.13 of [Schwabhauser] p. 124. (Contributed by Thierry Arnoux, 5-Jul-2026.)
𝑃 = (Base‘𝐺)    &   𝐿 = (LineG‘𝐺)    &    = (parlnG‘𝐺)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝐴 ∈ ran 𝐿)    &   (𝜑𝑋 ∈ (𝑃𝐴))    &   (𝜑𝐺 ∈ TarskiGE)       (𝜑 → ∃!𝑏 ∈ ran 𝐿(𝐴 𝑏𝑋𝑏))
 
5-Jul-2026prlngmo 29241 Playfair's axiom. Given a line 𝐴 and a point 𝑋 not on 𝐴, at most one line parallel to 𝐴 can be drawn through 𝑋. Theorem 12.11 of [Schwabhauser] p. 123. Note that this is the first instance of a theorem where the geometry is required to be Euclidean, as expressed by 𝐺 ∈ TarskiGE. Theorem A10 of [Schwabhauser] p. 24 is used, in the form of axtgeucl 28778, in the proof of prlngmolem1 29239. See prlngex 29238 for the corresponding existence theorem. (Contributed by Thierry Arnoux, 5-Jul-2026.)
𝑃 = (Base‘𝐺)    &   𝐿 = (LineG‘𝐺)    &    = (parlnG‘𝐺)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝐴 ∈ ran 𝐿)    &   (𝜑𝑋 ∈ (𝑃𝐴))    &   (𝜑𝐺 ∈ TarskiGE)       (𝜑 → ∃*𝑏 ∈ ran 𝐿(𝐴 𝑏𝑋𝑏))
 
5-Jul-2026prlngmolem2 29240 Lemma for prlngmo 29241. (Contributed by Thierry Arnoux, 5-Jul-2026.)
𝑃 = (Base‘𝐺)    &   𝐿 = (LineG‘𝐺)    &    = (parlnG‘𝐺)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝐴 ∈ ran 𝐿)    &   (𝜑𝑋 ∈ (𝑃𝐴))    &   (𝜑𝐺 ∈ TarskiGE)    &   𝑂 = {⟨𝑥, 𝑦⟩ ∣ ((𝑥 ∈ (𝑃𝑏) ∧ 𝑦 ∈ (𝑃𝑏)) ∧ ∃𝑟𝑏 𝑟 ∈ (𝑥(Itv‘𝐺)𝑦))}    &   𝑄 = {⟨𝑥, 𝑦⟩ ∣ ((𝑥 ∈ (𝑃𝐴) ∧ 𝑦 ∈ (𝑃𝐴)) ∧ ∃𝑠𝐴 𝑠 ∈ (𝑥(Itv‘𝐺)𝑦))}       (𝜑 → ∃*𝑏 ∈ ran 𝐿(𝐴 𝑏𝑋𝑏))
 
5-Jul-2026prlngmolem1 29239 Lemma for prlngmo 29241: Contradiction: Assuming two different parallels 𝐵 and 𝐶 having a common point 𝑋 exist to a line 𝐴, the geometry cannot be Euclidean (Contributed by Thierry Arnoux, 5-Jul-2026.)
𝑃 = (Base‘𝐺)    &   𝐿 = (LineG‘𝐺)    &    = (parlnG‘𝐺)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝐴 ∈ ran 𝐿)    &   (𝜑𝑋 ∈ (𝑃𝐴))    &   𝑂 = {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ (𝑃𝐵) ∧ 𝑏 ∈ (𝑃𝐵)) ∧ ∃𝑦𝐵 𝑦 ∈ (𝑎𝐼𝑏))}    &   𝑄 = {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ (𝑃𝐴) ∧ 𝑏 ∈ (𝑃𝐴)) ∧ ∃𝑤𝐴 𝑤 ∈ (𝑎𝐼𝑏))}    &   𝐼 = (Itv‘𝐺)    &   (𝜑𝐵 ∈ ran 𝐿)    &   (𝜑𝐶 ∈ ran 𝐿)    &   (𝜑𝐴 𝐵)    &   (𝜑𝐴 𝐶)    &   (𝜑𝑋𝐵)    &   (𝜑𝑋𝐶)    &   (𝜑𝑇𝐴)    &   (𝜑𝑊 ∈ (𝐶𝐵))    &   (𝜑𝐵𝐶)    &   (𝜑𝑊𝑂𝑇)       (𝜑 → ¬ 𝐺 ∈ TarskiGE)
 
5-Jul-2026prlngex 29238 There exists at least one parallel line 𝑏 to a given line 𝐴 through a given point 𝑋. Theorem 12.10 of [Schwabhauser] p. 122. (Contributed by Thierry Arnoux, 5-Jul-2026.)
𝑃 = (Base‘𝐺)    &   𝐿 = (LineG‘𝐺)    &    = (parlnG‘𝐺)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝐴 ∈ ran 𝐿)    &   (𝜑𝑋𝑃)       (𝜑 → ∃𝑏 ∈ ran 𝐿(𝐴 𝑏𝑋𝑏))
 
5-Jul-2026perpprlng 29237 If two lines 𝐴 and 𝐵 have a common perpendicular 𝐶 and lie in the same plane 𝐻, then they are parallel. Theorem 12.9 of [Schwabhauser] p. 122. (Contributed by Thierry Arnoux, 5-Jul-2026.)
𝑃 = (Base‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &    = (parlnG‘𝐺)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝐻 ∈ ran 𝐸)    &   (𝜑𝐴𝐻)    &   (𝜑𝐵𝐻)    &   (𝜑𝐶𝐻)    &   (𝜑𝐴(⟂G‘𝐺)𝐶)    &   (𝜑𝐵(⟂G‘𝐺)𝐶)       (𝜑𝐴 𝐵)
 
5-Jul-2026prlngpln3 29236 Two parallel lines are on a common plane. (Contributed by Thierry Arnoux, 5-Jul-2026.)
𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &    = (parlnG‘𝐺)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝐴 𝐵)    &   (𝜑𝐴𝐵)    &   (𝜑𝑋𝐵)       (𝜑𝐵 ⊆ (𝐴𝐸𝑋))
 
5-Jul-2026prlnghpg 29233 If two lines 𝐴 and 𝐵 are parallel, then any two points 𝑋 and 𝑌 of 𝐵 lie on the same half-plane limited by 𝐴. Theorem 12.6 of [Schwabhauser] p. 122. . (Contributed by Thierry Arnoux, 5-Jul-2026.)
𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &    = (parlnG‘𝐺)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝐴 𝐵)    &   (𝜑𝐴𝐵)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)       (𝜑𝑋((hpG‘𝐺)‘𝐴)𝑌)
 
5-Jul-2026prlngpln 29232 Two parallel lines are on a common plane. (Contributed by Thierry Arnoux, 5-Jul-2026.)
𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &    = (parlnG‘𝐺)    &   (𝜑𝐺𝑉)    &   (𝜑𝐴 𝐵)    &   (𝜑𝐴𝐵)       (𝜑 → ∃ ∈ ran 𝐸(𝐴𝐵))
 
5-Jul-2026prlngin0 29231 Two parallel lines do not intersect. (Contributed by Thierry Arnoux, 5-Jul-2026.)
𝐿 = (LineG‘𝐺)    &    = (parlnG‘𝐺)    &   (𝜑𝐺𝑉)    &   (𝜑𝐴 𝐵)    &   (𝜑𝐴𝐵)       (𝜑 → (𝐴𝐵) = ∅)
 
5-Jul-2026prlngrcl2 29230 Reverse closure for parallelism. (Contributed by Thierry Arnoux, 5-Jul-2026.)
𝐿 = (LineG‘𝐺)    &    = (parlnG‘𝐺)    &   (𝜑𝐺𝑉)    &   (𝜑𝐴 𝐵)       (𝜑𝐵 ∈ ran 𝐿)
 
5-Jul-2026prlngrcl1 29229 Reverse closure for parallelism. (Contributed by Thierry Arnoux, 5-Jul-2026.)
𝐿 = (LineG‘𝐺)    &    = (parlnG‘𝐺)    &   (𝜑𝐺𝑉)    &   (𝜑𝐴 𝐵)       (𝜑𝐴 ∈ ran 𝐿)
 
5-Jul-2026perpeq 29188 Uniqueness of the perpendicular to a line 𝐴 within a plane 𝐻 at a point 𝑋. Theorem 11.20 of [Schwabhauser] p. 99. (Contributed by Thierry Arnoux, 5-Jul-2026.)
𝑃 = (Base‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝐴 ∈ ran 𝐿)    &   (𝜑𝐻 ∈ ran 𝐸)    &   (𝜑𝑋𝐴)    &   (𝜑𝐴𝐻)    &   (𝜑𝑌𝐻)    &   (𝜑𝑍𝐻)    &   (𝜑 → (𝑋𝐿𝑌)(⟂G‘𝐺)𝐴)    &   (𝜑 → (𝑋𝐿𝑍)(⟂G‘𝐺)𝐴)       (𝜑 → (𝑋𝐿𝑌) = (𝑋𝐿𝑍))
 
5-Jul-2026perpeqlem 29187 Lemma for perpeq 29188. (Contributed by Thierry Arnoux, 5-Jul-2026.)
𝑃 = (Base‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝐴 ∈ ran 𝐿)    &   (𝜑𝐻 ∈ ran 𝐸)    &   (𝜑𝑋𝐴)    &   (𝜑𝐴𝐻)    &   (𝜑𝑌𝐻)    &   (𝜑𝑍𝐻)    &   (𝜑 → (𝑋𝐿𝑌)(⟂G‘𝐺)𝐴)    &   (𝜑 → (𝑋𝐿𝑍)(⟂G‘𝐺)𝐴)    &   (𝜑𝑌((hpG‘𝐺)‘𝐴)𝑍)       (𝜑 → (𝑋𝐿𝑌) = (𝑋𝐿𝑍))
 
5-Jul-2026ragraghl 29186 Drawing two right angles at a point 𝑋 on the same side of a line (𝑋𝐿𝑌) leads to points 𝑊 and 𝑍 on the same ray from 𝑋. Theorem 11.19 of [Schwabhauser] p. 99. (Contributed by Thierry Arnoux, 5-Jul-2026.)
𝑃 = (Base‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝑋𝑃)    &   (𝜑𝑌𝑃)    &   (𝜑𝑍𝑃)    &   (𝜑𝑊𝑃)    &   (𝜑𝑋𝑌)    &   (𝜑 → ⟨“𝑌𝑋𝑍”⟩ ∈ (∟G‘𝐺))    &   (𝜑 → ⟨“𝑌𝑋𝑊”⟩ ∈ (∟G‘𝐺))    &   (𝜑𝑍((hpG‘𝐺)‘(𝑌𝐿𝑋))𝑊)       (𝜑𝑍((hlG‘𝐺)‘𝑋)𝑊)
 
5-Jul-2026ragcgra 29183 Right angles are congruent with each other. Theorem 11.16 of [Schwabhauser] p. 98. (Contributed by Thierry Arnoux, 5-Jul-2026.)
𝑃 = (Base‘𝐺)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝑋𝑃)    &   (𝜑𝑌𝑃)    &   (𝜑𝑍𝑃)    &   (𝜑𝐴𝑃)    &   (𝜑𝐵𝑃)    &   (𝜑𝐶𝑃)    &   (𝜑 → ⟨“𝑋𝑌𝑍”⟩ ∈ (∟G‘𝐺))    &   (𝜑 → ⟨“𝐴𝐵𝐶”⟩ ∈ (∟G‘𝐺))    &   (𝜑𝐴𝐵)    &   (𝜑𝐵𝐶)    &   (𝜑𝑋𝑌)    &   (𝜑𝑌𝑍)       (𝜑 → ⟨“𝑋𝑌𝑍”⟩(cgrA‘𝐺)⟨“𝐴𝐵𝐶”⟩)
 
5-Jul-2026nhpmirhp 29117 If a point 𝑍 is on the plane defined by a line 𝐴 and a point 𝑌, but not on the same half-plane as 𝑌, then its mirror point (𝑀𝑍) by a point 𝑋 on 𝐴 is on the same half-plane as 𝑌. (Contributed by Thierry Arnoux, 5-Jul-2026.)
𝑃 = (Base‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝑆 = (pInvG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &   𝑀 = (𝑆𝑋)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝐴 ∈ ran 𝐿)    &   (𝜑𝑋𝐴)    &   (𝜑𝑌 ∈ (𝑃𝐴))    &   (𝜑𝑍 ∈ ((𝐴𝐸𝑌) ∖ 𝐴))    &   (𝜑 → ¬ 𝑌((hpG‘𝐺)‘𝐴)𝑍)       (𝜑𝑌((hpG‘𝐺)‘𝐴)(𝑀𝑍))
 
5-Jul-2026hpgssplng 29115 Any point 𝑋 on a half plane defined by a line 𝐴 and another point 𝑌 is on the plane defined by 𝐴 and 𝑌. (Contributed by Thierry Arnoux, 5-Jul-2026.)
𝑃 = (Base‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &   (𝜑𝐴 ∈ ran 𝐿)    &   (𝜑𝑋𝑃)    &   (𝜑𝑌 ∈ (𝑃𝐴))    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝑋((hpG‘𝐺)‘𝐴)𝑌)       (𝜑𝑋 ∈ (𝐴𝐸𝑌))
 
5-Jul-2026mirplncl 29114 The mirror of a point with regard to another point is in the same plane as the two points. (Contributed by Thierry Arnoux, 5-Jul-2026.)
𝑃 = (Base‘𝐺)    &   𝐸 = (hlG‘𝐺)    &   𝑆 = (pInvG‘𝐺)    &   𝑀 = (𝑆𝑋)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝐻 ∈ ran 𝐸)    &   (𝜑𝑋𝐻)    &   (𝜑𝑌𝐻)       (𝜑 → (𝑀𝑌) ∈ 𝐻)
 
5-Jul-2026plngmiropp 29113 Given a line 𝐴 and a point 𝑋 not on 𝐴, then a point 𝑌 on the plane defined by 𝐴 and 𝑋 is either opposite to 𝑋, or opposite to the mirror point of 𝑋 by any point 𝑍 of 𝐴. (Contributed by Thierry Arnoux, 5-Jul-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &   𝑆 = (pInvG‘𝐺)    &   𝑀 = (𝑆𝑍)    &   𝑂 = {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ (𝑃𝐴) ∧ 𝑏 ∈ (𝑃𝐴)) ∧ ∃𝑡𝐴 𝑡 ∈ (𝑎𝐼𝑏))}    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝐴 ∈ ran 𝐿)    &   (𝜑𝑋 ∈ (𝑃𝐴))    &   (𝜑𝑌 ∈ ((𝐴𝐸𝑋) ∖ 𝐴))    &   (𝜑𝑍𝐴)       (𝜑 → (𝑋𝑂𝑌 ∨ (𝑀𝑋)𝑂𝑌))
 
5-Jul-2026oppmir 29073 The mirror point with regard to a point 𝑋 on a line 𝐴 lies on the other side of 𝐴. (Contributed by Thierry Arnoux, 5-Jul-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝑆 = (pInvG‘𝐺)    &   𝑀 = (𝑆𝑋)    &   𝑂 = {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ (𝑃𝐴) ∧ 𝑏 ∈ (𝑃𝐴)) ∧ ∃𝑡𝐴 𝑡 ∈ (𝑎𝐼𝑏))}    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝐴 ∈ ran 𝐿)    &   (𝜑𝑋𝐴)    &   (𝜑𝑌 ∈ (𝑃𝐴))    &   𝐿 = (LineG‘𝐺)       (𝜑𝑌𝑂(𝑀𝑌))
 
5-Jul-2026perpin 29042 If two lines 𝐴 and 𝐵 are perpendicular, then they intersect. (Contributed by Thierry Arnoux, 5-Jul-2026.)
(𝜑𝐺 ∈ TarskiG)    &   (𝜑𝐴(⟂G‘𝐺)𝐵)       (𝜑 → (𝐴𝐵) ≠ ∅)
 
5-Jul-2026ecase33d 1504 Deduction for elimination by cases. (Contributed by Thierry Arnoux, 5-Jul-2026.)
(𝜑 → ¬ 𝜓)    &   (𝜑 → ¬ 𝜒)    &   (𝜑 → (𝜓𝜒𝜃))       (𝜑𝜃)
 
5-Jul-20263anasss 1380 Associative law for conjunction applied to antecedent (eliminates syllogism). Converse of 3anassrs 1381. (Contributed by Thierry Arnoux, 5-Jul-2026.)
((((𝜑𝜓) ∧ 𝜒) ∧ 𝜃) → 𝜏)       ((𝜑 ∧ (𝜓𝜒𝜃)) → 𝜏)
 
4-Jul-20261enumkard 35609 The Fundamental Theorem of Enumeration (see https://sites.math.rutgers.edu/~zeilberg/mamarim/mamarimPDF/enu.pdf), extended to all sets.

The expression 𝑥𝐴({𝑥} × 𝐵) can be thought of as expressing an indexed disjoint union 𝑥𝐴𝐵 where each 𝐵 has its elements tagged with the set 𝑥 that generated it. See the comment directly before undjudom 10170 for context on disjoint union as a representation of cardinal addition.

This theorem is not limited to numerable sets, but it also does not depend on AC. See 1enumen 35510 for a version that uses equinumerosity , 1enumcard 35511 for a version that uses the card function, and 1enum 35630 for a version that uses an explicit sum of complex number 1s.

(Contributed by BTernaryTau, 4-Jul-2026.)

(𝐴 ∈ V → (kard‘𝐴) = (kard‘ 𝑥𝐴 ({𝑥} × 1o)))
 
4-Jul-2026rankkardu 35608 An upper bound on the rank of a kard cardinal. (Contributed by BTernaryTau, 4-Jul-2026.)
(rank‘(kard‘𝐴)) ⊆ suc (rank‘𝐴)
 
4-Jul-2026karddom 35598 One set dominates another iff an element in its kard cardinality dominates an element in the second set's kard cardinality. (Contributed by BTernaryTau, 4-Jul-2026.)
(𝐴𝐵 ↔ ∃𝑥 ∈ (kard‘𝐴)∃𝑦 ∈ (kard‘𝐵)𝑥𝑦)
 
4-Jul-2026kardsn 35597 A singleton has cardinality one. (Contributed by BTernaryTau, 4-Jul-2026.)
(𝐴𝑉 → (kard‘{𝐴}) = (kard‘1o))
 
4-Jul-2026kardenir 35595 If two sets are equinumerous, then their kard cardinal numbers are equal. (Contributed by BTernaryTau, 4-Jul-2026.)
(𝐴𝐵 → (kard‘𝐴) = (kard‘𝐵))
 
4-Jul-2026rankscottu 35547 An upper bound on the rank of a Scott's trick set. (Contributed by BTernaryTau, 4-Jul-2026.)
(𝐴𝐵 → (rank‘Scott 𝐵) ⊆ suc (rank‘𝐴))
 
3-Jul-2026kardfi 35607 The kard cardinal number of a finite set is finite. (Contributed by BTernaryTau, 3-Jul-2026.)
(𝐴 ∈ Fin → (kard‘𝐴) ∈ Fin)
 
3-Jul-2026kardnnfi 35606 The kard cardinal number of a finite ordinal is finite. (Contributed by BTernaryTau, 3-Jul-2026.)
(𝐴 ∈ ω → (kard‘𝐴) ∈ Fin)
 
3-Jul-2026kardcard 35605 Two sets have equal kard cardinalities iff they have equal card cardinalities. This theorem depends on the Axiom of Choice. (Contributed by BTernaryTau, 3-Jul-2026.)
((𝐴𝑉𝐵𝑊) → ((kard‘𝐴) = (kard‘𝐵) ↔ (card‘𝐴) = (card‘𝐵)))
 
3-Jul-2026ackardcard 35604 The Axiom of Choice implies that two sets have equal kard cardinalities iff they have equal card cardinalities. (Contributed by BTernaryTau, 3-Jul-2026.)
(CHOICE → ((𝐴𝑉𝐵𝑊) → ((kard‘𝐴) = (kard‘𝐵) ↔ (card‘𝐴) = (card‘𝐵))))
 
3-Jul-2026kardcard2 35603 Two numerable sets have equal kard cardinalities iff they have equal card cardinalities. This theorem does not depend on the Axiom of Choice. (Contributed by BTernaryTau, 3-Jul-2026.)
((𝐴 ∈ dom card ∧ 𝐵 ∈ dom card) → ((kard‘𝐴) = (kard‘𝐵) ↔ (card‘𝐴) = (card‘𝐵)))
 
3-Jul-2026kardcard2b 35602 If two sets have equal kard cardinalities, then they have equal card cardinalities. This theorem does not depend on the Axiom of Choice. (Contributed by BTernaryTau, 3-Jul-2026.)
((kard‘𝐴) = (kard‘𝐵) → (card‘𝐴) = (card‘𝐵))
 
3-Jul-2026kardcard2a 35601 If two sets have equal nonzero card cardinalities, then they have equal kard cardinalities. This theorem does not depend on the Axiom of Choice. (Contributed by BTernaryTau, 3-Jul-2026.)
(((card‘𝐴) = (card‘𝐵) ∧ (card‘𝐴) ≠ ∅) → (kard‘𝐴) = (kard‘𝐵))
 
3-Jul-2026kard0b 35596 The empty set is the only set with cardinality zero. This is the kard version of cardeq0 10554. (Contributed by BTernaryTau, 3-Jul-2026.)
((kard‘𝐴) = (kard‘∅) ↔ 𝐴 = ∅)
 
3-Jul-2026kardeng 35594 Two sets are equinumerous iff their kard cardinal numbers are equal. Unlike carden 10553, this theorem does not depend on the Axiom of Choice, but it does depend on the Axiom of Regularity and the Axiom of Infinity. (Contributed by BTernaryTau, 3-Jul-2026.)
(𝐴𝑉 → ((kard‘𝐴) = (kard‘𝐵) ↔ 𝐴𝐵))
 
3-Jul-2026kardeq0 35593 Applying kard to a class yields the empty set iff the class is a proper class. (Contributed by BTernaryTau, 3-Jul-2026.)
((kard‘𝐴) = ∅ ↔ ¬ 𝐴 ∈ V)
 
3-Jul-2026elkarden 35592 Any member of the kard cardinal number of a set is equinumerous to the set. Contrast with cardne 9970 for card cardinals. (Contributed by BTernaryTau, 3-Jul-2026.)
(𝐴 ∈ (kard‘𝐵) → 𝐴𝐵)
 
3-Jul-2026kard0 35591 The kard cardinality of the empty set is the singleton of the empty set. (Contributed by BTernaryTau, 3-Jul-2026.)
(kard‘∅) = {∅}
 
3-Jul-2026kardval2 35590 The value of the kard function. This theorem depends on the Axiom of Regularity and the Axiom of Infinity, but it does not depend on the Axiom of Choice. See also kardval 35589. (Contributed by BTernaryTau, 3-Jul-2026.)
(kard‘𝐴) = {𝑥 ∣ (𝑥𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑥) ⊆ (rank‘𝑦)))}
 
3-Jul-2026kardval 35589 The value of the kard function. This theorem depends on the Axiom of Regularity and the Axiom of Infinity, but it does not depend on the Axiom of Choice. See also kardval2 35590. (Contributed by BTernaryTau, 3-Jul-2026.)
(kard‘𝐴) = Scott {𝑥𝑥𝐴}
 
3-Jul-2026kardfn 35588 The kard class is a function on the universe. This theorem depends on the Axiom of Regularity and the Axiom of Infinity, but it does not depend on the Axiom of Choice. (Contributed by BTernaryTau, 3-Jul-2026.)
kard Fn V
 
3-Jul-2026acnum 35549 The Axiom of Choice implies that any set is numerable. (Contributed by BTernaryTau, 3-Jul-2026.)
(CHOICE → (𝐴𝑉𝐴 ∈ dom card))
 
3-Jul-2026scottssr1 35548 Relationship between a Scott's trick set and the cumulative hierarchy. (Contributed by BTernaryTau, 3-Jul-2026.)
(𝐴𝐵 → Scott 𝐵 ⊆ (𝑅1‘suc (rank‘𝐴)))
 
3-Jul-2026scott0bOLD 35545 Obsolete version of scott0b 9876 as of 18-Jul-2026. (Contributed by BTernaryTau, 3-Jul-2026.) (Proof modification is discouraged.) (New usage is discouraged.)
(𝐴 = ∅ ↔ Scott 𝐴 = ∅)
 
3-Jul-2026scottsn 35544 Applying Scott's trick to a singleton leaves it unchanged. (Contributed by BTernaryTau, 3-Jul-2026.)
Scott {𝐴} = {𝐴}
 
3-Jul-2026elscottrankss 35541 Relationship between the ranks of an element in a Scott's trick set and an element in the input set. (Contributed by BTernaryTau, 3-Jul-2026.)
((𝐴 ∈ Scott 𝐵𝐶𝐵) → (rank‘𝐴) ⊆ (rank‘𝐶))
 
3-Jul-2026elscott 35535 Membership in a Scott's trick set. (Contributed by BTernaryTau, 3-Jul-2026.)
(𝐴 ∈ Scott 𝐵 ↔ (𝐴𝐵 ∧ ∀𝑥𝐵 (rank‘𝐴) ⊆ (rank‘𝑥)))
 
3-Jul-2026scotteqi 35534 Equality theorem for the Scott operation. Inference form of scotteq 9870. (Contributed by BTernaryTau, 3-Jul-2026.)
𝐴 = 𝐵       Scott 𝐴 = Scott 𝐵
 
3-Jul-2026onrankid 35519 The rank of an ordinal number is itself. (Contributed by BTernaryTau, 3-Jul-2026.)
(𝐴 ∈ On ↔ (rank‘𝐴) = 𝐴)
 
3-Jul-2026scott0 9875 Applying Scott's trick to the empty set leaves it unchanged. (Contributed by BTernaryTau, 3-Jul-2026.)
Scott ∅ = ∅
 
2-Jul-2026df-kard 35587 Define the alternative cardinal number function. Under this definition, the cardinal number of a set is the set of all sets equinumerous to it and having the least possible rank. Definition of [Enderton] p. 222. See kardval 35589 for its value. The principal theorem relating this type of cardinality to equinumerosity is kardeng 35594. Our notation is from Enderton and differentiates this function from the standard cardinal size function defined in df-card 9944. (Contributed by BTernaryTau, 2-Jul-2026.)
kard = (𝑥 ∈ V ↦ Scott {𝑦𝑦𝑥})
 
30-Jun-2026isfieldidl2 21424 Determine if a ring is a field based on its ideals. (Contributed by Jeff Madsen, 6-Jan-2011.) (Revised by AV, 30-Jun-2026.)
𝐵 = (Base‘𝑅)    &    0 = (0g𝑅)    &   𝐼 = (LIdeal‘𝑅)       (𝑅 ∈ Field ↔ (𝑅 ∈ CRing ∧ 𝐵 ≠ { 0 } ∧ 𝐼 = {{ 0 }, 𝐵}))
 
30-Jun-2026isfieldidl 21423 Determine if a ring is a field based on its ideals. (Contributed by Jeff Madsen, 10-Jun-2010.) (Revised by AV, 30-Jun-2026.)
𝐵 = (Base‘𝑅)    &    0 = (0g𝑅)    &   𝐼 = (LIdeal‘𝑅)    &    1 = (1r𝑅)       (𝑅 ∈ Field ↔ (𝑅 ∈ CRing ∧ 01𝐼 = {{ 0 }, 𝐵}))
 
30-Jun-2026rspprop 21407 Properties of a class to be the ideal generated by a subset of a ring. (Contributed by Jeff Madsen, 10-Jun-2010.) (Revised by AV, 30-Jun-2026.)
𝐵 = (Base‘𝑅)    &   𝐼 = (LIdeal‘𝑅)    &   𝐾 = (RSpan‘𝑅)       ((𝑅 ∈ Ring ∧ 𝑆𝐵) → ((𝐾𝑆) = 𝑋 ↔ (𝑋𝐼𝑆𝑋 ∧ ∀𝑖𝐼 (𝑆𝑖𝑋𝑖))))
 
30-Jun-2026rspvalint 21406 The ideal generated by a subset of a ring as intersection of ideals including the subset. (Contributed by Jeff Madsen, 10-Jun-2010.) (Revised by AV, 30-Jun-2026.)
𝐵 = (Base‘𝑅)    &   𝐼 = (LIdeal‘𝑅)    &   𝐾 = (RSpan‘𝑅)       ((𝑅 ∈ Ring ∧ 𝑆𝐵) → (𝐾𝑆) = {𝑡𝐼𝑆𝑡})
 
28-Jun-2026inlidl 33760 The intersection of two ideals is an ideal. (Contributed by Jeff Madsen, 16-Jun-2011.) (Revised by AV, 28-Jun-2026.)
((𝑅 ∈ Ring ∧ 𝐼 ∈ (LIdeal‘𝑅) ∧ 𝐽 ∈ (LIdeal‘𝑅)) → (𝐼𝐽) ∈ (LIdeal‘𝑅))
 
28-Jun-2026unichnlidl 21399 The union of a nonempty chain of ideals is an ideal. (Contributed by Jeff Madsen, 5-Jan-2011.) (Revised by AV, 28-Jun-2026.)
((𝑅 ∈ Ring ∧ (𝐶 ≠ ∅ ∧ 𝐶 ⊆ (LIdeal‘𝑅) ∧ ∀𝑖𝐶𝑗𝐶 (𝑖𝑗𝑗𝑖))) → 𝐶 ∈ (LIdeal‘𝑅))
 
28-Jun-2026lidlunin0 21398 The union of a nonempty subset of ideals in a ring is nonempty. (Contributed by AV, 28-Jun-2026.)
((𝑅 ∈ Ring ∧ 𝐶 ≠ ∅ ∧ 𝐶 ⊆ (LIdeal‘𝑅)) → 𝐶 ≠ ∅)
 
27-Jun-2026isidom2 49150 The predicate "is an integral domain": An integral domain is a commutative prime ring. (Contributed by Jeff Madsen, 10-Jun-2010.) (Revised by AV, 27-Jun-2026.)
(𝑅 ∈ IDomn ↔ (𝑅 ∈ PrmRing ∧ 𝑅 ∈ CRing))
 
27-Jun-2026dfidom2 49149 Alternate definition of the class of integral domains. An integral domain is a commutative prime ring. (Contributed by Jeff Madsen, 10-Jun-2010.) (Revised by AV, 27-Jun-2026.)
IDomn = (PrmRing ∩ CRing)
 
27-Jun-2026crngprmringdom 49148 A commutative ring is a prime ring if and only if it is a domain. (Contributed by AV, 27-Jun-2026.)
(𝑅 ∈ CRing → (𝑅 ∈ PrmRing ↔ 𝑅 ∈ Domn))
 
27-Jun-2026crngprmringidom 49147 A commutative ring is a prime ring if and only if it is an integral domain. (Contributed by AV, 27-Jun-2026.)
(𝑅 ∈ CRing → (𝑅 ∈ PrmRing ↔ 𝑅 ∈ IDomn))
 
27-Jun-2026df2idl2crng 21458 The predicate "is an ideal of the commutative ring 𝑅". (Contributed by Jeff Madsen, 10-Jun-2010.) (Revised by AV, 27-Jun-2026.)
𝑈 = (2Ideal‘𝑅)    &   𝐵 = (Base‘𝑅)    &    · = (.r𝑅)       (𝑅 ∈ CRing → (𝐼𝑈 ↔ (𝐼 ∈ (SubGrp‘𝑅) ∧ ∀𝑥𝐵𝑦𝐼 (𝑥 · 𝑦) ∈ 𝐼)))
 
27-Jun-2026lidlbasel 21374 An element of an ideal is an element of the ring. (Contributed by Jeff Madsen, 19-Jun-2010.) (Revised by AV, 27-Jun-2026.)
𝐵 = (Base‘𝑊)    &   𝐼 = (LIdeal‘𝑊)       ((𝑈𝐼𝑋𝑈) → 𝑋𝐵)
 
27-Jun-20260ring01eqbi2 20667 In a ring, 0 = 1 iff the ring contains only 0. (Contributed by Jeff Madsen, 6-Jan-2011.) (Revised by AV, 27-Jun-2026.)
𝐵 = (Base‘𝑅)    &    0 = (0g𝑅)    &    1 = (1r𝑅)       (𝑅 ∈ Ring → (𝐵 = { 0 } ↔ 1 = 0 ))
 
26-Jun-2026prmrngring 49144 A prime ring is a ring. (Contributed by Jeff Madsen, 10-Jun-2010.) (Revised by AV, 18-Jun-2026.) (Proof shortened by AV, 26-Jun-2026.)
(𝑅 ∈ PrmRing → 𝑅 ∈ Ring)
 
26-Jun-2026prmringnzring 49143 A prime ring is a nonzero ring. (Contributed by AV, 26-Jun-2026.)
(𝑅 ∈ PrmRing → 𝑅 ∈ NzRing)
 
26-Jun-20261enum 35630 The Fundamental Theorem of Enumeration. According to Doron Zeilberger (in https://sites.math.rutgers.edu/~zeilberg/mamarim/mamarimPDF/enu.pdf), this theorem was independently discovered by several anonymous cave-dwellers.

Zeilberger also states that "While this formula is still useful after all these years, enumerating specific finite sets is no longer considered mathematics. A genuine mathematical fact has to incorporate infinitely many facts". Fortunately, theorems in Metamath are actually theorem schemes that correspond to an infinite number of object-language theorems, so this concern does not apply to us.

See 1enumen 35510 for a version that uses equinumerosity , 1enumcard 35511 for a version that uses the card function, and 1enumkard 35609 for a version that uses the kard function.

(Contributed by BTernaryTau, 26-Jun-2026.)

(𝐴 ∈ Fin → (♯‘𝐴) = Σ𝑎𝐴 1)
 
26-Jun-20261enumcard 35511 The Fundamental Theorem of Enumeration (see https://sites.math.rutgers.edu/~zeilberg/mamarim/mamarimPDF/enu.pdf), extended to all sets.

The expression 𝑥𝐴({𝑥} × 𝐵) can be thought of as expressing an indexed disjoint union 𝑥𝐴𝐵 where each 𝐵 has its elements tagged with the set 𝑥 that generated it. See the comment directly before undjudom 10170 for context on disjoint union as a representation of cardinal addition.

This theorem does not depend on AC, but it is only meaningful for numerable sets. See 1enumen 35510 and 1enumkard 35609 for versions that are meaningful for non-numerable sets, and see 1enum 35630 for a version that uses an explicit sum of complex number 1s.

(Contributed by BTernaryTau, 26-Jun-2026.)

(𝐴 ∈ V → (card‘𝐴) = (card‘ 𝑥𝐴 ({𝑥} × 1o)))
 
26-Jun-20261enumen 35510 The Fundamental Theorem of Enumeration (see https://sites.math.rutgers.edu/~zeilberg/mamarim/mamarimPDF/enu.pdf), extended to all sets.

The expression 𝑥𝐴({𝑥} × 𝐵) can be thought of as expressing an indexed disjoint union 𝑥𝐴𝐵 where each 𝐵 has its elements tagged with the set 𝑥 that generated it. See the comment directly before undjudom 10170 for context on disjoint union as a representation of cardinal addition.

This theorem is not limited to numerable sets, but it also does not depend on AC. See 1enumcard 35511 for a version that uses the card function, 1enumkard 35609 for a version that uses the kard function , and 1enum 35630 for a version that uses an explicit sum of complex number 1s.

(Contributed by BTernaryTau, 26-Jun-2026.)

(𝐴 ∈ V → 𝐴 𝑥𝐴 ({𝑥} × 1o))
 
26-Jun-20264anpull2 1382 An equivalence of two four-terms conjunctions with the terms regrouped (here, the second sub-conjunct of the first term is pulled separately). (Contributed by Zhi Wang, 4-Sep-2024.) (Proof shortened by Garrett Katz, 26-Jun-2026.)
(((𝜑𝜓) ∧ (𝜒𝜃)) ↔ ((𝜑𝜒𝜃) ∧ 𝜓))
 
25-Jun-2026ifpdfbi 1086 Define the biconditional as conditional logic operator. (Contributed by RP, 20-Apr-2020.) (Proof shortened by Wolf Lammen, 30-Apr-2024.) (Proof shortened by Garrett Katz, 25-Jun-2026.)
((𝜑𝜓) ↔ if-(𝜑, 𝜓, ¬ 𝜓))
 
24-Jun-2026inv2 35499 The intersection of the universal class with a class is itself. A commuted form of inv1 4358. (Contributed by BTernaryTau, 24-Jun-2026.)
(V ∩ 𝐴) = 𝐴
 
23-Jun-2026rankfn 35531 The rank function is a function on the universe. (Contributed by BTernaryTau, 23-Jun-2026.)
rank Fn V
 
23-Jun-2026rankfo 35530 The rank function maps the universe onto the ordinals. (Contributed by BTernaryTau, 23-Jun-2026.)
rank:V–onto→On
 
23-Jun-2026fnfvintima 35502 Condition for a function value to equal the intersection of an image that contains it. (Contributed by BTernaryTau, 23-Jun-2026.)
((𝐹 Fn 𝐴𝐵𝐴𝐶𝐵) → ((𝐹𝐶) = (𝐹𝐵) ↔ ∀𝑥𝐵 (𝐹𝐶) ⊆ (𝐹𝑥)))
 
21-Jun-2026sgnrn 15161 The range of the signum function. (Contributed by AV, 16-Jun-2026.) (Proof shortened by TA, 21-Jun-2026.)
ran sgn = {-1, 0, 1}
 
20-Jun-2026reldmun 6038 Split a relation into two parts based on its domain. (Contributed by Thierry Arnoux, 9-Oct-2023.) Remove requirement that 𝐴 and 𝐵 are disjoint. (Revised by Eric Schmidt, 20-Jun-2026.)
((Rel 𝑅 ∧ dom 𝑅 = (𝐴𝐵)) → 𝑅 = ((𝑅𝐴) ∪ (𝑅𝐵)))
 
19-Jun-2026ringen1zr0 20918 The only unital ring with one element is the zero ring (at least if its operations are internal binary operations). This holds already for nonunital rings, see rngen1zr0 20293, and semirings, see srgen1zr0 20329. (Contributed by FL, 15-Feb-2010.) (Revised by AV, 25-Jan-2020.) (Proof shortened by AV, 19-Jun-2026.)
𝐵 = (Base‘𝑅)    &    + = (+g𝑅)    &    = (.r𝑅)    &   𝑍 = (0g𝑅)       ((𝑅 ∈ Ring ∧ + Fn (𝐵 × 𝐵) ∧ Fn (𝐵 × 𝐵)) → (𝐵 ≈ 1o ↔ ( + = {⟨⟨𝑍, 𝑍⟩, 𝑍⟩} ∧ = {⟨⟨𝑍, 𝑍⟩, 𝑍⟩})))
 
19-Jun-2026srg1zr 20328 The only semiring with a base set consisting of one element is the zero ring (at least if its operations are internal binary operations). (Contributed by FL, 13-Feb-2010.) (Revised by AV, 25-Jan-2020.) (Proof shortened by AV, 19-Jun-2026.)
𝐵 = (Base‘𝑅)    &    + = (+g𝑅)    &    = (.r𝑅)       (((𝑅 ∈ SRing ∧ + Fn (𝐵 × 𝐵) ∧ Fn (𝐵 × 𝐵)) ∧ 𝑍𝐵) → (𝐵 = {𝑍} ↔ ( + = {⟨⟨𝑍, 𝑍⟩, 𝑍⟩} ∧ = {⟨⟨𝑍, 𝑍⟩, 𝑍⟩})))
 
18-Jun-2026drngprmrng 49146 A division ring is a prime ring. (Contributed by Jeff Madsen, 6-Jan-2011.) (Revised by AV, 18-Jun-2026.)
(𝑅 ∈ DivRing → 𝑅 ∈ PrmRing)
 
18-Jun-2026smprngprmrng 49145 A simple ring (a nonzero ring whose only ideals are 0 and 𝑅) is a prime ring. (Contributed by Jeff Madsen, 6-Jan-2011.) (Revised by AV, 18-Jun-2026.)
𝐵 = (Base‘𝑅)    &    0 = (0g𝑅)    &   𝑈 = (LIdeal‘𝑅)       ((𝑅 ∈ NzRing ∧ 𝑈 = {{ 0 }, 𝐵}) → 𝑅 ∈ PrmRing)
 
18-Jun-2026isprmrng 49142 The predicate "is a prime ring". (Contributed by Jeff Madsen, 10-Jun-2010.) (Revised by AV, 18-Jun-2026.)
0 = (0g𝑅)    &   𝑃 = (PrmIdeal‘𝑅)       (𝑅 ∈ PrmRing ↔ (𝑅 ∈ Ring ∧ { 0 } ∈ 𝑃))
 
18-Jun-2026df-prmring 49141 Define the class of prime rings. A ring is prime if the zero ideal is a prime ideal. (Contributed by Jeff Madsen, 10-Jun-2010.) (Revised by AV, 18-Jun-2026.)
PrmRing = {𝑟 ∈ Ring ∣ {(0g𝑟)} ∈ (PrmIdeal‘𝑟)}
 
18-Jun-2026prlngsym 29228 Parallelism is symmetric. Theorem 12.5 of [Schwabhauser] p. 122. (Contributed by Thierry Arnoux, 18-Jun-2026.)
𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &    = (parlnG‘𝐺)    &   (𝜑𝐺𝑉)    &   (𝜑𝐴 𝐵)       (𝜑𝐵 𝐴)
 
18-Jun-2026prlngref 29227 Parallelism is reflexive. Theorem 12.4 of [Schwabhauser] p. 122. (Contributed by Thierry Arnoux, 18-Jun-2026.)
𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &    = (parlnG‘𝐺)    &   (𝜑𝐺𝑉)    &   (𝜑𝐴 ∈ ran 𝐿)       (𝜑𝐴 𝐴)
 
18-Jun-2026prlngd 29226 Deduce parallelism between two lines 𝐴 and 𝐵. (Contributed by Thierry Arnoux, 18-Jun-2026.)
𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &    = (parlnG‘𝐺)    &   (𝜑𝐺𝑉)    &   (𝜑𝐴 ∈ ran 𝐿)    &   (𝜑𝐵 ∈ ran 𝐿)    &   (𝜑𝐻 ∈ ran 𝐸)    &   (𝜑𝐴𝐻)    &   (𝜑𝐵𝐻)    &   (𝜑 → (𝐴𝐵) = ∅)       (𝜑𝐴 𝐵)
 
18-Jun-2026brprlng 29225 Property of two lines 𝐴 and 𝐵 to be parallel. (Contributed by Thierry Arnoux, 18-Jun-2026.)
𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &    = (parlnG‘𝐺)    &   (𝜑𝐺𝑉)       (𝜑 → (𝐴 𝐵 ↔ ((𝐴 ∈ ran 𝐿𝐵 ∈ ran 𝐿) ∧ (𝐴 = 𝐵 ∨ (∃ ∈ ran 𝐸(𝐴𝐵) ∧ (𝐴𝐵) = ∅)))))
 
18-Jun-2026rngen1zr0 20293 The only ring with one element is the zero ring (at least if its operations are internal binary operations). (Contributed by FL, 15-Feb-2010.) (Revised by AV, 18-Jun-2026.)
𝐵 = (Base‘𝑅)    &    + = (+g𝑅)    &    = (.r𝑅)    &    0 = (0g𝑅)       ((𝑅 ∈ Rng ∧ + Fn (𝐵 × 𝐵) ∧ Fn (𝐵 × 𝐵)) → (𝐵 ≈ 1o ↔ ( + = {⟨⟨ 0 , 0 ⟩, 0 ⟩} ∧ = {⟨⟨ 0 , 0 ⟩, 0 ⟩})))
 
18-Jun-2026rngen1zr 20292 The only ring with one element is the zero ring (at least if its operations are internal binary operations). (Contributed by FL, 14-Feb-2010.) (Revised by AV, 18-Jun-2026.)
𝐵 = (Base‘𝑅)    &    + = (+g𝑅)    &    = (.r𝑅)       (((𝑅 ∈ Rng ∧ + Fn (𝐵 × 𝐵) ∧ Fn (𝐵 × 𝐵)) ∧ 𝑍𝐵) → (𝐵 ≈ 1o ↔ ( + = {⟨⟨𝑍, 𝑍⟩, 𝑍⟩} ∧ = {⟨⟨𝑍, 𝑍⟩, 𝑍⟩})))
 
18-Jun-2026rng1zr 20291 The only ring with a base set consisting of one element is the zero ring (at least if its operations are internal binary operations). (Contributed by FL, 13-Feb-2010.) (Revised by AV, 18-Jun-2026.)
𝐵 = (Base‘𝑅)    &    + = (+g𝑅)    &    = (.r𝑅)       (((𝑅 ∈ Rng ∧ + Fn (𝐵 × 𝐵) ∧ Fn (𝐵 × 𝐵)) ∧ 𝑍𝐵) → (𝐵 = {𝑍} ↔ ( + = {⟨⟨𝑍, 𝑍⟩, 𝑍⟩} ∧ = {⟨⟨𝑍, 𝑍⟩, 𝑍⟩})))
 
18-Jun-2026rng1zrlem 20290 Lemma for rng1zr 20291 and srg1zr 20328. (Contributed by FL, 13-Feb-2010.) (Revised by AV, 18-Jun-2026.)
𝐵 = (Base‘𝑅)    &    + = (+g𝑅)    &    = (.r𝑅)       (((𝑅 ∈ Mgm ∧ (mulGrp‘𝑅) ∈ Mgm) ∧ ( + Fn (𝐵 × 𝐵) ∧ Fn (𝐵 × 𝐵)) ∧ 𝑍𝐵) → (𝐵 = {𝑍} ↔ ( + = {⟨⟨𝑍, 𝑍⟩, 𝑍⟩} ∧ = {⟨⟨𝑍, 𝑍⟩, 𝑍⟩})))
 
17-Jun-2026df-prlng 29224 Define the parallel relation for lines. Definition 12.2 of [Schwabhauser] p. 121. Note that the textbook first defines a "strict" parallelism where equal lines are not considered parallel in the strict sense: here we jump directly to the more common definition which allows equality. (Contributed by Thierry Arnoux, 17-Jun-2026.)
parlnG = (𝑔 ∈ V ↦ {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran (LineG‘𝑔) ∧ 𝑏 ∈ ran (LineG‘𝑔)) ∧ (𝑎 = 𝑏 ∨ (∃ ∈ ran (hlG‘𝑔)(𝑎𝑏) ∧ (𝑎𝑏) = ∅)))})
 
17-Jun-2026plng3p 29116 If 𝐻 is a plane containing a line 𝐴 and a point 𝑅 not on 𝐴, then 𝐻 is the plane defined by 𝐴 and 𝑅. Theorem 9.26 of [Schwabhauser] p. 76. See tglinethru 28946 for the 2-point line equivalent. (Contributed by Thierry Arnoux, 17-Jun-2026.)
𝑃 = (Base‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝐻 ∈ ran 𝐸)    &   (𝜑𝐴 ∈ ran 𝐿)    &   (𝜑𝑅 ∈ (𝐻𝐴))    &   (𝜑𝐴𝐻)       (𝜑𝐻 = (𝐴𝐸𝑅))
 
17-Jun-2026lnssplng1 29112 A line defined by two points 𝑋 and 𝑌, both on a plane 𝐻, is entirely contained in 𝐻. First part of Theorem 9.25 of [Schwabhauser] p. 75. (Contributed by Thierry Arnoux, 17-Jun-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝐻 ∈ ran 𝐸)    &   (𝜑𝑋𝐻)    &   (𝜑𝑌𝐻)    &   (𝜑𝑋𝑌)       (𝜑 → (𝑋𝐿𝑌) ⊆ 𝐻)
 
17-Jun-2026lnssplng 29111 A line defined by two points 𝑋 and 𝑌, both on a plane 𝐻, is entirely contained in 𝐻. Theorem 9.25 of [Schwabhauser] p. 75. (Contributed by Thierry Arnoux, 17-Jun-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝐻 ∈ ran 𝐸)    &   (𝜑𝑋𝐻)    &   (𝜑𝑌𝐻)    &   (𝜑𝑋𝑌)       (𝜑 → ((𝑋𝐿𝑌) ⊆ 𝐻 ∧ ∃𝑠 ∈ (𝑃 ∖ (𝑋𝐿𝑌))𝐻 = ((𝑋𝐿𝑌)𝐸𝑠)))
 
17-Jun-2026lnssplnglem 29110 Lemma for lnssplng 29111. (Contributed by Thierry Arnoux, 17-Jun-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝑋 ∈ (𝐴𝐸𝑅))    &   (𝜑𝑌 ∈ (𝐴𝐸𝑅))    &   (𝜑𝑋𝑌)    &   (𝜑𝐴 ∈ ran 𝐿)    &   (𝜑𝑅 ∈ (𝑃𝐴))    &   (𝜑𝐴 ≠ (𝑋𝐿𝑌))    &   (𝜑 → ¬ 𝑌𝐴)       (𝜑 → ((𝑋𝐿𝑌) ⊆ (𝐴𝐸𝑅) ∧ ∃𝑠 ∈ (𝑃 ∖ (𝑋𝐿𝑌))(𝐴𝐸𝑅) = ((𝑋𝐿𝑌)𝐸𝑠)))
 
17-Jun-2026plngrot 29109 The plane defined by a line (𝑋𝐿𝑌) and a point 𝑍 is also defined by the line (𝑍𝐿𝑌) and the point 𝑋. See first part of Theorem 9.24 of [Schwabhauser] p. 74. (Contributed by Thierry Arnoux, 17-Jun-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝑋 ∈ (𝑃 ∖ (𝑍𝐿𝑌)))    &   (𝜑𝑌𝑃)    &   (𝜑𝑍 ∈ (𝑃 ∖ (𝑋𝐿𝑌)))    &   (𝜑𝑋𝑌)       (𝜑 → ((𝑋𝐿𝑌)𝐸𝑍) = ((𝑍𝐿𝑌)𝐸𝑋))
 
17-Jun-2026plngrotlem3 29108 Lemma for plngrot 29109. (Contributed by Thierry Arnoux, 17-Jun-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝑋 ∈ (𝑃 ∖ (𝑍𝐿𝑌)))    &   (𝜑𝑌𝑃)    &   (𝜑𝑍 ∈ (𝑃 ∖ (𝑋𝐿𝑌)))    &   (𝜑𝑋𝑌)    &   𝑂 = {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ (𝑃 ∖ (𝑋𝐿𝑌)) ∧ 𝑏 ∈ (𝑃 ∖ (𝑋𝐿𝑌))) ∧ ∃𝑡 ∈ (𝑋𝐿𝑌)𝑡 ∈ (𝑎𝐼𝑏))}       (𝜑 → ((𝑋𝐿𝑌)𝐸𝑍) ⊆ ((𝑍𝐿𝑌)𝐸𝑋))
 
17-Jun-2026plngrotlem2 29107 Lemma for plngrot 29109. (Contributed by Thierry Arnoux, 17-Jun-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝑋 ∈ (𝑃 ∖ (𝑍𝐿𝑌)))    &   (𝜑𝑌𝑃)    &   (𝜑𝑍 ∈ (𝑃 ∖ (𝑋𝐿𝑌)))    &   (𝜑𝑋𝑌)    &   𝑂 = {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ (𝑃 ∖ (𝑋𝐿𝑌)) ∧ 𝑏 ∈ (𝑃 ∖ (𝑋𝐿𝑌))) ∧ ∃𝑡 ∈ (𝑋𝐿𝑌)𝑡 ∈ (𝑎𝐼𝑏))}    &   (𝜑𝑊𝑃)    &   (𝜑𝑌 ∈ (𝑍𝐼𝑊))    &   (𝜑𝑌𝑊)       (𝜑 → ((𝑋𝐿𝑌)𝐸𝑍) ⊆ ((𝑍𝐿𝑌)𝐸𝑋))
 
17-Jun-2026plngrotlem1 29106 Lemma for plngrot 29109. (Contributed by Thierry Arnoux, 17-Jun-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝑋 ∈ (𝑃 ∖ (𝑍𝐿𝑌)))    &   (𝜑𝑌𝑃)    &   (𝜑𝑍 ∈ (𝑃 ∖ (𝑋𝐿𝑌)))    &   (𝜑𝑋𝑌)    &   𝑂 = {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ (𝑃 ∖ (𝑋𝐿𝑌)) ∧ 𝑏 ∈ (𝑃 ∖ (𝑋𝐿𝑌))) ∧ ∃𝑡 ∈ (𝑋𝐿𝑌)𝑡 ∈ (𝑎𝐼𝑏))}    &   (𝜑𝑊𝑃)    &   (𝜑𝑌 ∈ (𝑍𝐼𝑊))    &   (𝜑𝑌𝑊)    &   (𝜑𝑆 ∈ ((𝑋𝐿𝑌)𝐸𝑍))    &   (𝜑 → (𝑆 ∈ (𝑋𝐿𝑌) ∨ 𝑆((hpG‘𝐺)‘(𝑋𝐿𝑌))𝑍))       (𝜑𝑆 ∈ ((𝑍𝐿𝑌)𝐸𝑋))
 
17-Jun-2026plngcp 29105 The plane defined by a line 𝐴 and a point 𝑅 can also be defined using a different point 𝑅 on the same plane: changes the point used to define the plane. Theorem 9.21 of [Schwabhauser] p. 74. (Contributed by Thierry Arnoux, 17-Jun-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝐴 ∈ ran 𝐿)    &   (𝜑𝑅 ∈ (𝑃𝐴))    &   (𝜑𝑆 ∈ ((𝐴𝐸𝑅) ∖ 𝐴))       (𝜑 → (𝐴𝐸𝑅) = (𝐴𝐸𝑆))
 
17-Jun-2026plngcplem 29104 Lemma for plngcp 29105. (Contributed by Thierry Arnoux, 17-Jun-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝐴 ∈ ran 𝐿)    &   (𝜑𝑅 ∈ (𝑃𝐴))    &   (𝜑𝑆 ∈ ((𝐴𝐸𝑅) ∖ 𝐴))    &   𝑂 = {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ (𝑃𝐴) ∧ 𝑏 ∈ (𝑃𝐴)) ∧ ∃𝑡𝐴 𝑡 ∈ (𝑎𝐼𝑏))}       (𝜑 → (𝐴𝐸𝑅) = (𝐴𝐸𝑆))
 
17-Jun-2026lnincplng 29103 If two lines 𝐴 and 𝐵 intersect, then 𝐵 is in a plane defined by 𝐴 and any point of 𝐵. Lemma 9.22 of [Schwabhauser] p. 74. (Contributed by Thierry Arnoux, 17-Jun-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝐴 ∈ ran 𝐿)    &   (𝜑𝐵 ∈ ran 𝐿)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝑃)    &   (𝜑𝑋𝑌)    &   (𝜑 → (𝐴𝐵) = {𝑌})       (𝜑𝐵 ⊆ (𝐴𝐸𝑋))
 
17-Jun-2026elplnglnid 29102 The line 𝐴 itself is a subset of a plane defined by the line 𝐴 and a point 𝑅. (Contributed by Thierry Arnoux, 17-Jun-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝐴 ∈ ran 𝐿)    &   (𝜑𝑅 ∈ (𝑃𝐴))       (𝜑𝐴 ⊆ (𝐴𝐸𝑅))
 
17-Jun-2026elplngid 29101 The point 𝑅 is itself an element of a plane defined by a line 𝐴 and the point 𝑅. (Contributed by Thierry Arnoux, 17-Jun-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝐴 ∈ ran 𝐿)    &   (𝜑𝑅 ∈ (𝑃𝐴))       (𝜑𝑅 ∈ (𝐴𝐸𝑅))
 
17-Jun-2026plngssp 29100 Planes are sets of points. (Contributed by Thierry Arnoux, 17-Jun-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝐴 ∈ ran 𝐿)    &   (𝜑𝑅 ∈ (𝑃𝐴))    &   (𝜑𝑋 ∈ (𝐴𝐸𝑅))       (𝜑𝑋𝑃)
 
17-Jun-2026elplng 29099 Elementhood in the plane defined by a line 𝐴 and a point 𝑅. Definition 9.20 of [Schwabhauser] p. 74. (Contributed by Thierry Arnoux, 17-Jun-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝐴 ∈ ran 𝐿)    &   (𝜑𝑅 ∈ (𝑃𝐴))    &   𝑂 = {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ (𝑃𝐴) ∧ 𝑏 ∈ (𝑃𝐴)) ∧ ∃𝑡𝐴 𝑡 ∈ (𝑎𝐼𝑏))}    &   (𝜑𝑋𝑃)       (𝜑 → (𝑋 ∈ (𝐴𝐸𝑅) ↔ (𝑋𝐴𝑋((hpG‘𝐺)‘𝐴)𝑅𝑋𝑂𝑅)))
 
17-Jun-2026plngrnssp 29098 Planes are sets of points. (Contributed by Thierry Arnoux, 17-Jun-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝐻 ∈ ran 𝐸)    &   (𝜑𝑋𝐻)       (𝜑𝑋𝑃)
 
17-Jun-2026isplng 29097 The property of being a plane. (Contributed by Thierry Arnoux, 17-Jun-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝐻 ∈ ran 𝐸)       (𝜑 → ∃𝑎 ∈ ran 𝐿𝑟 ∈ (𝑃𝑎)𝐻 = (𝑎𝐸𝑟))
 
17-Jun-2026plngval 29096 The plane defined by a line 𝐴 and a point 𝑅 outside of 𝐴. This is defined as the union of 3 parts: the line itself, the open half-plane containing 𝑅, and the points opposite to 𝑅 (see islnopp 29057). (Contributed by Thierry Arnoux, 17-Jun-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝐴 ∈ ran 𝐿)    &   (𝜑𝑅 ∈ (𝑃𝐴))       (𝜑 → (𝐴𝐸𝑅) = {𝑥𝑃 ∣ (𝑥𝐴𝑥((hpG‘𝐺)‘𝐴)𝑅 ∨ ∃𝑡𝐴 𝑡 ∈ (𝑥𝐼𝑅))})
 
17-Jun-2026tgelrnpln 29095 The property of being a plane, generated by a line and a point. (Contributed by Thierry Arnoux, 17-Jun-2026.)
𝑃 = (Base‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &   (𝜑𝐺𝑉)    &   (𝜑𝐴 ∈ ran 𝐿)    &   (𝜑𝑅 ∈ (𝑃𝐴))       (𝜑 → (𝐴𝐸𝑅) ∈ ran 𝐸)
 
17-Jun-2026tgplnfn 29094 The plane generating function as a function. (Contributed by Thierry Arnoux, 17-Jun-2026.)
𝑃 = (Base‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &   (𝜑𝐺𝑉)       (𝜑𝐸 Fn ((ran 𝐿 × 𝑃) ∖ E ))
 
17-Jun-2026df-plng 29093 Define the function building a plane from a line and a point not on that line. Definition 9.20 of [Schwabhauser] p. 74. (Contributed by Thierry Arnoux, 17-Jun-2026.)
hlG = (𝑔 ∈ V ↦ (𝑎 ∈ ran (LineG‘𝑔), 𝑟 ∈ ((Base‘𝑔) ∖ 𝑎) ↦ {𝑥 ∈ (Base‘𝑔) ∣ (𝑥𝑎𝑥((hpG‘𝑔)‘𝑎)𝑟 ∨ ∃𝑡𝑎 𝑡 ∈ (𝑥(Itv‘𝑔)𝑟))}))
 
17-Jun-2026tglnpt4 28965 Find a second point on a line, outside of a second line. (Contributed by Thierry Arnoux, 17-Jun-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝐴 ∈ ran 𝐿)    &   (𝜑𝐵 ∈ ran 𝐿)    &   (𝜑𝑋𝐴)    &   (𝜑𝐴𝐵)       (𝜑 → ∃𝑧 ∈ (𝐴𝐵)𝑧𝑋)
 
17-Jun-2026tglnpt3 28964 Find a third point on a line. (Contributed by Thierry Arnoux, 17-Jun-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝐴 ∈ ran 𝐿)    &   (𝜑𝑋𝐴)    &   (𝜑𝑌𝐴)    &   (𝜑𝑋𝑌)       (𝜑 → ∃𝑧𝐴 (𝑧𝑋𝑧𝑌))
 
17-Jun-2026tglineinsn 28954 If two distinct lines intersect, it is at a single point. Theorem 6.21 of [Schwabhauser] p. 46. (Contributed by Thierry Arnoux, 17-Jun-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝐴 ∈ ran 𝐿)    &   (𝜑𝐵 ∈ ran 𝐿)    &   (𝜑𝐴𝐵)    &   (𝜑𝑋 ∈ (𝐴𝐵))       (𝜑 → (𝐴𝐵) = {𝑋})
 
17-Jun-2026tglinesseq 28950 If a line is a subset of another line, they are equal. (Contributed by Thierry Arnoux, 17-Jun-2026.)
𝐿 = (LineG‘𝐺)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝐴 ∈ ran 𝐿)    &   (𝜑𝐵 ∈ ran 𝐿)    &   (𝜑𝐴𝐵)       (𝜑𝐴 = 𝐵)
 
17-Jun-2026mpoexd 8086 Existence of an operation class abstraction. (Contributed by Thierry Arnoux, 17-Jun-2026.)
(𝜑𝐴𝑉)    &   ((𝜑𝑥𝐴) → 𝐵𝑊)       (𝜑 → (𝑥𝐴, 𝑦𝐵𝐶) ∈ V)
 
17-Jun-2026xpdifcnvepel 6171 The set of couples in a Cartesian product, where the second is not an element of the first. (Contributed by Thierry Arnoux, 17-Jun-2026.)
𝑥𝐴 ({𝑥} × (𝐵𝑥)) = ((𝐴 × 𝐵) ∖ E )
 
16-Jun-2026sgnfo 15162 The signum function as onto function. (Contributed by AV, 16-Jun-2026.)
sgn:ℝ*onto→{-1, 0, 1}
 
16-Jun-2026sgndm 15159 The domain of the signum function. (Contributed by AV, 16-Jun-2026.)
dom sgn = ℝ*
 
16-Jun-2026resdmdfsn 6036 Restricting a class to its domain without a set is the same as restricting the class to the universe without this set. (Contributed by AV, 2-Dec-2018.) Remove antecedent. (Revised by Eric Schmidt, 16-Jun-2026.)
(𝑅 ↾ (V ∖ {𝑋})) = (𝑅 ↾ (dom 𝑅 ∖ {𝑋}))
 
16-Jun-2026resindm 6034 When restricting a class, intersecting with the domain of the class has no effect. (Contributed by FL, 6-Oct-2008.) Remove antecedent. (Revised by Eric Schmidt, 16-Jun-2026.)
(𝐴 ↾ (𝐵 ∩ dom 𝐴)) = (𝐴𝐵)
 
16-Jun-20263jaao 1460 Inference conjoining and disjoining the antecedents of three implications. (Contributed by Jeff Hankins, 15-Aug-2009.) (Proof shortened by Andrew Salmon, 13-May-2011.) (Proof shortened by Garrett Katz, 16-Jun-2026.)
(𝜑 → (𝜓𝜒))    &   (𝜃 → (𝜏𝜒))    &   (𝜂 → (𝜁𝜒))       ((𝜑𝜃𝜂) → ((𝜓𝜏𝜁) → 𝜒))
 
16-Jun-20263jaoi 1454 Disjunction of three antecedents (inference). (Contributed by NM, 12-Sep-1995.) (Proof shortened by Garrett Katz, 16-Jun-2026.)
(𝜑𝜓)    &   (𝜒𝜓)    &   (𝜃𝜓)       ((𝜑𝜒𝜃) → 𝜓)
 
15-Jun-2026anbiim 653 Adding biconditional when antecedents are conjuncted. (Contributed by metakunt, 16-Apr-2024.) (Proof shortened by Wolf Lammen, 7-May-2025.) (Proof shortened by Garrett Katz, 15-Jun-2026.)
(𝜑 → (𝜒𝜃))    &   (𝜓 → (𝜃𝜒))       ((𝜑𝜓) → (𝜒𝜃))
 
15-Jun-2026imbibi 396 The antecedent of one side of a biconditional can be moved out of the biconditional to become the antecedent of the remaining biconditional. (Contributed by BJ, 1-Jan-2025.) (Proof shortened by Wolf Lammen, 5-Jan-2025.) (Proof shortened by Garrett Katz, 15-Jun-2026.)
(((𝜑𝜓) ↔ 𝜒) → (𝜑 → (𝜓𝜒)))
 
13-Jun-2026ad5ant135 1394 Deduction adding conjuncts to antecedent. (Contributed by Alan Sare, 17-Oct-2017.) (Proof shortened by Wolf Lammen, 23-Jun-2022.) (Proof shortened by Garrett Katz, 13-Jun-2026.)
((𝜑𝜓𝜒) → 𝜃)       (((((𝜑𝜏) ∧ 𝜓) ∧ 𝜂) ∧ 𝜒) → 𝜃)
 
13-Jun-2026ad5ant134 1392 Deduction adding conjuncts to antecedent. (Contributed by Alan Sare, 17-Oct-2017.) (Proof shortened by Wolf Lammen, 23-Jun-2022.) (Proof shortened by Garrett Katz, 13-Jun-2026.)
((𝜑𝜓𝜒) → 𝜃)       (((((𝜑𝜏) ∧ 𝜓) ∧ 𝜒) ∧ 𝜂) → 𝜃)
 
13-Jun-2026ad5ant125 1390 Deduction adding conjuncts to antecedent. (Contributed by Alan Sare, 17-Oct-2017.) (Proof shortened by Wolf Lammen, 23-Jun-2022.) (Proof shortened by Garrett Katz, 13-Jun-2026.)
((𝜑𝜓𝜒) → 𝜃)       (((((𝜑𝜓) ∧ 𝜏) ∧ 𝜂) ∧ 𝜒) → 𝜃)
 
13-Jun-2026ad5ant124 1388 Deduction adding conjuncts to antecedent. (Contributed by Alan Sare, 17-Oct-2017.) (Proof shortened by Wolf Lammen, 23-Jun-2022.) (Proof shortened by Garrett Katz, 13-Jun-2026.)
((𝜑𝜓𝜒) → 𝜃)       (((((𝜑𝜓) ∧ 𝜏) ∧ 𝜒) ∧ 𝜂) → 𝜃)
 
12-Jun-2026nmulcld 36706 Closure law for natural multiplication. Deduction form. (Contributed by Scott Fenton, 12-Jun-2026.)
(𝜑𝐴 ∈ On)    &   (𝜑𝐵 ∈ On)       (𝜑 → (𝐴 ·no 𝐵) ∈ On)
 
12-Jun-2026onvfowev 35624 If 𝐹 maps the ordinals onto the universe, then 𝑅 well-orders the universe. This is the ZFC version of (8 3) in https://tinyurl.com/hamkins-gblac. Note that in NBG set theory the antecedent would be something like 𝑋(𝑋 ≠ ∅ → ∃𝐹𝐹:On–onto𝑋), but since we cannot quantify over classes, we instead consider only the case 𝑋 = V which is sufficient for this proof. (Contributed by BTernaryTau, 12-Jun-2026.)
𝑅 = {⟨𝑥, 𝑦⟩ ∣ (𝐻𝑥) ∈ (𝐻𝑦)}    &   𝐻 = (𝑧 ∈ V ↦ (𝐹 “ {𝑧}))       (𝐹:On–onto→V → 𝑅 We V)
 
11-Jun-2026vonf1oonfo 35623 If 𝐹 is a bijection from the ordinals to the universe and 𝐴 is non-empty, then 𝐻 maps the ordinals onto 𝐴. This is the ZFC version of (5 8) in https://tinyurl.com/hamkins-gblac, though it neglects to specify that 𝐴 must be non-empty. Note that in NBG set theory the antecedent would be something like 𝑋𝑋 ∈ V → ∃𝐹𝐹:𝑋1-1-onto→On), but since we cannot quantify over classes, we instead consider only the case 𝑋 = V which is sufficient for this proof. This theorem can also be viewed as (2 8). (Contributed by BTernaryTau, 11-Jun-2026.)
𝐻 = (𝑥 ∈ On ↦ if((𝐹𝑥) ∈ 𝐴, (𝐹𝑥), 𝐷))    &   𝐷 = (𝐹 {𝑦 ∈ On ∣ (𝐹𝑦) ∈ 𝐴})       ((𝐹:On–1-1-onto→V ∧ 𝐴 ≠ ∅) → 𝐻:On–onto𝐴)
 
11-Jun-2026vonf1owev 35617 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.) (Proof shortened by BTernaryTau, 11-Jun-2026.)
𝑅 = {⟨𝑥, 𝑦⟩ ∣ (𝐹𝑥) ∈ (𝐹𝑦)}       (𝐹:V–1-1-onto→On → 𝑅 We V)
 
11-Jun-2026vonf1wev 35616 If 𝐹 maps the universe one-to-one into the ordinals, then 𝑅 well-orders the universe. This is the ZFC version of (6 3) which is used in place of (7 3) in https://tinyurl.com/hamkins-gblac. Note that in NBG set theory the antecedent would be something like 𝑋𝐹𝐹:𝑋1-1→On, but since we cannot quantify over classes, we instead consider only the case 𝑋 = V which is sufficient for this proof. (Contributed by BTernaryTau, 11-Jun-2026.)
𝑅 = {⟨𝑥, 𝑦⟩ ∣ (𝐹𝑥) ∈ (𝐹𝑦)}       (𝐹:V–1-1→On → 𝑅 We V)
 
10-Jun-2026nmull0 36709 Natural multiplication by zero. (Contributed by Scott Fenton, 10-Jun-2026.)
(𝐴 ∈ On → (∅ ·no 𝐴) = ∅)
 
10-Jun-2026nmulr0 36708 Natural multiplication by zero. (Contributed by Scott Fenton, 10-Jun-2026.)
(𝐴 ∈ On → (𝐴 ·no ∅) = ∅)
 
10-Jun-2026nmulcom 36707 Natural multiplication is commutative. (Contributed by Scott Fenton, 10-Jun-2026.)
((𝐴 ∈ On ∧ 𝐵 ∈ On) → (𝐴 ·no 𝐵) = (𝐵 ·no 𝐴))
 
10-Jun-2026nmulval 36705 Show the value of natural multiplication. (Contributed by Scott Fenton, 10-Jun-2026.)
((𝐴 ∈ On ∧ 𝐵 ∈ On) → (𝐴 ·no 𝐵) = {𝑥 ∈ On ∣ ∀𝑎𝐴𝑏𝐵 ((𝑎 ·no 𝐵) +no (𝐴 ·no 𝑏)) ∈ (𝑥 +no (𝑎 ·no 𝑏))})
 
10-Jun-2026nmulcl 36704 Closure law for natural multiplication. (Contributed by Scott Fenton, 10-Jun-2026.)
((𝐴 ∈ On ∧ 𝐵 ∈ On) → (𝐴 ·no 𝐵) ∈ On)
 
10-Jun-2026vonf1oonf1 35622 If 𝐹 is a bijection from the universe to the ordinals, then 𝐻 maps 𝐴 one-to-one into the ordinals. This is the ZFC version of (5 6) in https://tinyurl.com/hamkins-gblac. Note that in NBG set theory the antecedent would be something like 𝑋𝑋 ∈ V → ∃𝐹𝐹:𝑋1-1-onto→On), but since we cannot quantify over classes, we instead consider only the case 𝑋 = V which is sufficient for this proof. This theorem can also be viewed as (2 6). (Contributed by BTernaryTau, 10-Jun-2026.)
𝐻 = (𝐹𝐴)       (𝐹:V–1-1-onto→On → 𝐻:𝐴1-1→On)
 
10-Jun-2026bdaydm 27979 The birthday function's domain is No . (Contributed by Scott Fenton, 14-Jun-2011.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
dom bday = No
 
10-Jun-2026pige0 26661 π is nonnegative. (Contributed by Umit Teoman Dogan, 10-Jun-2026.)
0 ≤ π
 
10-Jun-20262picn 26659 (2 · π) is a complex number. (Contributed by Umit Teoman Dogan, 10-Jun-2026.)
(2 · π) ∈ ℂ
 
10-Jun-20262pire 26657 (2 · π) is a real number. (Contributed by Umit Teoman Dogan, 10-Jun-2026.)
(2 · π) ∈ ℝ
 
10-Jun-202610nprm 17198 10 is not a prime number. (Contributed by Mario Carneiro, 18-Feb-2014.) (Revised by AV, 6-Sep-2021.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
¬ 10 ∈ ℙ
 
10-Jun-20261lt10 12874 1 is less than 10. (Contributed by NM, 7-Nov-2012.) (Revised by Mario Carneiro, 9-Mar-2015.) (Revised by AV, 8-Sep-2021.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
1 < 10
 
10-Jun-20262lt10 12873 2 is less than 10. (Contributed by Mario Carneiro, 10-Mar-2015.) (Revised by AV, 8-Sep-2021.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
2 < 10
 
10-Jun-20263lt10 12872 3 is less than 10. (Contributed by Mario Carneiro, 10-Mar-2015.) (Revised by AV, 8-Sep-2021.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
3 < 10
 
10-Jun-20264lt10 12871 4 is less than 10. (Contributed by Mario Carneiro, 10-Mar-2015.) (Revised by AV, 8-Sep-2021.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
4 < 10
 
10-Jun-20265lt10 12870 5 is less than 10. (Contributed by Mario Carneiro, 10-Mar-2015.) (Revised by AV, 8-Sep-2021.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
5 < 10
 
10-Jun-20266lt10 12869 6 is less than 10. (Contributed by Mario Carneiro, 10-Mar-2015.) (Revised by AV, 8-Sep-2021.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
6 < 10
 
10-Jun-20267lt10 12868 7 is less than 10. (Contributed by Mario Carneiro, 10-Mar-2015.) (Revised by AV, 8-Sep-2021.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
7 < 10
 
10-Jun-20268lt10 12867 8 is less than 10. (Contributed by Mario Carneiro, 8-Feb-2015.) (Revised by AV, 8-Sep-2021.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
8 < 10
 
10-Jun-20269t11e99 12864 9 times 11 equals 99. (Contributed by AV, 14-Jun-2021.) (Revised by AV, 6-Sep-2021.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
(9 · 11) = 99
 
10-Jun-202611nn 12754 11 is a positive integer. (Contributed by Umit Teoman Dogan, 10-Jun-2026.)
11 ∈ ℕ
 
10-Jun-202625nn0 12748 25 is a nonnegative integer. (Contributed by Umit Teoman Dogan, 10-Jun-2026.)
25 ∈ ℕ0
 
10-Jun-202616nn0 12747 16 is a nonnegative integer. (Contributed by Umit Teoman Dogan, 10-Jun-2026.)
16 ∈ ℕ0
 
10-Jun-202612nn0 12746 12 is a nonnegative integer. (Contributed by Umit Teoman Dogan, 10-Jun-2026.)
12 ∈ ℕ0
 
10-Jun-202611nn0 12745 11 is a nonnegative integer. (Contributed by Umit Teoman Dogan, 10-Jun-2026.)
11 ∈ ℕ0
 
10-Jun-20262le3 12433 2 is less than or equal to 3. (Contributed by Umit Teoman Dogan, 10-Jun-2026.)
2 ≤ 3
 
10-Jun-20262t4e8 12428 2 times 4 equals 8. (Contributed by Umit Teoman Dogan, 10-Jun-2026.)
(2 · 4) = 8
 
10-Jun-20262t3e6 12425 2 times 3 equals 6. (Contributed by Umit Teoman Dogan, 10-Jun-2026.)
(2 · 3) = 6
 
10-Jun-20262m1e1 12383 2 - 1 = 1. The result is on the right-hand-side to be consistent with similar proofs like 4p4e8 12413. (Contributed by David A. Wheeler, 4-Jan-2017.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
(2 − 1) = 1
 
10-Jun-20269pos 12375 The number 9 is positive. (Contributed by NM, 27-May-1999.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
0 < 9
 
10-Jun-20268pos 12374 The number 8 is positive. (Contributed by NM, 27-May-1999.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
0 < 8
 
10-Jun-20267pos 12373 The number 7 is positive. (Contributed by NM, 27-May-1999.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
0 < 7
 
10-Jun-20266pos 12372 The number 6 is positive. (Contributed by NM, 27-May-1999.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
0 < 6
 
10-Jun-20265pos 12371 The number 5 is positive. (Contributed by NM, 27-May-1999.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
0 < 5
 
10-Jun-20264pos 12369 The number 4 is positive. (Contributed by NM, 27-May-1999.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
0 < 4
 
10-Jun-20263pos 12367 The number 3 is positive. (Contributed by NM, 27-May-1999.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
0 < 3
 
10-Jun-20262thalfe1 12366 2 times one half equals 1. (Contributed by Umit Teoman Dogan, 10-Jun-2026.)
(2 · (1 / 2)) = 1
 
10-Jun-20262pos 12363 The number 2 is positive. (Contributed by NM, 27-May-1999.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
0 < 2
 
10-Jun-20260le2 12361 The number 0 is less than or equal to 2. (Contributed by David A. Wheeler, 7-Dec-2018.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
0 ≤ 2
 
10-Jun-20261eltp012 12329 1 is an element of {0, 1, 2}. (Contributed by Umit Teoman Dogan, 10-Jun-2026.)
1 ∈ {0, 1, 2}
 
10-Jun-20261elpr01 11222 1 is an element of {0, 1}. (Contributed by Umit Teoman Dogan, 10-Jun-2026.)
1 ∈ {0, 1}
 
10-Jun-20260elpr01 11219 0 is an element of {0, 1}. (Contributed by Umit Teoman Dogan, 10-Jun-2026.)
0 ∈ {0, 1}
 
10-Jun-2026cfon 10256 The cofinality of any set is an ordinal (although it only makes sense when 𝐴 is an ordinal). (Contributed by Mario Carneiro, 9-Mar-2013.) Avoid ax-pow 5341 and ax-un 7745. (Revised by Umit Teoman Dogan, 10-Jun-2026.)
(cf‘𝐴) ∈ On
 
10-Jun-20261n0 8481 Ordinal one is not equal to ordinal zero. (Contributed by NM, 26-Dec-2004.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
1o ≠ ∅
 
10-Jun-20261oelpr 8473 1o is an element of {∅, 1o}. (Contributed by Umit Teoman Dogan, 10-Jun-2026.)
1o ∈ {∅, 1o}
 
10-Jun-2026tfrlem6 8377 Lemma for transfinite recursion. The union of all acceptable functions is a relation. (Contributed by NM, 8-Aug-1994.) (Revised by Mario Carneiro, 9-May-2015.) Avoid ax-10 2179, ax-nul 5274, ax-pr 5409, ax-sep 5262 and ax-un 7745. (Revised by Umit Teoman Dogan, 10-Jun-2026.)
𝐴 = {𝑓 ∣ ∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = (𝐹‘(𝑓𝑦)))}       Rel recs(𝐹)
 
10-Jun-2026pwuninel 8280 The powerclass of the union of a class does not belong to that class. This theorem provides a way of constructing a new set that does not belong to a given set. See also pwuninel2 8279. (Contributed by NM, 27-Jun-2008.) (Proof shortened by Mario Carneiro, 23-Dec-2016.) Avoid ax-pr 5409 and ax-un 7745. (Revised by Umit Teoman Dogan, 10-Jun-2026.)
¬ 𝒫 𝐴𝐴
 
10-Jun-2026peano3 7896 The successor of any natural number is not zero. One of Peano's five postulates for arithmetic. Proposition 7.30(3) of [TakeutiZaring] p. 42. (Contributed by NM, 3-Sep-2003.) Avoid ax-nul 5274. (Revised by Umit Teoman Dogan, 10-Jun-2026.)
(𝐴 ∈ ω → suc 𝐴 ≠ ∅)
 
10-Jun-2026f1odm 6831 The domain of a one-to-one onto mapping. (Contributed by NM, 8-Mar-2014.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
(𝐹:𝐴1-1-onto𝐵 → dom 𝐹 = 𝐴)
 
10-Jun-2026f1rel 6785 A one-to-one onto mapping is a relation. (Contributed by NM, 8-Mar-2014.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
(𝐹:𝐴1-1𝐵 → Rel 𝐹)
 
10-Jun-2026f1fun 6783 A one-to-one mapping is a function. (Contributed by NM, 8-Mar-2014.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
(𝐹:𝐴1-1𝐵 → Fun 𝐹)
 
10-Jun-2026ffun 6715 A mapping is a function. (Contributed by NM, 3-Aug-1994.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
(𝐹:𝐴𝐵 → Fun 𝐹)
 
10-Jun-2026cnvcnvss 6197 The double converse of a class is a subclass. Exercise 2 of [TakeutiZaring] p. 25. (Contributed by NM, 23-Jul-2004.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
𝐴𝐴
 
10-Jun-2026rnin 6148 The range of an intersection belongs the intersection of ranges. Theorem 9 of [Suppes] p. 60. (Contributed by NM, 15-Sep-2004.) Avoid ax-pr 5409 and ax-sep 5262. (Revised by Umit Teoman Dogan, 10-Jun-2026.)
ran (𝐴𝐵) ⊆ (ran 𝐴 ∩ ran 𝐵)
 
10-Jun-2026nrelv 5791 The universal class is not a relation. (Contributed by Thierry Arnoux, 23-Jan-2022.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
¬ Rel V
 
10-Jun-2026uniin 4901 The class union of the intersection of two classes. Exercise 4.12(n) of [Mendelson] p. 235. See uniinqs 8804 for a condition where equality holds. (Contributed by NM, 4-Dec-2003.) (Proof shortened by Andrew Salmon, 29-Jun-2011.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
(𝐴𝐵) ⊆ ( 𝐴 𝐵)
 
10-Jun-2026pwidg 4587 A set is an element of its power set. (Contributed by Stefan O'Rear, 1-Feb-2015.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
(𝐴𝑉𝐴 ∈ 𝒫 𝐴)
 
10-Jun-2026rab0 4345 Any restricted class abstraction restricted to the empty set is empty. (Contributed by NM, 15-Oct-2003.) (Proof shortened by Andrew Salmon, 26-Jun-2011.) (Proof shortened by JJ, 14-Jul-2021.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
{𝑥 ∈ ∅ ∣ 𝜑} = ∅
 
10-Jun-2026ssinss1 4201 Intersection preserves subclass relationship. (Contributed by NM, 14-Sep-1999.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
(𝐴𝐶 → (𝐴𝐵) ⊆ 𝐶)
 
10-Jun-2026pssirr 4060 Proper subclass is irreflexive. Theorem 7 of [Suppes] p. 23. (Contributed by NM, 7-Feb-1996.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
¬ 𝐴𝐴
 
10-Jun-2026nbbn 386 Move negation outside of biconditional. Compare Theorem *5.18 of [WhiteheadRussell] p. 124. (Contributed by NM, 27-Jun-2002.) (Proof shortened by Wolf Lammen, 20-Sep-2013.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
((¬ 𝜑𝜓) ↔ ¬ (𝜑𝜓))
 
9-Jun-2026wevonprcf1o 35621 If 𝑅 is a set-like well-ordering of the universe and 𝐴 is a proper class, then 𝐹 is a bijection from the ordinals to 𝐴. This is the ZFC version of (4 5) in https://tinyurl.com/hamkins-gblac. (Contributed by BTernaryTau, 9-Jun-2026.)
𝐹 = OrdIso(𝑅, 𝐴)       ((𝑅 We V ∧ 𝑅 Se V ∧ ¬ 𝐴 ∈ V) → 𝐹:On–1-1-onto𝐴)
 
9-Jun-2026ordtypeon 35506 A proper class with a set-like well-ordering is isomorphic to the proper class of all ordinal numbers. (Contributed by BTernaryTau, 9-Jun-2026.)
𝐹 = OrdIso(𝑅, 𝐴)       ((𝑅 We 𝐴𝑅 Se 𝐴 ∧ ¬ 𝐴 ∈ V) → 𝐹 Isom E , 𝑅 (On, 𝐴))
 
9-Jun-2026ordprcon 35503 If an ordinal class is not a set, then it must be the proper class of all ordinals. (Contributed by BTernaryTau, 9-Jun-2026.)
((Ord 𝐴 ∧ ¬ 𝐴 ∈ V) → 𝐴 = On)
 
8-Jun-2026vonf1osev 35620 If 𝐹 is a bijection from the universe to the ordinals, then 𝑅 is a set-like well-ordering of the universe. This is the ZFC version of (2 4) which is used in place of (3 4) in https://tinyurl.com/hamkins-gblac. This proof takes advantage of the fact that the well-order constructed in (2 3) is also set-like. (Contributed by BTernaryTau, 8-Jun-2026.)
𝑅 = {⟨𝑥, 𝑦⟩ ∣ (𝐹𝑥) ∈ (𝐹𝑦)}       (𝐹:V–1-1-onto→On → (𝑅 We V ∧ 𝑅 Se V))
 
7-Jun-2026pm2.65i 196 Inference for proof by contradiction. (Contributed by NM, 18-May-1994.) (Proof shortened by Wolf Lammen, 11-Sep-2013.) (Proof shortened by Garrett Katz, 7-Jun-2026.)
(𝜑𝜓)    &   (𝜑 → ¬ 𝜓)        ¬ 𝜑
 
6-Jun-2026rlocisunit 33627 Characterize the units of the localization 𝐿 of a ring 𝑅 at 𝑆 as the elements with a "numerator" 𝑃 in the saturation 𝑇 of 𝑆. (Contributed by Thierry Arnoux, 6-Jun-2026.)
𝐵 = (Base‘𝑅)    &    · = (.r𝑅)    &   𝐿 = (𝑅 RLocal 𝑆)    &   𝑊 = (Unit‘𝐿)    &   (𝜑𝑅 ∈ CRing)    &   (𝜑𝑆 ∈ (SubMnd‘(mulGrp‘𝑅)))    &    = (𝑅 ~RL 𝑆)    &   (𝜑𝑃𝐵)    &   (𝜑𝑄𝑆)    &   𝑇 = {𝑟𝐵 ∣ ∃𝑠𝐵 (𝑟 · 𝑠) ∈ 𝑆}       (𝜑 → ([⟨𝑃, 𝑄⟩] 𝑊𝑃𝑇))
 
6-Jun-2026rlocinvunit 33626 In the localization of a ring 𝑅 at 𝑆, inverses of elements of 𝑆 are units. (Contributed by Thierry Arnoux, 6-Jun-2026.)
𝐵 = (Base‘𝑅)    &    1 = (1r𝑅)    &    = (𝑅 ~RL 𝑆)    &   𝐿 = (𝑅 RLocal 𝑆)    &   𝑊 = (Unit‘𝐿)    &   (𝜑𝑅 ∈ CRing)    &   (𝜑𝑆 ∈ (SubMnd‘(mulGrp‘𝑅)))    &   (𝜑𝑄𝑆)       (𝜑 → [⟨ 1 , 𝑄⟩] 𝑊)
 
6-Jun-2026isunitc 33592 Characterize units in a commutative ring. (Contributed by Thierry Arnoux, 6-Jun-2026.)
𝐵 = (Base‘𝑅)    &   𝑈 = (Unit‘𝑅)    &    · = (.r𝑅)    &    1 = (1r𝑅)    &   (𝜑𝑋𝐵)    &   (𝜑𝑅 ∈ CRing)       (𝜑 → (𝑋𝑈 ↔ ∃𝑦𝐵 (𝑋 · 𝑦) = 1 ))
 
6-Jun-2026prmidlsubm 21524 The complement of a prime ideal is multiplicatively closed. Converse of ssdifidlprm 21523. (Contributed by Thierry Arnoux, 6-Jun-2026.)
𝐵 = (Base‘𝑅)    &   (𝜑𝑅 ∈ CRing)    &   (𝜑𝑃 ∈ (PrmIdeal‘𝑅))       (𝜑 → (𝐵𝑃) ∈ (SubMnd‘(mulGrp‘𝑅)))
 
6-Jun-2026prmidlprop 21513 Property of prime ideals. (Contributed by Thierry Arnoux, 6-Jun-2026.)
𝐵 = (Base‘𝑅)    &    · = (.r𝑅)    &   (𝜑𝑅 ∈ CRing)    &   (𝜑𝑃 ∈ (PrmIdeal‘𝑅))    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)    &   (𝜑 → (𝑋 · 𝑌) ∈ 𝑃)       (𝜑 → (𝑋𝑃𝑌𝑃))
 
5-Jun-2026sbrimvw 2128 Substitution in an implication with a variable not free in the antecedent affects only the consequent. Version of sbrim 2342 based on fewer axioms, but with more disjoint variable conditions. (Contributed by Wolf Lammen, 29-Jan-2024.) Remove DV condition. (Revised by Wolf Lammen, 5-Jun-2026.)
([𝑦 / 𝑥](𝜑𝜓) ↔ (𝜑 → [𝑦 / 𝑥]𝜓))
 
4-Jun-2026morleylemrneab 35090 Lemma for morley . (Contributed by TA and SS, 4-Jun-2026.)
𝑆 = (Base‘𝐺)    &   𝐿 = (LineG‘𝐺)    &    = (cgrA‘𝐺)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝐴𝑆)    &   (𝜑𝐵𝑆)    &   (𝜑𝐶𝑆)    &   (𝜑𝑃𝑆)    &   (𝜑𝑄𝑆)    &   (𝜑𝑅𝑆)    &   (𝜑 → ¬ (𝐶 ∈ (𝐴𝐿𝐵) ∨ 𝐴 = 𝐵))    &   (𝜑 → ⟨“𝐶𝐴𝑄”⟩ ⟨“𝑄𝐴𝑅”⟩)    &   (𝜑 → ⟨“𝑅𝐴𝐵”⟩ ⟨“𝑄𝐴𝑅”⟩)    &   (𝜑 → ⟨“𝐴𝐵𝑅”⟩ ⟨“𝑅𝐵𝑃”⟩)    &   (𝜑 → ⟨“𝑃𝐵𝐶”⟩ ⟨“𝑅𝐵𝑃”⟩)    &   (𝜑 → ⟨“𝐵𝐶𝑃”⟩ ⟨“𝑃𝐶𝑄”⟩)    &   (𝜑 → ⟨“𝑄𝐶𝐴”⟩ ⟨“𝑃𝐶𝑄”⟩)       (𝜑 → ¬ 𝑅 ∈ (𝐴𝐿𝐵))
 
4-Jun-2026btwnlng13 35089 If 𝑍 is between 𝑋 and 𝑌, or 𝑌 is between 𝑋 and 𝑍, then 𝑍 lies on the line 𝑋𝑌. (Contributed by SS, 4-Jun-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝑋𝑃)    &   (𝜑𝑌𝑃)    &   (𝜑𝑍𝑃)    &   (𝜑𝑋𝑌)    &   (𝜑 → (𝑍 ∈ (𝑋𝐼𝑌) ∨ 𝑌 ∈ (𝑋𝐼𝑍)))       (𝜑𝑍 ∈ (𝑋𝐿𝑌))
 
4-Jun-2026cgranbtwn 35088 Null angle implies betweenness. (Contributed by SS, 4-Jun-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   (𝜑𝐺 ∈ TarskiG)    &   (𝜑𝐴𝑃)    &   (𝜑𝐵𝑃)    &   (𝜑𝐶𝑃)    &   (𝜑𝐷𝑃)    &   (𝜑𝐸𝑃)    &   (𝜑𝐹𝑃)    &   (𝜑 → ⟨“𝐴𝐵𝐶”⟩(cgrA‘𝐺)⟨“𝐷𝐸𝐹”⟩)    &   (𝜑𝐴 ∈ (𝐵𝐼𝐶))       (𝜑 → (𝐷 ∈ (𝐸𝐼𝐹) ∨ 𝐹 ∈ (𝐸𝐼𝐷)))
 
4-Jun-2026csbcnv 5877 Move class substitution in and out of the converse of a relation. (Contributed by Thierry Arnoux, 8-Feb-2017.) (Revised by NM, 23-Aug-2018.) Remove dependency on ax-sep 5262 and ax-pr 5409. (Revised by Eric Schmidt, 4-Jun-2026.)
𝐴 / 𝑥𝐹 = 𝐴 / 𝑥𝐹
 
4-Jun-2026abab 840 Introduce one conjunct as equivalent to the other. "abab" stands for "and, biconditional, and, biconditional". (Contributed by Wolf Lammen, 4-Jun-2026.)
((𝜑𝜓) ↔ (𝜑 ∧ (𝜑𝜓)))
 
3-Jun-2026fldlring 33820 A field is a local ring. (Contributed by Thierry Arnoux, 3-Jun-2026.) (Proof modification is discouraged.)
(𝜑𝐹 ∈ Field)       (𝜑𝐹 ∈ LRing)
 
2-Jun-2026nmulprop 36703 Show closure and value of natural multiplication. (Contributed by Scott Fenton, 2-Jun-2026.)
((𝐴 ∈ On ∧ 𝐵 ∈ On) → ((𝐴 ·no 𝐵) ∈ On ∧ (𝐴 ·no 𝐵) = {𝑥 ∈ On ∣ ∀𝑎𝐴𝑏𝐵 ((𝑎 ·no 𝐵) +no (𝐴 ·no 𝑏)) ∈ (𝑥 +no (𝑎 ·no 𝑏))}))
 
2-Jun-2026nmulfn 36702 Natural multiplication is a function over pairs of ordinals. (Contributed by Scott Fenton, 2-Jun-2026.)
·no Fn (On × On)
 
2-Jun-2026df-nmul 36701 Define natural ordinal multiplication. This is the corresponding operation to df-nadd 8661. (Contributed by Scott Fenton, 2-Jun-2026.)
·no = frecs({⟨𝑥, 𝑦⟩ ∣ (𝑥 ∈ (On × On) ∧ 𝑦 ∈ (On × On) ∧ (((1st𝑥) E (1st𝑦) ∨ (1st𝑥) = (1st𝑦)) ∧ ((2nd𝑥) E (2nd𝑦) ∨ (2nd𝑥) = (2nd𝑦)) ∧ 𝑥𝑦))}, (On × On), (𝑝 ∈ V, 𝑚 ∈ V ↦ (1st𝑝) / 𝑎(2nd𝑝) / 𝑏 {𝑧 ∈ On ∣ ∀𝑐𝑎𝑑𝑏 ((𝑐𝑚𝑏) +no (𝑎𝑚𝑑)) ∈ (𝑧 +no (𝑐𝑚𝑑))}))
 
2-Jun-2026dflring4 33819 Alternate definition of a local ring: the set (𝐵𝑈) of non-units is an ideal. (Contributed by Thierry Arnoux, 2-Jun-2026.)
𝐵 = (Base‘𝑅)    &   𝑈 = (Unit‘𝑅)       (𝑅 ∈ CRing → (𝑅 ∈ LRing ↔ (𝐵𝑈) ∈ (LIdeal‘𝑅)))
 
2-Jun-2026dflring3 33818 Alternate definition of a local ring: local rings have a single maximal ideal. (Contributed by Thierry Arnoux, 2-Jun-2026.)
(𝑅 ∈ CRing → (𝑅 ∈ LRing ↔ (MaxIdeal‘𝑅) ≈ 1o))
 
2-Jun-2026dflringlem3 33817 Lemma for dflring3 33818. In a commutative local ring 𝑅, the set (𝐵𝑈) of non-units is a maximal ideal. (Contributed by Thierry Arnoux, 2-Jun-2026.)
𝐵 = (Base‘𝑅)    &   𝑈 = (Unit‘𝑅)    &   (𝜑𝑅 ∈ CRing)    &   (𝜑𝑅 ∈ LRing)       (𝜑 → (𝐵𝑈) ∈ (MaxIdeal‘𝑅))
 
2-Jun-2026dflringlem2 33816 Lemma for dflring3 33818. In a commutative local ring 𝑅, the set (𝐵𝑈) of non-units is an ideal. (Contributed by Thierry Arnoux, 2-Jun-2026.)
𝐵 = (Base‘𝑅)    &   𝑈 = (Unit‘𝑅)    &   (𝜑𝑅 ∈ CRing)    &   (𝜑𝑅 ∈ LRing)       (𝜑 → (𝐵𝑈) ∈ (LIdeal‘𝑅))
 
2-Jun-2026dflringlem 33815 Lemma for dflring3 33818. If a ring 𝑅 has a single maximal ideal 𝑀, then any element 𝑋 outside of 𝑀 is a unit. (Contributed by Thierry Arnoux, 2-Jun-2026.)
𝐵 = (Base‘𝑅)    &   𝑈 = (Unit‘𝑅)    &   (𝜑𝑅 ∈ CRing)    &   (𝜑𝑀 ∈ (MaxIdeal‘𝑅))    &   (𝜑 → (MaxIdeal‘𝑅) = {𝑀})    &   (𝜑𝑋 ∈ (𝐵𝑀))       (𝜑𝑋𝑈)
 
2-Jun-2026dflring2 33814 Alternate definition of a local ring. (Contributed by Thierry Arnoux, 2-Jun-2026.)
𝐵 = (Base‘𝑅)    &   𝑈 = (Unit‘𝑅)    &    1 = (1r𝑅)    &    = (-g𝑅)       (𝑅 ∈ LRing ↔ (𝑅 ∈ NzRing ∧ ∀𝑥𝐵 (𝑥𝑈 ∨ ( 1 𝑥) ∈ 𝑈)))
 
2-Jun-2026drnglring 33813 A division ring is a local ring. (Contributed by Thierry Arnoux, 2-Jun-2026.)
(𝜑𝐹 ∈ DivRing)       (𝜑𝐹 ∈ LRing)
 
26-May-2026axpowg3 35585 A generalization of ax-pow 5341 that combines axpowg 35583 and axpowg2 35584 into a single theorem scheme. Unlike ax-pow 5341, this scheme lacks a distinct variable condition for 𝑦 and 𝑤 as well as for 𝑥 and 𝑤. Usage of this theorem is discouraged because it depends on ax-13 2407. (Contributed by BTernaryTau, 26-May-2026.) (New usage is discouraged.)
𝑦𝑧(∀𝑤(𝑤𝑧𝑤𝑥) → 𝑧𝑦)
 
26-May-2026axpowg2 35584 A generalization of ax-pow 5341 in which 𝑥 and 𝑤 need not be distinct. This theorem scheme bundles ax-pow 5341 with the degenerate instance 𝑦𝑧(∀𝑥(𝑥𝑧𝑥𝑥) → 𝑧𝑦) which is satisfied by the existence of a set that contains all empty sets (see axprlem1 5399). Usage of this theorem is discouraged because it depends on ax-13 2407. (Contributed by BTernaryTau, 26-May-2026.) (New usage is discouraged.)
𝑦𝑧(∀𝑤(𝑤𝑧𝑤𝑥) → 𝑧𝑦)
 
26-May-2026axpowg 35583 A generalization of ax-pow 5341 that combines it and zfpow 5342 into a single theorem scheme. Unlike ax-pow 5341, this scheme lacks a distinct variable condition for 𝑦 and 𝑤. (Contributed by BTernaryTau, 26-May-2026.)
𝑦𝑧(∀𝑤(𝑤𝑧𝑤𝑥) → 𝑧𝑦)
 
25-May-2026expt 178 Exportation theorem pm3.3 454 (closed form of ex 418) expressed with primitive connectives. (Contributed by NM, 28-Dec-1992.) (Proof shortened by Garrett Katz, 25-May-2026.)
((¬ (𝜑 → ¬ 𝜓) → 𝜒) → (𝜑 → (𝜓𝜒)))
 
24-May-2026axsepg5 35581 A generalization of ax-sep 5262 that combines axsepg 5263, axsepg2 35577, and axsepg3 35578 into a single theorem scheme. Unlike ax-sep 5262, this scheme lacks a distinct variable condition for 𝜑 and 𝑧, for 𝑥 and 𝑧, and for 𝑦 and 𝑧. Usage of this theorem is discouraged because it depends on ax-13 2407. (Contributed by BTernaryTau, 24-May-2026.) (New usage is discouraged.)
𝑦𝑥(𝑥𝑦 ↔ (𝑥𝑧𝜑))
 
24-May-2026axsepg4 35580 A generalization of ax-sep 5262 that combines axsepg 5263 and axsepg2 35577 into a single theorem scheme. Unlike ax-sep 5262, this scheme lacks a distinct variable condition for 𝜑 and 𝑧 as well as for 𝑥 and 𝑧. Usage of this theorem is discouraged because it depends on ax-13 2407. (Contributed by BTernaryTau, 24-May-2026.) (New usage is discouraged.)
𝑦𝑥(𝑥𝑦 ↔ (𝑥𝑧𝜑))
 
23-May-2026elirrv 9569 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 9583 and efrirr 5646 (see elirrvALT 9584), but this proof is direct from ax-reg 9564. (Contributed by NM, 19-Aug-1993.) Reduce axiom dependencies and make use of ax-reg 9564 directly. (Revised by BTernaryTau, 27-Dec-2025.) Avoid ax-pr 5409. (Revised by BTernaryTau, 21-May-2026.) (Proof shortened by Matthew House, 23-May-2026.)
¬ 𝑥𝑥
 
22-May-2026bilanri 512 Inference adding a conjunct to the right-hand side of a biconditional. (Contributed by Matthew House, 22-May-2026.)
(𝜑𝜓)       ((𝜒𝜓) → 𝜑)
 
22-May-2026biranri 511 Inference adding a conjunct to the right-hand side of a biconditional. (Contributed by Matthew House, 22-May-2026.)
(𝜑𝜓)       ((𝜓𝜒) → 𝜑)
 
22-May-2026bilani 510 Inference adding a conjunct to the left-hand side of a biconditional. (Contributed by Matthew House, 22-May-2026.)
(𝜑𝜓)       ((𝜒𝜑) → 𝜓)
 
22-May-2026birani 509 Inference adding a conjunct to the left-hand side of a biconditional. (Contributed by Matthew House, 22-May-2026.)
(𝜑𝜓)       ((𝜑𝜒) → 𝜓)
 
21-May-2026axsepg2 35577 A generalization of ax-sep 5262 in which 𝑥 and 𝑧 need not be distinct. This theorem scheme bundles ax-sep 5262 with the degenerate instance 𝑦𝑧(𝑧𝑦 ↔ (𝑧𝑧𝜑)) which is satisfied by the existence of the empty set. Usage of this theorem is discouraged because it depends on ax-13 2407. (Contributed by BTernaryTau, 21-May-2026.) (New usage is discouraged.)
𝑦𝑥(𝑥𝑦 ↔ (𝑥𝑧𝜑))
 
9-May-2026goldratmolem2 47664 Lemma 2 for determining the value of golden ratio. (Contributed by Ender Ting, 9-May-2026.)
𝐹 = (2 · (cos‘(π / 5)))       -1 = ((((𝐹↑5) / 2) − (5 · ((𝐹↑3) / 2))) + (5 · (𝐹 / 2)))
 
9-May-2026goldracos5teq 47663 Lemma 1 for determining the value of golden ratio. (Contributed by Ender Ting, 9-May-2026.)
𝐹 = (2 · (cos‘(π / 5)))       (cos‘π) = (((16 · ((𝐹 / 2)↑5)) − (20 · ((𝐹 / 2)↑3))) + (5 · (𝐹 / 2)))
 
9-May-2026cos5teq 47658 Five-times-angle formula for cosine, substitution helper. (Contributed by Ender Ting, 9-May-2026.)
((𝐴 ∈ ℂ ∧ 𝐵 = (5 · 𝐴) ∧ 𝐶 = (cos‘𝐴)) → (cos‘𝐵) = (((16 · (𝐶↑5)) − (20 · (𝐶↑3))) + (5 · 𝐶)))
 
9-May-2026quantgodel 47629 There can be no formula asserting its own non-universality, in parallel to bj-babygodel 37237; proof path is shorter but relying on a property of specialization which provability predicates do not have. For a matching proof, see quantgodelALT 47630. (Contributed by Ender Ting, 9-May-2026.)
(𝜑 ↔ ¬ ∀𝑥𝜑)       
 
9-May-2026funopsn 7151 If a function is an ordered pair then it is a singleton of an ordered pair. (Contributed by AV, 20-Sep-2020.) (Proof shortened by AV, 15-Jul-2021.) (Proof shortened by Eric Schmidt, 9-May-2026.) A function is a class of ordered pairs, so the fact that an ordered pair may sometimes be itself a function is an "accident" depending on the specific encoding of ordered pairs as classes (in set.mm, the Kuratowski encoding). A more meaningful statement is funsng 6594, as relsnopg 5795 is to relop 5841. (New usage is discouraged.)
𝑋 ∈ V    &   𝑌 ∈ V       ((Fun 𝐹𝐹 = ⟨𝑋, 𝑌⟩) → ∃𝑎(𝑋 = {𝑎} ∧ 𝐹 = {⟨𝑎, 𝑎⟩}))
 
9-May-2026iunopeqop 5509 Implication of an ordered pair being equal to an indexed union of singletons of ordered pairs. (Contributed by AV, 20-Sep-2020.) Remove antecedent. (Revised by Eric Schmidt, 9-May-2026.) (Avoid depending on this detail.)
𝐵 ∈ V    &   𝐶 ∈ V    &   𝐷 ∈ V       ( 𝑥𝐴 {⟨𝑥, 𝐵⟩} = ⟨𝐶, 𝐷⟩ → ∃𝑧 𝐴 = {𝑧})
 
7-May-2026quantgodelALT 47630 There can be no formula asserting its own non-universality; follows the steps of bj-babygodel 37237. (Contributed by Ender Ting, 7-May-2026.) (New usage is discouraged.) (Proof modification is discouraged.)
(𝜑 ↔ ¬ ∀𝑥𝜑)       
 
4-May-2026mplidom 33949 The multivariate polynomials over an integral domain form an integral domain. See ply1idom 26319. (Contributed by Thierry Arnoux, 4-May-2026.)
𝑃 = (𝐼 mPoly 𝑅)    &   (𝜑𝐼 ∈ Fin)    &   (𝜑𝑅 ∈ IDomn)       (𝜑𝑃 ∈ IDomn)
 
4-May-2026mplidomlem 33948 Lemma for mplidom 33949. (Contributed by Thierry Arnoux, 4-May-2026.)
𝑃 = (𝐼 mPoly 𝑅)    &   (𝜑𝐼 ∈ Fin)    &   (𝜑𝑅 ∈ IDomn)    &   𝐻 = (𝑓𝐶 ↦ (𝑛 ∈ (ℕ0m 1o) ↦ (((((𝑗 ∪ {𝑥}) selectVars 𝑅)‘{𝑥})‘𝑓)‘{⟨𝑥, (𝑛‘∅)⟩})))    &   𝐶 = (Base‘𝑆)    &   𝑆 = ((𝑗 ∪ {𝑥}) mPoly 𝑅)    &   𝑈 = (((𝑗 ∪ {𝑥}) ∖ {𝑥}) mPoly 𝑅)    &   𝑄 = (Poly1𝑈)       (𝜑𝑃 ∈ IDomn)
 
4-May-2026selvply1rhm0 33947 The ring homomorphism 𝐻 built in selvply1rhm 33946 is injective. (Contributed by Thierry Arnoux, 4-May-2026.)
𝐵 = (Base‘𝑃)    &   𝑃 = (𝐼 mPoly 𝑅)    &   𝑈 = ((𝐼 ∖ {𝑋}) mPoly 𝑅)    &   𝑄 = (Poly1𝑈)    &   𝐻 = (𝑓𝐵 ↦ (𝑛 ∈ (ℕ0m 1o) ↦ ((((𝐼 selectVars 𝑅)‘{𝑋})‘𝑓)‘{⟨𝑋, (𝑛‘∅)⟩})))    &   (𝜑𝐼𝑉)    &   (𝜑𝑋𝐼)    &   (𝜑𝑅 ∈ CRing)    &    0 = (0g𝑄)    &   𝑍 = (0g𝑃)    &   (𝜑𝐹𝐵)    &   (𝜑 → (𝐻𝐹) = 0 )       (𝜑𝐹 = 𝑍)
 
4-May-2026selvply1rhm 33946 Build a ring homomorphism 𝐻 between the multivariate polynomials 𝑃 with variables in 𝐼 and the univariate polynomials 𝑄 in a single variable 𝑋 element of 𝐼. (Contributed by Thierry Arnoux, 4-May-2026.)
𝐵 = (Base‘𝑃)    &   𝑃 = (𝐼 mPoly 𝑅)    &   𝑈 = ((𝐼 ∖ {𝑋}) mPoly 𝑅)    &   𝑄 = (Poly1𝑈)    &   𝐻 = (𝑓𝐵 ↦ (𝑛 ∈ (ℕ0m 1o) ↦ ((((𝐼 selectVars 𝑅)‘{𝑋})‘𝑓)‘{⟨𝑋, (𝑛‘∅)⟩})))    &   (𝜑𝐼𝑉)    &   (𝜑𝑋𝐼)    &   (𝜑𝑅 ∈ CRing)       (𝜑𝐻 ∈ (𝑃 RingHom 𝑄))
 
4-May-2026selvply1rhmlem5 33945 Lemma for selvply1rhm 33946. (Contributed by Thierry Arnoux, 4-May-2026.)
𝐵 = (Base‘𝑃)    &   𝑃 = (𝐼 mPoly 𝑅)    &   𝑈 = ((𝐼 ∖ {𝑋}) mPoly 𝑅)    &   𝑄 = (Poly1𝑈)    &   𝐻 = (𝑓𝐵 ↦ (𝑛 ∈ (ℕ0m 1o) ↦ ((((𝐼 selectVars 𝑅)‘{𝑋})‘𝑓)‘{⟨𝑋, (𝑛‘∅)⟩})))    &   (𝜑𝐼𝑉)    &   (𝜑𝑋𝐼)    &   (𝜑𝑅 ∈ CRing)    &   (𝜑𝐹𝐵)    &   𝑀 = (𝑞 ∈ (Base‘({𝑋} mPoly 𝑈)) ↦ (𝑠 ∈ (ℕ0m 1o) ↦ (𝑞‘{⟨𝑋, (𝑠‘∅)⟩})))       (𝜑 → (𝐻𝐹) = (𝑀‘(((𝐼 selectVars 𝑅)‘{𝑋})‘𝐹)))
 
4-May-2026selvply1rhmlem4 33944 Lemma for selvply1rhm 33946: The mapping 𝐻 is linear. (Contributed by Thierry Arnoux, 4-May-2026.)
𝐵 = (Base‘𝑃)    &   𝑃 = (𝐼 mPoly 𝑅)    &   𝑈 = ((𝐼 ∖ {𝑋}) mPoly 𝑅)    &   𝑄 = (Poly1𝑈)    &   𝐻 = (𝑓𝐵 ↦ (𝑛 ∈ (ℕ0m 1o) ↦ ((((𝐼 selectVars 𝑅)‘{𝑋})‘𝑓)‘{⟨𝑋, (𝑛‘∅)⟩})))    &   (𝜑𝐼𝑉)    &   (𝜑𝑋𝐼)    &   (𝜑𝑅 ∈ CRing)    &   (𝜑𝐹𝐵)    &   (𝜑𝐺𝐵)       (𝜑 → (𝐻‘(𝐹(+g𝑃)𝐺)) = ((𝐻𝐹)(+g𝑄)(𝐻𝐺)))
 
4-May-2026selvply1rhmlem3 33943 Lemma for selvply1rhm 33946. (Contributed by Thierry Arnoux, 4-May-2026.)
𝐵 = (Base‘𝑃)    &   𝑃 = (𝐼 mPoly 𝑅)    &   𝑈 = ((𝐼 ∖ {𝑋}) mPoly 𝑅)    &   𝑄 = (Poly1𝑈)    &   𝐻 = (𝑓𝐵 ↦ (𝑛 ∈ (ℕ0m 1o) ↦ ((((𝐼 selectVars 𝑅)‘{𝑋})‘𝑓)‘{⟨𝑋, (𝑛‘∅)⟩})))    &   (𝜑𝐼𝑉)    &   (𝜑𝑋𝐼)    &   (𝜑𝑅 ∈ CRing)    &   (𝜑𝐹𝐵)    &   (𝜑𝑁 ∈ (ℕ0m 1o))       (𝜑 → ((𝐻𝐹)‘𝑁) = ((((𝐼 selectVars 𝑅)‘{𝑋})‘𝐹)‘{⟨𝑋, (𝑁‘∅)⟩}))
 
4-May-2026selvply1rhmlem2 33942 Lemma for selvply1rhm 33946: Image of the ring unit by the mapping 𝐻 (Contributed by Thierry Arnoux, 4-May-2026.)
𝐵 = (Base‘𝑃)    &   𝑃 = (𝐼 mPoly 𝑅)    &   𝑈 = ((𝐼 ∖ {𝑋}) mPoly 𝑅)    &   𝑄 = (Poly1𝑈)    &   𝐻 = (𝑓𝐵 ↦ (𝑛 ∈ (ℕ0m 1o) ↦ ((((𝐼 selectVars 𝑅)‘{𝑋})‘𝑓)‘{⟨𝑋, (𝑛‘∅)⟩})))    &   (𝜑𝐼𝑉)    &   (𝜑𝑋𝐼)    &   (𝜑𝑅 ∈ CRing)       (𝜑 → (𝐻‘(1r𝑃)) = (1r𝑄))
 
4-May-2026selvply1rhmlem1 33941 Lemma for selvply1rhm 33946. (Contributed by Thierry Arnoux, 4-May-2026.)
𝐵 = (Base‘𝑃)    &   𝑃 = (𝐼 mPoly 𝑅)    &   𝑈 = ((𝐼 ∖ {𝑋}) mPoly 𝑅)    &   𝑄 = (Poly1𝑈)    &   𝐻 = (𝑓𝐵 ↦ (𝑛 ∈ (ℕ0m 1o) ↦ ((((𝐼 selectVars 𝑅)‘{𝑋})‘𝑓)‘{⟨𝑋, (𝑛‘∅)⟩})))    &   (𝜑𝐼𝑉)    &   (𝜑𝑋𝐼)    &   (𝜑𝑅 ∈ CRing)       (𝜑𝐻:𝐵⟶(Base‘𝑄))
 
4-May-2026selvply1rhmlemb 33940 Lemma for selvply1rhm 33946. (Contributed by Thierry Arnoux, 4-May-2026.)
𝐵 = (Base‘𝑃)    &   𝑃 = ({𝑋} mPoly 𝑅)    &    · = (.r𝑃)    &    × = (.r𝑄)    &   𝑄 = (Poly1𝑅)    &   𝑀 = (𝑓𝐵 ↦ (𝑛 ∈ (ℕ0m 1o) ↦ (𝑓‘{⟨𝑋, (𝑛‘∅)⟩})))    &   (𝜑𝑋𝑉)    &   (𝜑𝑅 ∈ Ring)    &   (𝜑𝐹𝐵)    &   (𝜑𝐺𝐵)       (𝜑 → (𝑀‘(𝐹 · 𝐺)) = ((𝑀𝐹) × (𝑀𝐺)))
 
4-May-2026selvply1rhmlema 33939 Lemma for selvply1rhm 33946. (Contributed by Thierry Arnoux, 4-May-2026.)
𝐵 = (Base‘𝑃)    &   𝑃 = ({𝑋} mPoly 𝑅)    &    · = (.r𝑃)    &    × = (.r𝑄)    &   𝑄 = (Poly1𝑅)    &   𝑀 = (𝑓𝐵 ↦ (𝑛 ∈ (ℕ0m 1o) ↦ (𝑓‘{⟨𝑋, (𝑛‘∅)⟩})))    &   (𝜑𝑋𝑉)    &   (𝜑𝑅 ∈ Ring)    &   (𝜑𝐹𝐵)       (𝜑 → (𝑀𝐹) ∈ (Base‘𝑄))
 
4-May-2026selvascl 33938 The "variable selection" function evaluated at a scalar. (Contributed by Thierry Arnoux, 4-May-2026.)
𝐵 = (Base‘𝑅)    &   𝑃 = (𝐼 mPoly 𝑅)    &   𝐴 = (algSc‘𝑃)    &   𝐶 = (algSc‘𝑇)    &   (𝜑𝐼𝑉)    &   (𝜑𝑋𝐵)    &   𝑈 = ((𝐼𝐽) mPoly 𝑅)    &   𝑇 = (𝐽 mPoly 𝑈)    &   𝐷 = (𝐶 ∘ (algSc‘𝑈))    &   (𝜑𝑅 ∈ CRing)    &   (𝜑𝐽𝐼)       (𝜑 → (((𝐼 selectVars 𝑅)‘𝐽)‘(𝐴𝑋)) = (𝐷𝑋))
 
4-May-2026mplasclco 33937 Case where composing an algebra scalar lifting functions with a scalar leads to a scalar. This is useful when working with selectVars. (Contributed by Thierry Arnoux, 4-May-2026.)
𝑆 = (Base‘𝑅)    &   𝑂 = (𝐽 mPoly 𝑅)    &   𝑃 = (𝐼 mPoly 𝑅)    &   𝑄 = (𝐼 mPoly 𝑂)    &   𝐴 = (algSc‘𝑂)    &   𝐵 = (algSc‘𝑃)    &   𝐶 = (algSc‘𝑄)    &   𝐷 = { ∈ (ℕ0m 𝐼) ∣ ( “ ℕ) ∈ Fin}    &   𝐸 = {𝑗 ∈ (ℕ0m 𝐽) ∣ (𝑗 “ ℕ) ∈ Fin}    &   (𝜑𝐼𝑉)    &   (𝜑𝐽𝐼)    &   (𝜑𝑅 ∈ CRing)    &   (𝜑𝑋𝑆)       (𝜑 → (𝐴 ∘ (𝐵𝑋)) = (𝐶‘(𝐴𝑋)))
 
4-May-20260mplric 33936 Multivariate polynomials with no variables are isomorphic with the underlying ring. (Contributed by Thierry Arnoux, 4-May-2026.)
𝐵 = (Base‘𝑃)    &   𝑃 = (∅ mPoly 𝑅)    &   (𝜑𝑅 ∈ Ring)       (𝜑𝑃𝑟 𝑅)
 
4-May-20260mplrim 33935 Build a ring isomorphism between multivariate polynomials with no variables and the underlying ring. (Contributed by Thierry Arnoux, 4-May-2026.)
𝐵 = (Base‘𝑃)    &   𝑃 = (∅ mPoly 𝑅)    &   (𝜑𝑅 ∈ Ring)    &   𝐹 = (𝑝𝐵 ↦ (𝑝‘∅))       (𝜑𝐹 ∈ (𝑃 RingIso 𝑅))
 
4-May-2026mplnzr 33934 The multivariate polynomials over a nonzero ring form a nonzero ring. (Contributed by Thierry Arnoux, 4-May-2026.)
𝑃 = (𝐼 mPoly 𝑅)    &   (𝜑𝐼𝑉)    &   (𝜑𝑅 ∈ NzRing)       (𝜑𝑃 ∈ NzRing)
 
4-May-2026psrnzr 33933 The ring of power series over a nonzero ring form a nonzero ring. (Contributed by Thierry Arnoux, 4-May-2026.)
𝑆 = (𝐼 mPwSer 𝑅)    &   (𝜑𝐼𝑉)    &   (𝜑𝑅 ∈ NzRing)       (𝜑𝑆 ∈ NzRing)
 
4-May-2026ricdomn 33641 A ring is a domain if and only if an isomorphic ring is a domain. (Contributed by Thierry Arnoux, 4-May-2026.)
(𝑅𝑟 𝑆 → (𝑅 ∈ Domn ↔ 𝑆 ∈ Domn))
 
4-May-2026ricdomn1 33640 A ring isomorphism maps a domain to a domain. (Contributed by Thierry Arnoux, 4-May-2026.)
((𝑅𝑟 𝑆𝑅 ∈ Domn) → 𝑆 ∈ Domn)
 
4-May-2026ricnzr1 33639 A ring isomorphism maps a nonzero ring to a nonzero ring. (Contributed by Thierry Arnoux, 4-May-2026.)
((𝑅𝑟 𝑆𝑅 ∈ NzRing) → 𝑆 ∈ NzRing)
 
4-May-2026grpidcld 33390 The identity element of a group belongs to the group. (Contributed by Thierry Arnoux, 4-May-2026.)
𝐵 = (Base‘𝐺)    &    0 = (0g𝐺)    &   (𝜑𝐺 ∈ Grp)       (𝜑0𝐵)
 
4-May-2026ififcom 32933 Commute two nested conditionals. (Contributed by Thierry Arnoux, 4-May-2026.)
if(𝜑, if(𝜓, 𝐴, 𝐵), 𝐵) = if(𝜓, if(𝜑, 𝐴, 𝐵), 𝐵)
 
2-May-2026copsexgw 5477 Version of copsexg 5479 with a disjoint variable condition, which does not require ax-13 2407. (Contributed by GG, 26-Jan-2024.) Shorten proof and remove dependency on ax-10 2179. (Revised by Eric Schmidt, 2-May-2026.)
(𝐴 = ⟨𝑥, 𝑦⟩ → (𝜑 ↔ ∃𝑥𝑦(𝐴 = ⟨𝑥, 𝑦⟩ ∧ 𝜑)))
 
1-May-2026vprc 5288 The universal class is not a member of itself (and thus is not a set). Proposition 5.21 of [TakeutiZaring] p. 21; our proof, however, does not depend on the Axiom of Regularity. (Contributed by NM, 23-Aug-1993.) (Proof shortened by BJ, 1-May-2026.)
¬ V ∈ V
 
1-May-2026nvel 5287 The universal class does not belong to any class. (Contributed by FL, 31-Dec-2006.) Prove it without using vprc 5288, which is then proved as an instance of it. (Revised by BJ, 1-May-2026.)
¬ V ∈ 𝐴
 
27-Apr-2026qdiffALT 38013 Alternate proof of qdiff 38012. This is a proof from irrdiff 38011 using excluded middle in a variety of places. (Contributed by Jim Kingdon, 27-Apr-2026.) (Proof modification is discouraged.) (New usage is discouraged.)
(𝐴 ∈ ℝ → (𝐴 ∈ ℚ ↔ ∃𝑞 ∈ ℚ ∃𝑟 ∈ ℚ (𝑞𝑟 ∧ (abs‘(𝐴𝑞)) = (abs‘(𝐴𝑟)))))
 
25-Apr-2026unidif0 5335 The removal of the empty set from a class does not affect its union. (Contributed by NM, 22-Mar-2004.) (Proof shortened by Eric Schmidt, 25-Apr-2026.)
(𝐴 ∖ {∅}) = 𝐴
 
25-Apr-2026vnex 5285 The universal class does not exist as a set. (Contributed by NM, 4-Jul-2005.) (Proof shortened by BJ, 25-Apr-2026.)
¬ ∃𝑥 𝑥 = V
 
25-Apr-2026vneqv 5284 The universal class is not equal to any setvar. (Contributed by NM, 4-Jul-2005.) Extract from vnex 5285 and shorten proof. (Revised by BJ, 25-Apr-2026.)
¬ 𝑥 = V
 
24-Apr-2026qdiff 38012 The rationals are exactly those reals for which there exist two distinct rationals that are the same distance from the original number. Similar to irrdiff 38011 but here proved with a proof which would also work in constructive mathematics. From an online post by Ingo Blechschmidt. For a proof using irrdiff 38011, see qdiffALT 38013. (Contributed by Jim Kingdon, 24-Apr-2026.)
(𝐴 ∈ ℝ → (𝐴 ∈ ℚ ↔ ∃𝑞 ∈ ℚ ∃𝑟 ∈ ℚ (𝑞𝑟 ∧ (abs‘(𝐴𝑞)) = (abs‘(𝐴𝑟)))))
 
22-Apr-2026sucprcreg 9578 A class is equal to its successor iff it is a proper class (assuming the Axiom of Regularity). (Contributed by NM, 9-Jul-2004.) (Proof shortened by BJ, 16-Apr-2019.) (Proof shortened by SN, 22-Apr-2026.)
𝐴 ∈ V ↔ suc 𝐴 = 𝐴)
 
22-Apr-2026nelaneq 9574 A class is not an element of and equal to a class at the same time. Variant of elneq 9573 analogously to elnotel 9589 and en2lp 9585. (Proposed by BJ, 18-Jun-2022.) (Contributed by AV, 18-Jun-2022.) (Proof shortened by TM, 31-Dec-2025.) (Proof shortened by SN, 22-Apr-2026.)
¬ (𝐴𝐵𝐴 = 𝐵)
 
20-Apr-2026cos5t 47657 Five-times-angle formula for cosine, in pure cosine form. (Contributed by Ender Ting, 20-Apr-2026.)
(𝐴 ∈ ℂ → (cos‘(5 · 𝐴)) = (((16 · ((cos‘𝐴)↑5)) − (20 · ((cos‘𝐴)↑3))) + (5 · (cos‘𝐴))))
 
19-Apr-2026trun 5234 The union of transitive classes is transitive. (Contributed by Eric Schmidt, 19-Apr-2026.)
((Tr 𝐴 ∧ Tr 𝐵) → Tr (𝐴𝐵))
 
17-Apr-2026sin5t 47656 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 47655 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 47654 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 47662 The golden ratio is a positive real. (Contributed by Ender Ting, 16-Apr-2026.)
𝐹 = (2 · (cos‘(π / 5)))       𝐹 ∈ ℝ+
 
16-Apr-2026goldrapos 47661 Golden ratio is positive. (Contributed by Ender Ting, 16-Apr-2026.)
𝐹 = (2 · (cos‘(π / 5)))       0 < 𝐹
 
16-Apr-2026sin5tlem3 47653 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 47652 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 38202 The defining characterization of class membership. Unlike the forms on which it is based, it is unrestricted. Proven in Tarski's FOL, from the axiom of (set) extensionality (ax-ext 2738), the definitions df-clel 2841 and df-cleq . (Contributed by BJ, 27-Jun-2019.) Base on wl-dfclel.just 38200. (Revised by Wolf Lammen, 13-Apr-2026.)
(𝐴𝐵 ↔ ∃𝑥(𝑥 = 𝐴𝑥𝐵))
 
13-Apr-2026mh-infprim3bi 37100 An axiom of infinity in primitive symbols not requiring ax-reg 9564. This version of the axiom was designed by Stefan O'Rear for his zf2.nql program, see https://github.com/sorear/metamath-turing-machines 9564. It directly implies ax-inf 9617, but deriving ax-inf2 9620 requires ax-ext 2738 and ax-rep 5243, see mh-inf3sn 37094. (Contributed by Matthew House, 13-Apr-2026.)
(∃𝑦(𝑥𝑦 ∧ ∀𝑧𝑦 {𝑧} ∈ 𝑦) ↔ ¬ ∀𝑦 ¬ ¬ (𝑥𝑦 → ¬ ∀𝑥(𝑥𝑦 → ¬ ∀𝑧 ¬ ¬ (𝑧𝑦 → ¬ ∀𝑦 ¬ ((𝑦𝑧𝑦 = 𝑥) → ¬ (𝑦 = 𝑥𝑦𝑧))))))
 
13-Apr-2026mh-infprim2bi 37099 Shortest possible axiom of infinity in primitive symbols not requiring ax-reg 9564. Deriving ax-inf 9617 or ax-inf2 9620 from this axiom requires ax-ext 2738 and ax-rep 5243, see mh-inf3sn 37094 and inf0 9600. (Contributed by Matthew House, 13-Apr-2026.)
(∃𝑥(∅ ∈ 𝑥 ∧ ∀𝑦𝑥 {𝑦} ∈ 𝑥) ↔ ¬ ∀𝑥 ¬ ∀𝑦𝑧(∀𝑤(𝑤𝑦 → ¬ (𝑤𝑥 → ¬ 𝑤 = 𝑧)) → 𝑦𝑥))
 
13-Apr-2026mh-infprim1bi 37098 Shortest possible axiom of infinity in primitive symbols. Deriving ax-inf 9617 or ax-inf2 9620 from this axiom requires ax-ext 2738, ax-rep 5243, and ax-reg 9564, see inf3 9614 and inf0 9600. (Contributed by Matthew House, 13-Apr-2026.)
(∃𝑥(𝑥 ≠ ∅ ∧ 𝑥 𝑥) ↔ ¬ ∀𝑥 ¬ ∀𝑦 ¬ ∀𝑧((𝑦𝑥𝑦𝑧) → ¬ 𝑧𝑥))
 
13-Apr-2026mh-regprimbi 37097 Shortest possible version of ax-reg 9564 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 37096 Shortest possible version of ax-un 7745 in primitive symbols. (Contributed by Matthew House, 13-Apr-2026.)
(∃𝑦𝑧(∃𝑤(𝑧𝑤𝑤𝑥) → 𝑧𝑦) ↔ ¬ ∀𝑦 ¬ ∀𝑧(𝑧𝑥 → ∀𝑤(𝑤𝑧𝑤𝑦)))
 
13-Apr-2026mh-prprimbi 37095 Shortest possible version of ax-pr 5409 in primitive symbols. (Contributed by Matthew House, 13-Apr-2026.)
(∃𝑧𝑤((𝑤 = 𝑥𝑤 = 𝑦) → 𝑤𝑧) ↔ ¬ ∀𝑧(𝑥𝑧 → ¬ 𝑦𝑧))
 
13-Apr-2026mh-inf3sn 37094 Version of inf3 9614 for the set of Zermelo ordinals , {∅}, {{∅}}, {{{∅}}}, etc., where the successor of 𝑦 is {𝑦}. Unlike inf3 9614, the proof does not require ax-reg 9564, since the singleton properties snnz 4747 and sneqr 4810 are sufficient to guarantee that all elements of the sequence are distinct. (Contributed by Matthew House, 13-Apr-2026.)
𝑥(∅ ∈ 𝑥 ∧ ∀𝑦𝑥 {𝑦} ∈ 𝑥)       ω ∈ V
 
13-Apr-2026mh-inf3f1 37093 A variant of inf3 9614. 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 7963. (Contributed by Matthew House, 13-Apr-2026.)
(𝜑𝐹:𝐴1-1𝐴)    &   (𝜑𝐵 ∈ (𝐴 ∖ ran 𝐹))       (𝜑 → (rec(𝐹, 𝐵) ↾ ω):ω–1-1𝐴)
 
12-Apr-2026nalset 5282 No set contains all sets. Theorem 41 of [Suppes] p. 30. (Contributed by NM, 23-Aug-1993.) Extract exnelv 5281. (Revised by Matthew House, 12-Apr-2026.)
¬ ∃𝑥𝑦 𝑦𝑥
 
12-Apr-2026exnelv 5281 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 2216 and ax-13 2407. (Revised by BJ, 31-May-2019.) Extract from nalset 5282. (Revised by Matthew House, 12-Apr-2026.)
𝑦 ¬ 𝑦𝑥
 
11-Apr-2026indsum 15906 Finite sum of a product with the indicator function / Cartesian product with the indicator function. Note: this theorem cannot be efficiently shortened using sumss2 15803, 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 12240 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 48425 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 48418 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 48121 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 48120 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 16780 The primes are integers greater than 1. (Contributed by AV, 10-Apr-2026.)
ℙ ⊆ (ℤ‘2)
 
10-Apr-2026indsumhash 15907 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 15868 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 13552 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 12244 The range of the indicator function is a subset of . (Contributed by AV, 10-Apr-2026.)
(((𝑂 ∈ Fin ∧ 𝐴𝑂) ∧ 𝑋𝑂) → (((𝟭‘𝑂)‘𝐴)‘𝑋) ∈ ℝ)
 
9-Apr-2026rediv11d 43265 One-to-one relationship for division. (Contributed by SN, 9-Apr-2026.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐵 ∈ ℝ)    &   (𝜑𝐶 ∈ ℝ)    &   (𝜑𝐶 ≠ 0)       (𝜑 → ((𝐴 / 𝐶) = (𝐵 / 𝐶) ↔ 𝐴 = 𝐵))
 
9-Apr-2026redivdird 43264 Distribution of division over addition. (Contributed by SN, 9-Apr-2026.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐵 ∈ ℝ)    &   (𝜑𝐶 ∈ ℝ)    &   (𝜑𝐶 ≠ 0)       (𝜑 → ((𝐴 + 𝐵) / 𝐶) = ((𝐴 / 𝐶) + (𝐵 / 𝐶)))
 
9-Apr-2026rediv23d 43263 A "commutative"/associative law for division. (Contributed by SN, 9-Apr-2026.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐵 ∈ ℝ)    &   (𝜑𝐶 ∈ ℝ)    &   (𝜑𝐶 ≠ 0)       (𝜑 → ((𝐴 · 𝐵) / 𝐶) = ((𝐴 / 𝐶) · 𝐵))
 
9-Apr-2026redivrec2d 43262 Relationship between division and reciprocal. (Contributed by SN, 9-Apr-2026.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐵 ∈ ℝ)    &   (𝜑𝐵 ≠ 0)       (𝜑 → (𝐴 / 𝐵) = ((1 / 𝐵) · 𝐴))
 
8-Apr-2026ppivalnnnprm 48421 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 48420 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 48417 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 48416 Lemma 4 for nprmdvdsfacm1 48417. (Contributed by AV, 7-Apr-2026.)
((𝑁 ∈ (ℤ‘6) ∧ 𝐴 ∈ (2..^𝑁) ∧ 𝑁 = (𝐴↑2)) → 𝑁 ∥ (!‘(𝑁 − 1)))
 
7-Apr-2026nprmdvdsfacm1lem3 48415 Lemma 3 for nprmdvdsfacm1 48417. (Contributed by AV, 7-Apr-2026.)
((𝑁 ∈ (ℤ‘6) ∧ 𝐴 ∈ (2..^𝑁) ∧ 𝑁 = (𝐴↑2)) → (2 · 𝐴) < (𝑁 − 1))
 
7-Apr-2026nprmdvdsfacm1lem2 48414 Lemma 2 for nprmdvdsfacm1 48417. (Contributed by AV, 7-Apr-2026.)
((𝑁 ∈ (ℤ‘6) ∧ 𝐴 ∈ (2..^𝑁) ∧ 𝑁 = (𝐴↑2)) → 3 ≤ 𝐴)
 
7-Apr-2026nprmdvdsfacm1lem1 48413 Lemma 1 for nprmdvdsfacm1 48417. (Contributed by AV, 7-Apr-2026.)
((𝑁 ∈ (ℤ‘6) ∧ 𝐴 ∈ (2..^𝑁) ∧ 𝑁 = (𝐴↑2)) → 𝑁 ∥ (𝐴 · (2 · 𝐴)))
 
7-Apr-20262timesltsqm1 48157 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 38201 The defining characterization of class equality. This version of df-cleq 2758 has no restrictions, unlike the forms on which it is based. It is proved in Tarski's FOL from the axiom of extensionality (ax-ext 2738), the definition of class equality (df-cleq 2758), and the definition of class membership (df-clel 2841).

Its forward implication is known as "class extensionality". (Contributed by NM, 15-Sep-1993.) (Revised by BJ, 24-Jun-2019.) Base on wl-dfcleq.just 38197. (Revised by Wolf Lammen, 7-Apr-2026.)

(𝐴 = 𝐵 ↔ ∀𝑥(𝑥𝐴𝑥𝐵))
 
7-Apr-2026wl-dfclel.just 38200 Add a hypothesis to wl-dfclel.basic 38199, that permits alpha-renaming. (Contributed by Wolf Lammen, 7-Apr-2026.)
(∃𝑥(𝑥 = 𝐴𝑥𝐵) ↔ ∃𝑦(𝑦 = 𝐴𝑦𝐵))       (𝐴𝐵 ↔ ∃𝑥(𝑥 = 𝐴𝑥𝐵))
 
7-Apr-2026wl-dfcleq.just 38197 The hypotheses added to this version of df-cleq 2758 address the following:

1. Equality of classes is an equivalence relation, as expected of equality.

2. Equality of classes obeys the Law of Indiscernibles (Leibniz's Law), and is compatible with class membership.

3. Alpha-renaming is explicitly permitted.

(Contributed by Wolf Lammen, 7-Apr-2026.)

(∀𝑥(𝑥𝐴𝑥𝐵) ↔ ∀𝑦(𝑦𝐴𝑦𝐵))    &   𝐴 = 𝐴    &   (𝐴 = 𝐵 → (𝐵 = 𝐶𝐶 = 𝐴))    &   (𝐴 = 𝐵 → (𝐴𝐶𝐵𝐶))    &   (𝐴 = 𝐵 → (𝐶𝐴𝐶𝐵))       (𝐴 = 𝐵 ↔ ∀𝑥(𝑥𝐴𝑥𝐵))
 
7-Apr-2026elALTtco 37033 Derivation of el 5424 from ax-tco 37024. Use el 5424 instead. (Contributed by Matthew House, 7-Apr-2026.) (Proof modification is discouraged.) (New usage is discouraged.)
𝑦 𝑥𝑦
 
7-Apr-2026axnulregtco 37032 Derivation of ax-nul 5274 from ax-reg 9564 and ax-tco 37024. Use ax-nul 5274 instead. (Contributed by Matthew House, 7-Apr-2026.) (Proof modification is discouraged.) (New usage is discouraged.)
𝑥𝑦 ¬ 𝑦𝑥
 
7-Apr-2026axtco1 37025 Strong form of the Axiom of Transitive Containment. See ax-tco 37024 for more information. In particular, this theorem generalizes the statement of ax-tco 37024, 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 48318 Special factorization of a non-prime integer greater than 3. (Contributed by AV, 6-Apr-2026.)
(𝑁 ∈ (ℤ‘4) → (𝑁 ∉ ℙ ↔ ∃𝑎 ∈ (2..^𝑁)∃𝑏 ∈ (2..^𝑁)(𝑎𝑏𝑁 = (𝑎 · 𝑏))))
 
6-Apr-2026muldvdsfacm1 48165 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 48164 The product of two different positive integers divides the factorial of the bigger integer. (Contributed by AV, 6-Apr-2026.)
(𝐴 ∈ (1..^𝐵) → (𝐴 · 𝐵) ∥ (!‘𝐵))
 
6-Apr-2026facnn0dvdsfac 48163 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 48156 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 37087 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 37086 The transitive closure of a set 𝐴 is (TC‘𝐴), assuming Transitive Containment. (Contributed by Matthew House, 6-Apr-2026.)
(𝐴𝑉 → TC+ 𝐴 = (TC‘𝐴))
 
6-Apr-2026ttcexbi 37085 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 37084 The transitive closure of a set is a set, assuming Transitive Containment. (Contributed by Matthew House, 6-Apr-2026.)
(𝐴𝑉 → TC+ 𝐴 ∈ V)
 
6-Apr-2026elttcirr 37083 Irreflexivity of 𝐴 ∈ TC+ 𝐵 relationship. This is a consequence of Regularity, but it does not require Transitive Containment. We use the alternative expression dfttc4 37082 to construct a set in which 𝐴 is both -minimal and not -minimal. (Contributed by Matthew House, 6-Apr-2026.)
¬ 𝐴 ∈ TC+ 𝐴
 
6-Apr-2026dfttc4 37082 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 37083. (Contributed by Matthew House, 6-Apr-2026.)
TC+ 𝐴 = {𝑥 ∣ ∃𝑦((𝐴𝑦) ≠ ∅ ∧ ∀𝑧𝑦 ((𝑧𝑦) = ∅ → 𝑧 = 𝑥))}
 
6-Apr-2026dfttc4lem2 37081 Lemma for dfttc4 37082. (Contributed by Matthew House, 6-Apr-2026.)
𝐵 = {𝑥 ∣ ∃𝑦((𝐴𝑦) ≠ ∅ ∧ ∀𝑧𝑦 ((𝑧𝑦) = ∅ → 𝑧 = 𝑥))}       (𝐴𝐵 ∧ Tr 𝐵)
 
6-Apr-2026dfttc4lem1 37080 Lemma for dfttc4 37082. (Contributed by Matthew House, 6-Apr-2026.)
𝐵 = {𝑥 ∣ ∃𝑦((𝐴𝑦) ≠ ∅ ∧ ∀𝑧𝑦 ((𝑧𝑦) = ∅ → 𝑧 = 𝑥))}    &   𝐶 ∈ V    &   𝐷 ∈ V       (((𝐴𝐶) ≠ ∅ ∧ ∀𝑧𝐶 ((𝑧𝐶) = ∅ → 𝑧 = 𝐷)) → 𝐷𝐵)
 
6-Apr-2026ttc0elw 37079 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 37087. (Contributed by Matthew House, 6-Apr-2026.)
(TC+ 𝐴𝑉 → (𝐴 ≠ ∅ ↔ ∅ ∈ TC+ 𝐴))
 
6-Apr-2026ttcwf3 37078 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 37077 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 37076 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 37075 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 37086. (Contributed by Matthew House, 6-Apr-2026.)
(TC+ 𝐴𝑉 → TC+ 𝐴 = (TC‘𝐴))
 
6-Apr-2026ttcsntrsucg 37074 The singleton transitive closure of a transitive set is its successor. (Contributed by Matthew House, 6-Apr-2026.)
((𝐴𝑉 ∧ Tr 𝐴) → TC+ {𝐴} = suc 𝐴)
 
6-Apr-2026ttcsnexbig 37073 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 37072 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 37071 Relationship between TC+ {𝐴} and TC+ 𝐴: the former contains the additional element 𝐴. (Contributed by Matthew House, 6-Apr-2026.)
(𝐴𝑉 → TC+ {𝐴} = (TC+ 𝐴 ∪ {𝐴}))
 
6-Apr-2026ttcsnmin 37070 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 37069 The singleton transitive closure contains its argument 𝐴 as an element. (Contributed by Matthew House, 6-Apr-2026.)
(𝐴𝑉𝐴 ∈ TC+ {𝐴})
 
6-Apr-2026ttcsnssg 37068 The transitive closure is contained in the singleton transitive closure. (Contributed by Matthew House, 6-Apr-2026.)
(𝐴𝑉 → TC+ 𝐴 ⊆ TC+ {𝐴})
 
6-Apr-2026ttcpwss 37067 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 37066 Distribute indexed union through a transitive closure. (Contributed by Matthew House, 6-Apr-2026.)
TC+ 𝑥𝐴 𝐵 = 𝑥𝐴 TC+ 𝐵
 
6-Apr-2026ttcuni 37065 Distribute union of a class through a transitive closure. (Contributed by Matthew House, 6-Apr-2026.)
TC+ 𝐴 = TC+ 𝐴
 
6-Apr-2026ttcun 37064 Distribute union of two classes through a transitive closure. (Contributed by Matthew House, 6-Apr-2026.)
TC+ (𝐴𝐵) = (TC+ 𝐴 ∪ TC+ 𝐵)
 
6-Apr-2026ttciunun 37063 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 37062 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 37061 Distribute proper substitution through a transitive closure. (Contributed by Matthew House, 6-Apr-2026.)
𝐴 / 𝑥TC+ 𝐵 = TC+ 𝐴 / 𝑥𝐵
 
6-Apr-2026ttc00 37060 A class has an empty transitive closure iff it is the empty set. (Contributed by Matthew House, 6-Apr-2026.)
(𝐴 = ∅ ↔ TC+ 𝐴 = ∅)
 
6-Apr-2026ttc0 37059 The transitive closure of the empty set is the empty set. (Contributed by Matthew House, 6-Apr-2026.)
TC+ ∅ = ∅
 
6-Apr-2026dfttc2g 37058 A shorter expression for the transitive closure of a set. (Contributed by Matthew House, 6-Apr-2026.)
(𝐴𝑉 → TC+ 𝐴 = (rec((𝑥 ∈ V ↦ 𝑥), 𝐴) “ ω))
 
6-Apr-2026elttctr 37057 Transitivity of 𝐴 ∈ TC+ 𝐵 relationship. (Contributed by Matthew House, 6-Apr-2026.)
((𝐴 ∈ TC+ 𝐵𝐵 ∈ TC+ 𝐶) → 𝐴 ∈ TC+ 𝐶)
 
6-Apr-2026ssttctr 37056 Transitivity of 𝐴 ⊆ TC+ 𝐵 relationship. (Contributed by Matthew House, 6-Apr-2026.)
((𝐴 ⊆ TC+ 𝐵𝐵 ⊆ TC+ 𝐶) → 𝐴 ⊆ TC+ 𝐶)
 
6-Apr-2026ttcidm 37055 The transitive closure operation is idempotent. (Contributed by Matthew House, 6-Apr-2026.)
TC+ TC+ 𝐴 = TC+ 𝐴
 
6-Apr-2026ttctrid 37054 The transitive closure of a transitive class is the class itself. (Contributed by Matthew House, 6-Apr-2026.)
(Tr 𝐴 → TC+ 𝐴 = 𝐴)
 
6-Apr-2026ttcel2 37053 Elements turn into subclasses upon taking transitive closures. (Contributed by Matthew House, 6-Apr-2026.)
(𝐴𝐵 → TC+ 𝐴 ⊆ TC+ 𝐵)
 
6-Apr-2026ttcel 37052 A transitive closure contains the transitive closures of all its elements. (Contributed by Matthew House, 6-Apr-2026.)
(𝐴 ∈ TC+ 𝐵 → TC+ 𝐴 ⊆ TC+ 𝐵)
 
6-Apr-2026ttcss2 37051 The subclass relationship is inherited by transitive closures. (Contributed by Matthew House, 6-Apr-2026.)
(𝐴𝐵 → TC+ 𝐴 ⊆ TC+ 𝐵)
 
6-Apr-2026ttcss 37050 A transitive closure contains the transitive closures of all its subclasses. (Contributed by Matthew House, 6-Apr-2026.)
(𝐴 ⊆ TC+ 𝐵 → TC+ 𝐴 ⊆ TC+ 𝐵)
 
6-Apr-2026ttcexrg 37049 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 37048 The transitive closure of 𝐴 is a subclass of every transitive class containing 𝐴. (Contributed by Matthew House, 6-Apr-2026.)
((𝐴𝐵 ∧ Tr 𝐵) → TC+ 𝐴𝐵)
 
6-Apr-2026ttctr3 37047 The transitive closure of a class is transitive. (Contributed by Matthew House, 6-Apr-2026.)
TC+ 𝐴 ⊆ TC+ 𝐴
 
6-Apr-2026ttctr2 37046 The transitive closure of a class is transitive. (Contributed by Matthew House, 6-Apr-2026.)
(𝐴 ∈ TC+ 𝐵𝐴 ⊆ TC+ 𝐵)
 
6-Apr-2026ttctr 37045 The transitive closure of a class is transitive. (Contributed by Matthew House, 6-Apr-2026.)
Tr TC+ 𝐴
 
6-Apr-2026ttcid 37044 The transitive closure contains its argument as a subclass. (Contributed by Matthew House, 6-Apr-2026.)
𝐴 ⊆ TC+ 𝐴
 
6-Apr-2026nfttc 37043 Bound-variable hypothesis builder for transitive closure. (Contributed by Matthew House, 6-Apr-2026.)
𝑥𝐴       𝑥TC+ 𝐴
 
6-Apr-2026ttceqd 37042 Equality deduction for transitive closure. (Contributed by Matthew House, 6-Apr-2026.)
(𝜑𝐴 = 𝐵)       (𝜑 → TC+ 𝐴 = TC+ 𝐵)
 
6-Apr-2026ttceqi 37041 Equality inference for transitive closure. (Contributed by Matthew House, 6-Apr-2026.)
𝐴 = 𝐵       TC+ 𝐴 = TC+ 𝐵
 
6-Apr-2026ttceq 37040 Equality theorem for transitive closure. (Contributed by Matthew House, 6-Apr-2026.)
(𝐴 = 𝐵 → TC+ 𝐴 = TC+ 𝐵)
 
6-Apr-2026df-ttc 37039 Transitive closure of a class. Unlike (TC‘𝐴) (see df-tc 9714), 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 37078. (Contributed by Matthew House, 6-Apr-2026.)
TC+ 𝐴 = 𝑥𝐴 (rec((𝑦 ∈ V ↦ 𝑦), {𝑥}) “ ω)
 
6-Apr-2026cttc 37038 Extend class notation with the transitive closure of a class. (Contributed by Matthew House, 6-Apr-2026.)
class TC+ 𝐴
 
6-Apr-2026tr0el 37037 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 37036 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 37037. (Contributed by Matthew House, 6-Apr-2026.)
((𝐴𝑉𝐴 ≠ ∅ ∧ Tr 𝐴) → ∅ ∈ 𝐴)
 
6-Apr-2026tz9.1tco 37035 Version of tz9.1 9708 derived from ax-tco 37024. (Contributed by Matthew House, 6-Apr-2026.)
𝐴 ∈ V       𝑥(𝐴𝑥 ∧ Tr 𝑥 ∧ ∀𝑦((𝐴𝑦 ∧ Tr 𝑦) → 𝑥𝑦))
 
6-Apr-2026tz9.1ctco 37034 Version of tz9.1c 9709 derived from ax-tco 37024. (Contributed by Matthew House, 6-Apr-2026.)
𝐴 ∈ V        {𝑥 ∣ (𝐴𝑥 ∧ Tr 𝑥)} ∈ V
 
6-Apr-2026axuntco 37031 Derivation of ax-un 7745 from ax-tco 37024. Use ax-un 7745 instead. (Contributed by Matthew House, 6-Apr-2026.) (Proof modification is discouraged.) (New usage is discouraged.)
𝑦𝑧(∃𝑤(𝑧𝑤𝑤𝑥) → 𝑧𝑦)
 
6-Apr-2026axtcond 37030 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 2407. (Contributed by Matthew House, 6-Apr-2026.) (New usage is discouraged.)
𝑦𝑧((𝑧 = 𝑥𝑧𝑦) → ∀𝑥(𝑥𝑧𝑥𝑦))
 
6-Apr-2026axtco2g 37029 Weak form of the Axiom of Transitive Containment using class variables and abbreviations. See ax-tco 37024 for more information. (Contributed by Matthew House, 6-Apr-2026.)
(𝐴𝑉 → ∃𝑥(𝐴𝑥 ∧ Tr 𝑥))
 
6-Apr-2026axtco1g 37028 Strong form of the Axiom of Transitive Containment using class variables and abbreviations. See ax-tco 37024 for more information. (Contributed by Matthew House, 6-Apr-2026.)
(𝐴𝑉 → ∃𝑥(𝐴𝑥 ∧ Tr 𝑥))
 
6-Apr-2026axtco1from2 37027 Strong form axtco1 37025 of the Axiom of Transitive Containment, derived from the weak form axtco2 37026. See ax-tco 37024 for more information. As written, the proof uses ax-pr 5409 via el 5424, but we could alternatively use ax-pow 5341 via elALT2 5345. Use axtco1 37025 instead. (Contributed by Matthew House, 6-Apr-2026.) (Proof modification is discouraged.) (New usage is discouraged.)
𝑦(𝑥𝑦 ∧ ∀𝑧(𝑧𝑦 → ∀𝑤(𝑤𝑧𝑤𝑦)))
 
6-Apr-2026axtco2 37026 Weak form of the Axiom of Transitive Containment. See ax-tco 37024 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 37024 The Axiom of Transitive Containment of ZF set theory. It was derived as axtco 37023 above and is therefore redundant if we assume ax-ext 2738, ax-rep 5243 and ax-inf2 9620, 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 9714.

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 37025 and axtco1g 37028, and the weak form 𝑦(𝑥𝑦 ∧ Tr 𝑦), see axtco2 37026 and axtco2g 37029. The weak form follows directly from the strong form, see axtco2 37026. But the strong form only follows from the weak form if we allow el 5424 or one of its variants, see axtco1from2 37027. 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 37030 for reasons of syntax. (Contributed by Matthew House, 6-Apr-2026.)

𝑦(𝑥𝑦 ∧ ∀𝑧(𝑧𝑦 → ∀𝑤(𝑤𝑧𝑤𝑦)))
 
6-Apr-2026axtco 37023 Axiom of Transitive Containment, derived as a theorem from ax-ext 2738, ax-rep 5243, and ax-inf2 9620. Use ax-tco 37024 instead. (Contributed by Matthew House, 6-Apr-2026.) (New usage is discouraged.)
𝑦(𝑥𝑦 ∧ ∀𝑧(𝑧𝑦 → ∀𝑤(𝑤𝑧𝑤𝑦)))
 
6-Apr-2026el 5424 Any set is an element of some other set. See elALT 5428 for a shorter proof using more axioms, and see elALT2 5345 for a proof that uses ax-9 2156 and ax-pow 5341 instead of ax-pr 5409. (Contributed by NM, 4-Jan-2002.) (Proof shortened by Andrew Salmon, 25-Jul-2011.) Use ax-pr 5409 instead of ax-9 2156 and ax-pow 5341. (Revised by BTernaryTau, 2-Dec-2024.) (Proof shortened by Matthew House, 6-Apr-2026.)
𝑦 𝑥𝑦
 
6-Apr-2026axprlem1 5399 Lemma for axpr 5403. 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 48317 Special factorization of a non-prime integer greater than 3. (Contributed by AV, 5-Apr-2026.)
(𝑁 ∈ (ℤ‘4) → (𝑁 ∉ ℙ ↔ ∃𝑎 ∈ (2..^𝑁)∃𝑏 ∈ (2..^𝑁)𝑁 = (𝑎 · 𝑏)))
 
5-Apr-2026nndivides2 48162 Definition of the divides relation for divisors greater than 1. (Contributed by AV, 5-Apr-2026.)
((𝑀 ∈ (2..^𝑁) ∧ 𝑁 ∈ ℕ) → (𝑀𝑁 ↔ ∃𝑛 ∈ (2..^𝑁)(𝑛 · 𝑀) = 𝑁))
 
5-Apr-2026nnmul2b 48109 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 48108 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 48107 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 48100 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 37258 Deduction form of Theorem 19.21 of [Margaris] p. 90, see 19.21 2246 and 19.21h 2325. (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 37257 General instance of alimdh 1850. (Contributed by NM, 4-Jan-2002.) State the most general derivable instance. (Revised by BJ, 5-Apr-2026.)
(𝜑 → ∀𝑥𝜓)    &   (𝜓 → (𝜒𝜃))       (𝜑 → (∀𝑥𝜒 → ∀𝑥𝜃))
 
5-Apr-2026zfrep6 5255 A version of the Axiom of Replacement. Normally 𝜑 would have free variables 𝑥 and 𝑦. Axiom 6 of [Kunen] p. 12. The Separation Scheme ax-sep 5262 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 5243. (Contributed by NM, 10-Oct-2003.) Shorten proof and reduce axiom dependencies. (Revised by BJ, 5-Apr-2026.)
(∀𝑥𝑧 ∃!𝑦𝜑 → ∃𝑤𝑥𝑧𝑦𝑤 𝜑)
 
5-Apr-2026replem 5254 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 48424 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 48423 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 48422 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 48419 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 48319 Special factorization of a non-prime integer greater than 3. (Contributed by AV, 4-Apr-2026.)
(𝑁 ∈ (ℤ‘4) → (𝑁 ∉ ℙ ↔ (∃𝑎 ∈ (2..^𝑁)∃𝑏 ∈ (2..^𝑁)(𝑎 < 𝑏𝑁 = (𝑎 · 𝑏)) ∨ ∃𝑎 ∈ (2..^𝑁)𝑁 = (𝑎↑2))))
 
4-Apr-2026rerecne0d 43258 The reciprocal of a nonzero number is nonzero. (Contributed by SN, 4-Apr-2026.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐴 ≠ 0)       (𝜑 → (1 / 𝐴) ≠ 0)
 
4-Apr-2026bj-nnf-cbval 37446 Compared with cbvalv1 2376, this saves ax-12 2216. (Contributed by BJ, 4-Apr-2026.)
(𝜑 → ∀𝑥𝜑)    &   (𝜑 → ∀𝑦𝜑)    &   (𝜑 → Ⅎ'𝑦𝜓)    &   (𝜑 → Ⅎ'𝑥𝜒)    &   ((𝜑𝑥 = 𝑦) → (𝜓𝜒))       (𝜑 → (∀𝑥𝜓 ↔ ∀𝑦𝜒))
 
4-Apr-2026bj-nnf-cbvali 37445 Compared with bj-nnf-cbvaliv 37442, replacing the DV condition on 𝑦, 𝜓 with the nonfreeness condition requires ax-11 2195. (Contributed by BJ, 4-Apr-2026.)
(𝜑 → ∀𝑥𝜑)    &   (𝜑 → ∀𝑦𝜑)    &   (𝜑 → Ⅎ'𝑦𝜓)    &   (𝜑 → Ⅎ'𝑥𝜒)    &   ((𝜑𝑥 = 𝑦) → (𝜓𝜒))       (𝜑 → (∀𝑥𝜓 → ∀𝑦𝜒))
 
4-Apr-2026bj-nnf-cbvaliv 37442 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 37441 An existential generalization result in deduction form, from ax-1 6-- ax-6 2000, 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 37440 A universal specialization result in deduction form, proved from ax-1 6 -- ax-6 2000, 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 37378 A more general instance of hbex 2361. (Contributed by BJ, 4-Apr-2026.)
(𝜑 → ∀𝑥𝜓)       (∃𝑦𝜑 → ∀𝑥𝑦𝜓)
 
4-Apr-2026bj-hbexd 37376 A more general instance of the deduction form of hbex 2361. (Contributed by BJ, 4-Apr-2026.)
(𝜑 → ∀𝑦𝜓)    &   (𝜓 → (𝜒 → ∀𝑥𝜃))       (𝜑 → (∃𝑦𝜒 → ∀𝑥𝑦𝜃))
 
4-Apr-2026bj-hbal 37347 More general instance of hbal 2205. (Contributed by BJ, 4-Apr-2026.)
(𝜑 → ∀𝑥𝜓)       (∀𝑦𝜑 → ∀𝑥𝑦𝜓)
 
4-Apr-2026bj-hbald 37345 General statement that hbald 2206 proves . (Contributed by BJ, 4-Apr-2026.)
(𝜑 → ∀𝑦𝜓)    &   (𝜓 → (𝜒 → ∀𝑥𝜃))       (𝜑 → (∀𝑦𝜒 → ∀𝑥𝑦𝜃))
 
4-Apr-2026bj-spim0 37332 A universal specialization result in deduction form, proved from ax-1 6 -- ax-6 2000, 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 37297 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 37296 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 37295 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 37294 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 37291 A lemma for alpha-renaming of variables bound by a universal quantifier. In applications, 𝑥 = 𝑦 will be substituted for 𝜓 and ax6ev 2002 will prove Hypothesis bj-cbvalimd0.denote. When ax6ev 2002 is not available but only its universal closure is, then bj-cbvalimd 37294 or bj-cbvalimdv 37296 should be used (see bj-cbvalimdlem 37292, bj-cbval 37309). (Contributed by BJ, 4-Apr-2026.)
(𝜑 → ∀𝑥𝜑)    &   (𝜑 → ∀𝑦𝜑)    &   (𝜑 → (𝜒 → ∀𝑦𝜒))    &   (𝜑 → (∃𝑥𝜃𝜃))    &   (𝜑 → ∃𝑥𝜓)    &   ((𝜑𝜓) → (𝜒𝜃))       (𝜑 → (∀𝑥𝜒 → ∀𝑦𝜃))
 
4-Apr-2026bj-spime 37290 A lemma for existential generalization. In applications, 𝑥 = 𝑦 will be substituted for 𝜓 and ax6ev 2002 will prove Hypothesis bj-spime.denote. (Contributed by BJ, 4-Apr-2026.)
(𝜑 → ∀𝑥𝜑)    &   (𝜑 → (𝜒 → ∀𝑥𝜒))    &   (𝜑 → ∃𝑥𝜓)    &   ((𝜑𝜓) → (𝜒𝜃))       (𝜑 → (𝜒 → ∃𝑥𝜃))
 
4-Apr-2026bj-spim 37289 A lemma for universal specification. In applications, 𝑥 = 𝑦 will be substituted for 𝜓 and ax6ev 2002 will prove Hypothesis bj-spim.denote. (Contributed by BJ, 4-Apr-2026.)
(𝜑 → ∀𝑥𝜑)    &   (𝜑 → (∃𝑥𝜃𝜃))    &   (𝜑 → ∃𝑥𝜓)    &   ((𝜑𝜓) → (𝜒𝜃))       (𝜑 → (∀𝑥𝜒𝜃))
 
3-Apr-2026bj-spimenfa 37288 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 1910. (Proof modification is discouraged.)
((𝜑 → ∀𝑥𝜑) → (∃𝑥(𝜑𝜓) → (𝜑 → ∃𝑥𝜓)))
 
3-Apr-2026bj-spimnfe 37287 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 2270, bj-19.36im 37429, 19.36imv 1978, spimfw 1998... (Contributed by BJ, 3-Apr-2026.) Proof should not use 19.35 1910. (Proof modification is discouraged.)
((∃𝑥𝜓𝜓) → (∃𝑥(𝜑𝜓) → (∀𝑥𝜑𝜓)))
 
3-Apr-2026bj-imim11i 37183 The propositional function ((. → 𝜑) → 𝜓) is increasing. Its associated inference is wl-syls2 38205. (Contributed by BJ, 3-Apr-2026.)
(𝜑𝜓)       (((𝜑𝜒) → 𝜃) → ((𝜓𝜒) → 𝜃))
 
3-Apr-2026bj-imim11 37182 The propositional function ((. → 𝜑) → 𝜓) is increasing. (Contributed by BJ, 3-Apr-2026.)
((𝜑𝜓) → (((𝜑𝜒) → 𝜃) → ((𝜓𝜒) → 𝜃)))
 
2-Apr-2026hoicvr 47303 𝐼 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 5243 and shorten proof. (Revised by GG, 2-Apr-2026.)
𝐼 = (𝑗 ∈ ℕ ↦ (𝑥𝑋 ↦ ⟨-𝑗, 𝑗⟩))    &   (𝜑𝑋 ∈ Fin)       (𝜑 → (ℝ ↑m 𝑋) ⊆ 𝑗 ∈ ℕ X𝑖𝑋 (([,) ∘ (𝐼𝑗))‘𝑖))
 
2-Apr-2026rerecrecd 43261 A number is equal to the reciprocal of its reciprocal. (Contributed by SN, 2-Apr-2026.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐴 ≠ 0)       (𝜑 → (1 / (1 / 𝐴)) = 𝐴)
 
2-Apr-2026sn-redividd 43256 A number divided by itself is 1. (Contributed by SN, 2-Apr-2026.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐴 ≠ 0)       (𝜑 → (𝐴 / 𝐴) = 1)
 
2-Apr-2026sn-rediv0d 43255 Division into zero is zero. (Contributed by SN, 2-Apr-2026.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐴 ≠ 0)       (𝜑 → (0 / 𝐴) = 0)
 
2-Apr-2026sn-rediv1d 43254 A number divided by 1 is itself. (Contributed by SN, 2-Apr-2026.)
(𝜑𝐴 ∈ ℝ)       (𝜑 → (𝐴 / 1) = 𝐴)
 
2-Apr-2026rediveq1d 43253 Equality in terms of unit ratio. (Contributed by SN, 2-Apr-2026.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐵 ∈ ℝ)    &   (𝜑𝐵 ≠ 0)       (𝜑 → ((𝐴 / 𝐵) = 1 ↔ 𝐴 = 𝐵))
 
2-Apr-2026redivne0bd 43252 The ratio of nonzero numbers is nonzero. (Contributed by SN, 2-Apr-2026.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐵 ∈ ℝ)    &   (𝜑𝐵 ≠ 0)       (𝜑 → (𝐴 ≠ 0 ↔ (𝐴 / 𝐵) ≠ 0))
 
2-Apr-2026redivmul2d 43248 Relationship between division and multiplication. (Contributed by SN, 2-Apr-2026.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐵 ∈ ℝ)    &   (𝜑𝐶 ∈ ℝ)    &   (𝜑𝐶 ≠ 0)       (𝜑 → ((𝐴 / 𝐶) = 𝐵𝐴 = (𝐶 · 𝐵)))
 
2-Apr-2026padct 33100 Index a countable set with integers and pad with 𝑍. (Contributed by Thierry Arnoux, 1-Jun-2020.) Avoid ax-rep 5243. (Revised by GG, 2-Apr-2026.)
((𝐴 ≼ ω ∧ 𝑍𝑉 ∧ ¬ 𝑍𝐴) → ∃𝑓(𝑓:ℕ⟶(𝐴 ∪ {𝑍}) ∧ 𝐴 ⊆ ran 𝑓 ∧ Fun (𝑓𝐴)))
 
2-Apr-2026istrkg2ld 28766 Property of fulfilling the lower dimension 2 axiom. (Contributed by Thierry Arnoux, 20-Nov-2019.) Avoid ax-rep 5243. (Revised by GG, 2-Apr-2026.)
𝑃 = (Base‘𝐺)    &    = (dist‘𝐺)    &   𝐼 = (Itv‘𝐺)       (𝐺𝑉 → (𝐺DimTarskiG≥2 ↔ ∃𝑥𝑃𝑦𝑃𝑧𝑃 ¬ (𝑧 ∈ (𝑥𝐼𝑦) ∨ 𝑥 ∈ (𝑧𝐼𝑦) ∨ 𝑦 ∈ (𝑥𝐼𝑧))))
 
2-Apr-2026smndex1igid 18996 The composition of the modulo function 𝐼 and a constant function (𝐺𝐾) results in (𝐺𝐾) itself. (Contributed by AV, 14-Feb-2024.) Avoid ax-rep 5243. (Revised by GG, 2-Apr-2026.)
𝑀 = (EndoFMnd‘ℕ0)    &   𝑁 ∈ ℕ    &   𝐼 = (𝑥 ∈ ℕ0 ↦ (𝑥 mod 𝑁))    &   𝐺 = (𝑛 ∈ (0..^𝑁) ↦ (𝑥 ∈ ℕ0𝑛))       (𝐾 ∈ (0..^𝑁) → (𝐼 ∘ (𝐺𝐾)) = (𝐺𝐾))
 
2-Apr-2026smndex1gid 18994 The composition of a constant function (𝐺𝐾) with another endofunction on 0 results in (𝐺𝐾) itself. (Contributed by AV, 14-Feb-2024.) Avoid ax-rep 5243. (Revised by GG, 2-Apr-2026.)
𝑀 = (EndoFMnd‘ℕ0)    &   𝑁 ∈ ℕ    &   𝐼 = (𝑥 ∈ ℕ0 ↦ (𝑥 mod 𝑁))    &   𝐺 = (𝑛 ∈ (0..^𝑁) ↦ (𝑥 ∈ ℕ0𝑛))       ((𝐹 ∈ (Base‘𝑀) ∧ 𝐾 ∈ (0..^𝑁)) → ((𝐺𝐾) ∘ 𝐹) = (𝐺𝐾))
 
2-Apr-2026smndex1gbas 18992 The constant functions (𝐺𝐾) are endofunctions on 0. (Contributed by AV, 12-Feb-2024.) Avoid ax-rep 5243 and shorten proof. (Revised by GG, 2-Apr-2026.)
𝑀 = (EndoFMnd‘ℕ0)    &   𝑁 ∈ ℕ    &   𝐼 = (𝑥 ∈ ℕ0 ↦ (𝑥 mod 𝑁))    &   𝐺 = (𝑛 ∈ (0..^𝑁) ↦ (𝑥 ∈ ℕ0𝑛))       (𝐾 ∈ (0..^𝑁) → (𝐺𝐾) ∈ (Base‘𝑀))
 
1-Apr-2026nowisdomv 30862 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 37823 Implicit substitution inference for ordered pairs. (Contributed by NM, 28-May-1995.) Use a similar proof to copsex4g 5483 to reduce axiom usage. (Revised by SN, 1-Sep-2024.) Adapt copsex2g 5481 $p to deduction form. (Revised by BJ, 28-Mar-2026.) Do not use copsex2g 5481. (Proof modification is discouraged.)
((𝜑 ∧ (𝑥 = 𝐴𝑦 = 𝐵)) → (𝜓𝜒))       ((𝜑 ∧ (𝐴𝑉𝐵𝑊)) → (∃𝑥𝑦(⟨𝐴, 𝐵⟩ = ⟨𝑥, 𝑦⟩ ∧ 𝜓) ↔ 𝜒))
 
28-Mar-2026cgsex2gd 37822 Implicit substitution inference for general classes. (Contributed by NM, 26-Jul-1995.) Adapt cgsex2g 3503 to deduction form. (Revised by BJ, 28-Mar-2026.) Do not use cgsex2g 3503. (Proof modification is discouraged.)
((𝜑 ∧ (𝑥 = 𝐴𝑦 = 𝐵)) → 𝜓)    &   ((𝜑𝜓) → (𝜒𝜃))       ((𝜑 ∧ (𝐴𝑉𝐵𝑊)) → (∃𝑥𝑦(𝜓𝜒) ↔ 𝜃))
 
28-Mar-2026bj-alnnf2 37404 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 37403 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 37255 Syllogism under the universal quantifier, in the curried form appearing as Theorem *10.3 of [WhiteheadRussell] p. 145. See alsyl 1926 for the uncurried form. (Contributed by BJ, 28-Mar-2026.)
(∀𝑥(𝜑𝜓) → (∀𝑥(𝜓𝜒) → ∀𝑥(𝜑𝜒)))
 
27-Mar-2026axnulALT2 35501 Alternate proof of axnul 5273, proved from propositional calculus, ax-gen 1828, ax-4 1842, ax-6 2000, and ax-rep 5243. (Proof modification is discouraged.) (New usage is discouraged.) (Contributed by BTernaryTau, 27-Mar-2026.)
𝑥𝑦 ¬ 𝑦𝑥
 
26-Mar-2026axprALT2 35528 Alternate proof of axpr 5403, proved from predicate calculus, ax-rep 5243, and ax-inf2 9620. (Contributed by BTernaryTau, 26-Mar-2026.) (Proof modification is discouraged.) (New usage is discouraged.)
𝑧𝑤((𝑤 = 𝑥𝑤 = 𝑦) → 𝑤𝑧)
 
21-Mar-2026bj-nnfbd0 37414 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 37409) in order not to require sp 2222 (modal T). See bj-nnfbi 37413. (Contributed by BJ, 21-Mar-2026.)
(𝜑 → (𝜓𝜒))       ((𝜑 ∧ ∀𝑥𝜑) → (Ⅎ'𝑥𝜓 ↔ Ⅎ'𝑥𝜒))
 
20-Mar-2026bj-bisimpr 37187 Implication from equivalence with a conjunct. Its associated inference is simprbi 503. (Contributed by BJ, 20-Mar-2026.)
((𝜑 ↔ (𝜓𝜒)) → (𝜑𝜒))
 
20-Mar-2026bj-bisimpl 37186 Implication from equivalence with a conjunct. Its associated inference is simplbi 502. (Contributed by BJ, 20-Mar-2026.)
((𝜑 ↔ (𝜓𝜒)) → (𝜑𝜓))
 
19-Mar-2026bj-almpig 37254 A partially quantified form of mpi 21 similar to bj-almpi 37253. (Contributed by BJ, 19-Mar-2026.)
(𝜑 → (𝜒𝜓))    &   𝑥𝜒       𝑥(𝜑𝜓)
 
19-Mar-2026bj-almpi 37253 A quantified form of mpi 21. See also barbara 2693, bj-ala1i 37252, bj-almp 37245. (Contributed by BJ, 19-Mar-2026.)
𝑥(𝜑 → (𝜒𝜓))    &   𝑥𝜒       𝑥(𝜑𝜓)
 
19-Mar-2026bj-alimii 37251 Inference associated with alimi 1844. Double inference associated with alim 1843. The usual proof of an associated inference (here from alimi 1844 and ax-mp 5) has the same size and same number of steps. (Contributed by BJ, 19-Mar-2026.)
(𝜓𝜑)    &   𝑥𝜓       𝑥𝜑
 
19-Mar-2026bj-almp 37245 A quantified form of ax-mp 5. See also barbara 2693, bj-ala1i 37252, bj-almpi 37253. (Contributed by BJ, 19-Mar-2026.)
𝑥(𝜓𝜑)    &   𝑥𝜓       𝑥𝜑
 
17-Mar-2026bj-evalf 37757 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 47651 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 47650 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 47649 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 33995 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 33994 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 33975 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 33974 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 33973 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 33972 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 33971 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 33970 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 33969 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 33423 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 47660 Alternative trigonometric formula for the golden ratio. (Contributed by Ender Ting, 15-Mar-2026.)
𝐹 = (2 · (cos‘(π / 5)))       𝐹 = (2 · (sin‘(π · (3 / 10))))
 
15-Mar-2026goldrarr 47659 The golden ratio is a real value. (Contributed by Ender Ting, 15-Mar-2026.)
𝐹 = (2 · (cos‘(π / 5)))       𝐹 ∈ ℝ
 
14-Mar-2026bj-axreprepsep 37753 Strong axiom of replacement (universal closure of ax-rep 5243) 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 2220, 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 1960. (Contributed by BJ, 14-Mar-2026.) (Proof modification is discouraged.)

𝑥𝑠𝑦(𝑦𝑠 ↔ (𝑦𝑥 ∧ ∃𝑧𝜑))    &   𝑠(∀𝑦𝑠 ∃!𝑧𝜑 → ∃𝑡𝑧(𝑧𝑡 ↔ ∃𝑦𝑠 𝜑))       𝑥(∀𝑦𝑥 ∃*𝑧𝜑 → ∃𝑡𝑧(𝑧𝑡 ↔ ∃𝑦𝑥 𝜑))
 
14-Mar-2026bj-axseprep 37752 Axiom of separation (universal closure of ax-sep 5262) 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 2008) 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 2390 and sbequ12r 2291 and eueq2 3676) could be reworked to avoid it. Proof modifications should not introduce steps relying on a nonempty universe, like alrimiv 1960. (Contributed by BJ, 14-Mar-2026.) (Proof modification is discouraged.)

(∃𝑥⊤ → ∃𝑦𝑧𝑦 ⊥)    &   𝑥(∀𝑧𝑥 ∃!𝑡𝜓 → ∃𝑦𝑡(𝑡𝑦 ↔ ∃𝑧𝑥 𝜓))    &   (𝜓 ↔ ((𝜑𝑡 = 𝑧) ∨ (¬ 𝜑𝑡 = 𝑎)))       𝑥𝑦𝑧(𝑧𝑦 ↔ (𝑧𝑥𝜑))
 
14-Mar-2026bj-rep 37751 Version of the axiom of replacement requiring the functional relation in the axiom to be a (total) function from ax-rep 5243 (in the form of axrep6 5252). (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 37307 Exixtentially quantifying over a non-occurring variable is independent from the variable, under a weaker condition than in bj-cbvexvv 37303. (Contributed by BJ, 14-Mar-2026.) (Proof modification is discouraged.)
((∀𝑥𝜑 → ∀𝑦⊥) → (∃𝑦𝜓 → ∃𝑥𝜓))
 
14-Mar-2026bj-cbveaw 37306 Universally quantifying over a non-occurring variable is independent from the variable, under a weaker condition than in bj-cbvalvv 37302. (Contributed by BJ, 14-Mar-2026.) (Proof modification is discouraged.)
((∃𝑥⊤ → ∃𝑦𝜑) → (∀𝑦𝜓 → ∀𝑥𝜓))
 
14-Mar-2026bj-cbvew 37305 Existentially quantifying over a non-occurring variable is independent from the variable, under a weaker condition than in bj-cbvexvv 37303. 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 37304 Universally quantifying over a non-occurring variable is independent from the variable, under a weaker condition than in bj-cbvalvv 37302. 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 188); an intuitionistically valid statement is obtained by expressing the antecedent as a disjunction (classically equivalent through imor 867). (Proof modification is discouraged.)
((∀𝑥𝜑 → ∀𝑦⊥) → (∀𝑥𝜓 → ∀𝑦𝜓))
 
14-Mar-2026bj-exextruan 37301 An equivalent expression for existential quantification over a non-occurring variable proved over ax-1 6-- ax-5 1943. The forward implication can be seen as a strengthening of ax-5 1943 (a conjunct is added to the consequent of the implication). The reverse implication can be strengthened when ax-6 2000 is posited (which implies that models are non-empty), see 19.8v 2016. See bj-alextruim 37300 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 37300 An equivalent expression for universal quantification over a non-occurring variable proved over ax-1 6-- ax-5 1943. The forward implication can be strengthened when ax-6 2000 is posited (which implies that models are non-empty), see spvw 2014. The reverse implication can be seen as a strengthening of ax-5 1943 (since the antecedent of the implication is weakened). See bj-exextruan 37301 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 37240 A lemma for changing bound variables. Only the forward implication is intuitionistic. (Contributed by BJ, 14-Mar-2026.)
((∃𝑥𝜑 → ∃𝑦𝜓) ↔ (∀𝑦 ¬ 𝜓 → ∀𝑥 ¬ 𝜑))
 
11-Mar-2026axprglem 5412 Lemma for axprg 5413. (Contributed by GG, 11-Mar-2026.)
(𝑥 = 𝐴 → ∃𝑧𝑤((𝑤 = 𝐴𝑤 = 𝐵) → 𝑤𝑧))
 
8-Mar-2026bj-axnul 37750 Over the base theory ax-1 6-- ax-5 1943, 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 2738 is posited) provided existence of a set (the True truth constant existentially quantified over a fresh variable, extru 2008). This is the conclusion of bj-axnul 37750.

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 5262, 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 37750.

In particular, the axiom of existence extru 2008 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 37303 Existentially quantifying over a non-occurring variable is independent of that variable, over ax-1 6-- ax-5 1943 and the existence axiom extru 2008. See bj-cbvew 37305 for a strengthening. (Contributed by BJ, 8-Mar-2026.) (Proof modification is discouraged.)
(∃𝑥𝜑 → (∃𝑦𝜓 → ∃𝑥𝜓))
 
8-Mar-2026bj-cbvalvv 37302 Universally quantifying over a non-occurring variable is independent of that variable, over ax-1 6-- ax-5 1943 and the existence axiom extru 2008. See bj-cbvaw 37304 for a strengthening. (Contributed by BJ, 8-Mar-2026.) (Proof modification is discouraged.)
(∃𝑥𝜑 → (∀𝑥𝜓 → ∀𝑦𝜓))
 
8-Mar-2026bj-spvew 37299 Version of 19.8v 2016 and 19.9v 2017 proved from ax-1 6-- ax-5 1943. The antecedent can for instance be proved with the existence axiom extru 2008. (Contributed by BJ, 8-Mar-2026.) This could also be proved from bj-spvw 37298 using duality, but that proof would not be intuitionistic, contrary to the present one. (Proof modification is discouraged.)
(∃𝑥𝜑 → (𝜓 ↔ ∃𝑥𝜓))
 
8-Mar-2026bj-spvw 37298 Version of spvw 2014 and 19.3v 2015 proved from ax-1 6-- ax-5 1943. The antecedent can for instance be proved with the existence axiom extru 2008. (Contributed by BJ, 8-Mar-2026.) (Proof modification is discouraged.)
(∃𝑥𝜑 → (𝜓 ↔ ∀𝑥𝜓))
 
8-Mar-2026bj-axdd2ALT 37283 Alternate proof of bj-axdd2 37226 (this should replace bj-axdd2 37226 when bj-exalimi 37279 is moved to the main section). (Contributed by BJ, 8-Mar-2026.) (Proof modification is discouraged.) (New usage is discouraged.)
(∃𝑥𝜑 → (∀𝑥𝜓 → ∃𝑥𝜓))
 
6-Mar-2026opex 5450 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 5274. (Revised by GG, 6-Mar-2026.)
𝐴, 𝐵⟩ ∈ V
 
6-Mar-2026snexg 5416 A singleton built on a set is a set. Special case of snex 5415 which is intuitionistically valid. (Contributed by NM, 7-Aug-1994.) (Revised by Mario Carneiro, 19-May-2013.) Extract from snex 5415 and shorten proof. (Revised by BJ, 15-Jan-2025.) (Proof shortened by GG, 6-Mar-2026.)
(𝐴𝑉 → {𝐴} ∈ V)
 
6-Mar-2026snex 5415 A singleton is a set. Theorem 7.12 of [Quine] p. 51, proved using Extensionality, Separation and Pairing. See also snexALT 5359. (Contributed by NM, 7-Aug-1994.) (Revised by Mario Carneiro, 19-May-2013.) Avoid ax-nul 5274 and shorten proof. (Revised by GG, 6-Mar-2026.)
{𝐴} ∈ V
 
6-Mar-2026prex 5414 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 4738), so we can dispense with hypotheses requiring them to be sets. (Contributed by NM, 15-Jul-1993.) Avoid ax-nul 5274 and shorten proof. (Revised by GG, 6-Mar-2026.)
{𝐴, 𝐵} ∈ V
 
6-Mar-2026axprg 5413 Derive The Axiom of Pairing with class variables. (Contributed by GG, 6-Mar-2026.)
𝑧𝑤((𝑤 = 𝐴𝑤 = 𝐵) → 𝑤𝑧)
 
5-Mar-2026mh-setindnd 37089 A version of mh-setind 37088 with no distinct variable conditions. (Contributed by Matthew House, 5-Mar-2026.) (New usage is discouraged.)
(∀𝑦(∀𝑥(𝑥𝑦𝜑) → ∀𝑥(𝑥 = 𝑦 → ∀𝑦𝜑)) → 𝜑)
 
4-Mar-2026regsfromunir1 37092 Derivation of ax-regs 35563 from unir1 9795. (Contributed by Matthew House, 4-Mar-2026.)
(𝑅1 “ On) = V       (∃𝑥𝜑 → ∃𝑦(∀𝑥(𝑥 = 𝑦𝜑) ∧ ∀𝑧(𝑧𝑦 → ¬ ∀𝑥(𝑥 = 𝑧𝜑))))
 
4-Mar-2026regsfromsetind 37091 Derivation of ax-regs 35563 from mh-setind 37088. (Contributed by Matthew House, 4-Mar-2026.)
(∀𝑦(∀𝑥(𝑥𝑦 → ¬ 𝜑) → ∀𝑥(𝑥 = 𝑦 → ¬ 𝜑)) → ¬ 𝜑)       (∃𝑥𝜑 → ∃𝑦(∀𝑥(𝑥 = 𝑦𝜑) ∧ ∀𝑧(𝑧𝑦 → ¬ ∀𝑥(𝑥 = 𝑧𝜑))))
 
4-Mar-2026regsfromregtco 37090 Derivation of ax-regs 35563 from ax-reg 9564 + ax-tco 37024. (Contributed by Matthew House, 4-Mar-2026.)
(∃𝑦 𝑦𝑤 → ∃𝑦(𝑦𝑤 ∧ ∀𝑧(𝑧𝑦 → ¬ 𝑧𝑤)))    &   𝑢(𝑣𝑢 ∧ ∀𝑡(𝑡𝑢 → ∀𝑠(𝑠𝑡𝑠𝑢)))       (∃𝑥𝜑 → ∃𝑦(∀𝑥(𝑥 = 𝑦𝜑) ∧ ∀𝑧(𝑧𝑦 → ¬ ∀𝑥(𝑥 = 𝑧𝜑))))
 
4-Mar-2026mh-setind 37088 Principle of set induction setind 9726, written with primitive symbols. (Contributed by Matthew House, 4-Mar-2026.)
(∀𝑦(∀𝑥(𝑥𝑦𝜑) → ∀𝑥(𝑥 = 𝑦𝜑)) → 𝜑)
 
27-Feb-2026eln0s2 28587 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 28561 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 28435 A surreal divided by one is itself. Deduction version. (Contributed by Scott Fenton, 27-Feb-2026.)
(𝜑𝐴 No )       (𝜑 → (𝐴 /su 1s ) = 𝐴)
 
27-Feb-2026rightnod 28112 An element of a right set is a surreal. (Contributed by Scott Fenton, 27-Feb-2026.)
(𝜑𝐴 ∈ ( R ‘𝐵))       (𝜑𝐴 No )
 
27-Feb-2026rightoldd 28111 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 28110 An element of a left set is a surreal. (Contributed by Scott Fenton, 27-Feb-2026.)
(𝜑𝐴 ∈ ( L ‘𝐵))       (𝜑𝐴 No )
 
27-Feb-2026leftoldd 28109 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 28108 An element of a right set is a surreal. (Contributed by Scott Fenton, 27-Feb-2026.)
(𝐴 ∈ ( R ‘𝐵) → 𝐴 No )
 
27-Feb-2026leftno 28107 An element of a left set is a surreal. (Contributed by Scott Fenton, 27-Feb-2026.)
(𝐴 ∈ ( L ‘𝐵) → 𝐴 No )
 
27-Feb-2026rightold 28106 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 28105 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 28099 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 28098 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 28078 An element of a new set is a surreal. (Contributed by Scott Fenton, 27-Feb-2026.)
(𝜑𝐴 ∈ ( N ‘𝐵))       (𝜑𝐴 No )
 
27-Feb-2026oldnod 28077 An element of an old set is a surreal. (Contributed by Scott Fenton, 27-Feb-2026.)
(𝜑𝐴 ∈ ( O ‘𝐵))       (𝜑𝐴 No )
 
27-Feb-2026madenod 28076 An element of a made set is a surreal. (Contributed by Scott Fenton, 27-Feb-2026.)
(𝜑𝐴 ∈ ( M ‘𝐵))       (𝜑𝐴 No )
 
27-Feb-2026newno 28075 An element of a new set is a surreal. (Contributed by Scott Fenton, 27-Feb-2026.)
(𝐴 ∈ ( N ‘𝐵) → 𝐴 No )
 
27-Feb-2026oldno 28074 An element of an old set is a surreal. (Contributed by Scott Fenton, 27-Feb-2026.)
(𝐴 ∈ ( O ‘𝐵) → 𝐴 No )
 
27-Feb-2026madeno 28073 An element of a made set is a surreal. (Contributed by Scott Fenton, 27-Feb-2026.)
(𝐴 ∈ ( M ‘𝐵) → 𝐴 No )
 
27-Feb-2026nulsgtsd 28008 The empty set is greater than any set of surreals. Deduction version. (Contributed by Scott Fenton, 27-Feb-2026.)
(𝜑𝐴𝑉)    &   (𝜑𝐴 No )       (𝜑𝐴 <<s ∅)
 
27-Feb-2026nulsltsd 28007 The empty set is less-than any set of surreals. Deduction version. (Contributed by Scott Fenton, 27-Feb-2026.)
(𝜑𝐴𝑉)    &   (𝜑𝐴 No )       (𝜑 → ∅ <<s 𝐴)
 
26-Feb-2026dfz12s2 28718 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 28717 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 28716 Lemma for bdayfin 28717. Handle the non-negative case. (Contributed by Scott Fenton, 26-Feb-2026.)
((𝐴 No ∧ 0s ≤s 𝐴 ∧ ( bday 𝐴) ∈ ω) → 𝐴 ∈ ℤs[1/2])
 
26-Feb-2026bdayfinbnd 28699 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 28698 Lemma for bdayfinbnd 28699. 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 28697 Lemma for bdayfinbnd 28699. 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 39664 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 39662 on the partition side. (Contributed by Peter Mazsa, 25-Feb-2026.)

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

Pet2Parts is obtained by applying the grade-stability operator SucMap ShiftStable (see df-shiftstable 39172) to the modular intersection from dfpetparts2 39662. 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 39632 / dfdisjs7 39633), 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 39662 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 39632 / dfdisjs7 39633): 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 39659 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 39666 (using typesafepets 39665 and mpets 39646). The explicit typing (𝑟 ∈ Rels ∧ 𝑛 ∈ CoMembErs ) is included for the same reason as in df-petparts 39658: 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 39658 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 39662 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 28696 Lemma for bdayfinbnd 28699. 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 28695 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 28500 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 28499 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 28498 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 27960 Trichotomy law for surreal less-than or equal. Deduction version. (Contributed by Scott Fenton, 25-Feb-2026.)
(𝜑𝐴 No )    &   (𝜑𝐵 No )       (𝜑 → (𝐴 = 𝐵 ↔ (𝐴 ≤s 𝐵𝐵 ≤s 𝐴)))
 
25-Feb-2026lesloed 27959 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 27958 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 27957 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 28246 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 6998 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 591 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 28687 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 28598 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 28166 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 28147 Birthday comparison rule for surreals. (Contributed by Scott Fenton, 23-Feb-2026.)
(𝜑𝐴 = (𝐿 |s 𝑅))    &   (𝜑𝐵 No )    &   (𝜑𝐿 <<s {𝐵})    &   (𝜑 → {𝐵} <<s 𝑅)       (𝜑 → ( bday 𝐴) ⊆ ( bday 𝐵))
 
22-Feb-2026dfblockliftmap 39150 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 39149 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 39116). Then map each domain element 𝑚 to its coset [𝑚] under that restricted block relation.

For 𝑚 in the domain, which requires (𝑚𝐴𝑚 ≠ ∅ ∧ [𝑚]𝑅 ≠ ∅) (cf. eldmxrncnvepres 39124), the fiber has the product form [𝑚](𝑅 E ) = ([𝑚]𝑅 × 𝑚), so the block relation lifts a block 𝑚 to the rectangular grid "external labels × internal members", see dfblockliftmap2 39151. Contrast: while the adjoined lift, via (𝑅 E ), attaches neighbors and members in a single relation (see dfadjliftmap2 39147), 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 39145. For the equilibrium condition, see df-blockliftfix 39171. (Contributed by Peter Mazsa, 24-Jan-2026.) (Revised by Peter Mazsa, 22-Feb-2026.)

(𝑅 BlockLiftMap 𝐴) = QMap (𝑅 ⋉ ( E ↾ 𝐴))
 
22-Feb-2026dfadjliftmap 39146 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 39145 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 39146. Thus, for 𝑚 in its domain, we have (𝑚 ∪ [𝑚]𝑅), see dfadjliftmap2 39147.

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 39154 and dfsucmap3 39153) are exactly the successor map 𝑚 ↦ suc 𝑚 (cf. dfsucmap4 39155), 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 7426). However, and are introduced in set.mm as class constructors (e.g. df-un 3913), 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 3913, and

BlockLiftMap directly using the existing constructor dfxrn2 39075,

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 8710,

or the equilibrium condition "AdjLiftFix" , in place of {⟨𝑟, 𝑎⟩ ∣ (dom ((𝑅 E ) ↾ 𝐴) / ((𝑅 E ) ↾ 𝐴)) = 𝑎} (cf. its analog df-blockliftfix 39171). 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 39148) 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 28715 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 28714 Lemma for z12bday 28715. Handle the non-negative case. (Contributed by Scott Fenton, 22-Feb-2026.)
((𝐴 ∈ ℤs[1/2] ∧ 0s ≤s 𝐴) → ( bday 𝐴) ∈ ω)
 
22-Feb-2026z12bdaylem2 28701 Lemma for z12bday 28715. 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 28700 Lemma for z12bday 28715. 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 28694 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 28512 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 28511 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 28509 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 28505 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 28703 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 28693 Lemma for bdaypw2n0bnd 28694. 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 28686 Identity law for division over powers of two. (Contributed by Scott Fenton, 21-Feb-2026.)
(𝜑𝑁 ∈ ℕ0s)       (𝜑 → ((2ss𝑁) /su (2ss𝑁)) = 1s )
 
21-Feb-2026pw2divs0d 28685 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 28638 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 28289 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 28288 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 39171 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 39149), 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 8710 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 28583 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 10569 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 10568 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 39667 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 39666 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 39646 plays for carriers: mpets 39646 identifies MembParts with CoMembErs at the membership-carrier level, while petseq 39666 identifies the corresponding span-level predicates built from Parts and Ers.

Unlike the earlier broad pets 39656, the bridge used here is the type-safe span theorem typesafepets 39665, 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 39665 Type-safe pets 39656 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 39656: 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 39666), in complete parallel with the membership bridge mpets 39646. This theorem is intentionally not the definition of PetParts; it is the bridge used by petseq 39666 after typedness is enforced by the "Pet*" definitions. (Contributed by Peter Mazsa, 19-Feb-2026.)
((𝐴 ∈ MembParts ∧ 𝑅𝑉) → ((𝑅 ⋉ ( E ↾ 𝐴)) Parts 𝐴 ↔ ≀ (𝑅 ⋉ ( E ↾ 𝐴)) Ers 𝐴))
 
19-Feb-2026df-pet2ers 39661 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 39667). (Contributed by Peter Mazsa, 19-Feb-2026.)
Pet2Ers = ( SucMap ShiftStable PetErs )
 
19-Feb-2026df-pet2parts 39660 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 39655 (see dfpet2parts2 39663): 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 39662). Pet2Parts adds the external grade (tower) stability axis via df-shiftstable 39172 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 39632 / dfdisjs7 39633, whereas pet 39655 has an additional grade axis that must be imposed separately. (Contributed by Peter Mazsa, 19-Feb-2026.)
Pet2Parts = ( SucMap ShiftStable PetParts )
 
19-Feb-2026shiftstableeq2 39173 Equality theorem for shift-stability of two classes. (Contributed by Peter Mazsa, 19-Feb-2026.)
(𝐹 = 𝐺 → (𝑆 ShiftStable 𝐹) = (𝑆 ShiftStable 𝐺))
 
19-Feb-2026ecqmap2 39140 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 37315 Proof of df-sbc 3748 when taking bj-df-sb 37313 as definition. (Contributed by BJ, 19-Feb-2026.) (Proof modification is discouraged.) (New usage is discouraged.)
(𝐴 ∈ {𝑥𝜑} ↔ [𝐴 / 𝑥]𝜑)
 
19-Feb-2026bj-sbcex 37314 Proof of sbcex 3757 when taking bj-df-sb 37313 as definition. (Contributed by BJ, 19-Feb-2026.) (Proof modification is discouraged.) (New usage is discouraged.)
([𝐴 / 𝑥]𝜑𝐴 ∈ V)
 
19-Feb-2026bj-df-sb 37313 Proposed definition to replace df-sb 2100 and df-sbc 3748. Proof is therefore unimportant. Contrary to df-sb 2100, 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 2002 is posited, all variables "exist". (Contributed by BJ, 19-Feb-2026.)
([𝐴 / 𝑥]𝜑 ↔ ∃𝑦(𝑦 = 𝐴 ∧ ∀𝑥(𝑥 = 𝑦𝜑)))
 
19-Feb-2026renod 28723 A surreal real is a surreal number. (Contributed by Scott Fenton, 19-Feb-2026.)
(𝜑𝐴 ∈ ℝs)       (𝜑𝐴 No )
 
19-Feb-2026reno 28722 A surreal real is a surreal number. (Contributed by Scott Fenton, 19-Feb-2026.)
(𝐴 ∈ ℝs𝐴 No )
 
19-Feb-2026oldfib 28607 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 9210 A generalization of onfin 9209 to include the class of all ordinals. (Contributed by Scott Fenton, 19-Feb-2026.)
(Ord 𝐴 → (𝐴 ∈ Fin ↔ 𝐴 ∈ ω))
 
18-Feb-2026suceldisj 39508 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 39563 (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 38284 Version of cbvexvw 2070 with references to ax-6 2000 listed as antecedents. (Contributed by Wolf Lammen, 18-Feb-2026.)
(𝑥 = 𝑦 → (𝜑𝜓))       ((∀𝑦𝑥 𝑥 = 𝑦 ∧ ∀𝑥𝑦 𝑥 = 𝑦) → (∃𝑥𝜑 ↔ ∃𝑦𝜓))
 
18-Feb-2026noinfepregs 35570 There are no infinite descending -chains, proven using ax-regs 35563. (Contributed by BTernaryTau, 18-Feb-2026.)
𝑥 ∈ ω (𝐹‘suc 𝑥) ∉ (𝐹𝑥)
 
18-Feb-2026noinfepfnregs 35569 There are no infinite descending -chains, proven using ax-regs 35563. (Contributed by BTernaryTau, 18-Feb-2026.)
(𝐹 Fn ω → ∃𝑥 ∈ ω (𝐹‘suc 𝑥) ∉ (𝐹𝑥))
 
18-Feb-2026fineqvinfep 35562 A counterexample demonstrating that tz9.1 9708 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 28727 Surreal one is a surreal real. (Contributed by Scott Fenton, 18-Feb-2026.)
1s ∈ ℝs
 
16-Feb-2026dfdisjs7 39633 Alternate definition of the class of disjoints (via carrier disjointness + unique representatives). Ideology-free normal form of dfdisjs6 39632: "blocks cover their elements" (∃*) and "each block has a unique generator" (∃!), expressed entirely at the quotient-carrier level. Same class as dfdisjs6 39632, 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 39658 and with successor-style uniqueness patterns. (Contributed by Peter Mazsa, 16-Feb-2026.)
Disjs = {𝑟 ∈ Rels ∣ (∀𝑥∃*𝑢 ∈ (dom 𝑟 / 𝑟)𝑥𝑢 ∧ ∀𝑢 ∈ (dom 𝑟 / 𝑟)∃!𝑡 ∈ dom 𝑟 𝑢 = [𝑡]𝑟)}
 
16-Feb-2026dfdisjs6 39632 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 39631 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 39630, but without explicitly mentioning QMap. This is the "E*/E!"" view that is closest in spirit to suc11reg 9598-style injectivity and to the "unique generator per block" narrative. It is also the right contrast-point to older one-line criteria like dfdisjs4 39486 (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 39630 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 39655, 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 39552 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 39551 Injectivity of coset map from QMap being disjoint (biconditional form). Convenience version of qmapeldisjsim 39550. (Contributed by Peter Mazsa, 16-Feb-2026.)
((𝑅𝑉 ∧ QMap 𝑅 ∈ Disjs ∧ (𝐴 ∈ dom 𝑅𝐵 ∈ dom 𝑅)) → ([𝐴]𝑅 = [𝐵]𝑅𝐴 = 𝐵))
 
16-Feb-2026qmapeldisjsim 39550 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 39497 Injectivity of the block constructor under disjointness. suc11reg 9598 analogue: under disjointness, equal blocks force equal generators (on dom 𝑅). (Contributed by Peter Mazsa, 16-Feb-2026.)
( Disj 𝑅 → ((𝐴 ∈ dom 𝑅𝐵 ∈ dom 𝑅) → ([𝐴]𝑅 = [𝐵]𝑅𝐴 = 𝐵)))
 
16-Feb-2026disjimeceqim2 39495 Disj implies injectivity (pairwise form). The same content as disjimeceqim 39494 but packaged for direct use with explicit hypotheses (𝐴 ∈ dom 𝑅𝐵 ∈ dom 𝑅). (Contributed by Peter Mazsa, 16-Feb-2026.)
( Disj 𝑅 → ((𝐴 ∈ dom 𝑅𝐵 ∈ dom 𝑅) → ([𝐴]𝑅 = [𝐵]𝑅𝐴 = 𝐵)))
 
16-Feb-2026falseral0 4480 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 4469 Restricted quantification of wff not containing quantified variable. (Contributed by NM, 10-Mar-1997.) Avoid ax-12 2216. (Revised by TM, 16-Feb-2026.)
(𝐴 ≠ ∅ → (𝜑 ↔ ∀𝑥𝐴 𝜑))
 
15-Feb-2026eldisjsim5 39629 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 39628 Disjs implies element-disjoint range of QMap. Same as eldisjsim3 39627 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 34001 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 26510 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 34000 Lemma for vieta 34001: 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 33999 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 33998 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 33997 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 33985 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 33963 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 33962 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 33961 Polynomial evaluation for scalars. See evlsscaval 22314. (Contributed by Thierry Arnoux, 15-Feb-2026.)
𝑄 = (𝐼 eval 𝑅)    &   𝑊 = (𝐼 mPoly 𝑅)    &   𝐵 = (Base‘𝑅)    &   𝐴 = (algSc‘𝑊)    &   (𝜑𝐼𝑉)    &   (𝜑𝑅 ∈ CRing)    &   (𝜑𝑋𝐵)    &   (𝜑𝐿:𝐼𝐵)       (𝜑 → ((𝑄‘(𝐴𝑋))‘𝐿) = 𝑋)
 
15-Feb-2026gsummoncoe1fz 33919 A coefficient of the polynomial represented as a sum of scaled monomials is the coefficient of the corresponding scaled monomial. See gsummoncoe1fzo 33918. (Contributed by Thierry Arnoux, 15-Feb-2026.)
𝑃 = (Poly1𝑅)    &   𝐵 = (Base‘𝑃)    &   𝑋 = (var1𝑅)    &    = (.g‘(mulGrp‘𝑃))    &   (𝜑𝑅 ∈ Ring)    &   𝐾 = (Base‘𝑅)    &    = ( ·𝑠𝑃)    &   (𝜑𝐷 ∈ ℕ0)    &   (𝜑 → ∀𝑘 ∈ (0...𝐷)𝐴𝐾)    &   (𝜑𝐿 ∈ (0...𝐷))    &   (𝑘 = 𝐿𝐴 = 𝐶)       (𝜑 → ((coe1‘(𝑃 Σg (𝑘 ∈ (0...𝐷) ↦ (𝐴 (𝑘 𝑋)))))‘𝐿) = 𝐶)
 
15-Feb-2026ply1coedeg 33910 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 33904 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 33877 Right-associative property of an associative algebra, deduction version. (Contributed by Thierry Arnoux, 15-Feb-2026.)
𝑉 = (Base‘𝑊)    &   𝐹 = (Scalar‘𝑊)    &   𝐵 = (Base‘𝐹)    &    · = ( ·𝑠𝑊)    &    × = (.r𝑊)    &   (𝜑𝑊 ∈ AssAlg)    &   (𝜑𝐴𝐵)    &   (𝜑𝑋𝑉)    &   (𝜑𝑌𝑉)       (𝜑 → (𝑋 × (𝐴 · 𝑌)) = (𝐴 · (𝑋 × 𝑌)))
 
15-Feb-2026assaassd 33876 Left-associative property of an associative algebra, deduction version. (Contributed by Thierry Arnoux, 15-Feb-2026.)
𝑉 = (Base‘𝑊)    &   𝐹 = (Scalar‘𝑊)    &   𝐵 = (Base‘𝐹)    &    · = ( ·𝑠𝑊)    &    × = (.r𝑊)    &   (𝜑𝑊 ∈ AssAlg)    &   (𝜑𝐴𝐵)    &   (𝜑𝑋𝑉)    &   (𝜑𝑌𝑉)       (𝜑 → ((𝐴 · 𝑋) × 𝑌) = (𝐴 · (𝑋 × 𝑌)))
 
15-Feb-2026domnprodeq0 33630 A product over a domain is zero exactly when one of the factors is zero. Generalization of domneq0 20844 for any number of factors. See also domnprodn0 33629. (Contributed by Thierry Arnoux, 15-Feb-2026.)
𝑀 = (mulGrp‘𝑅)    &   𝐵 = (Base‘𝑅)    &    0 = (0g𝑅)    &   (𝜑𝑅 ∈ IDomn)    &   (𝜑𝐴 ∈ Fin)    &   (𝜑𝐹:𝐴𝐵)       (𝜑 → ((𝑀 Σg 𝐹) = 00 ∈ ran 𝐹))
 
15-Feb-2026ringm1expp1 33584 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 33580 A unital ring is a non-unital ring, deduction version. (Contributed by Thierry Arnoux, 15-Feb-2026.)
(𝜑𝑅 ∈ Ring)       (𝜑𝑅 ∈ Rng)
 
15-Feb-2026gsummulsubdishift2s 33422 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 33421 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 33420 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 33419 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 33410 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 33409 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 33408 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 33407 Revert ordering in a group sum. See also gsumwrev 19467. (Contributed by Thierry Arnoux, 15-Feb-2026.)
𝐵 = (Base‘𝑀)    &   (𝜑𝑀 ∈ CMnd)    &   (𝜑𝑁 ∈ ℕ0)    &   ((𝜑𝑘 ∈ (0...𝑁)) → 𝑋𝐵)    &   (((𝜑𝑙 ∈ (0...𝑁)) ∧ 𝑘 = (𝑁𝑙)) → 𝑋 = 𝑌)       (𝜑 → (𝑀 Σg (𝑘 ∈ (0...𝑁) ↦ 𝑋)) = (𝑀 Σg (𝑙 ∈ (0...𝑁) ↦ 𝑌)))
 
15-Feb-2026gsummptfsres 33405 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 33396 An abelian group operation is commutative, deduction version. (Contributed by Thierry Arnoux, 15-Feb-2026.)
𝐵 = (Base‘𝐺)    &    + = (+g𝐺)    &   (𝜑𝐺 ∈ Abel)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)       (𝜑 → (𝑋 + 𝑌) = (𝑌 + 𝑋))
 
15-Feb-2026grpinvinvd 33391 Double inverse law for groups. (Contributed by Thierry Arnoux, 15-Feb-2026.)
𝐵 = (Base‘𝐺)    &   𝑁 = (invg𝐺)    &   (𝜑𝐺 ∈ Grp)    &   (𝜑𝑋𝐵)       (𝜑 → (𝑁‘(𝑁𝑋)) = 𝑋)
 
15-Feb-2026indsn 33220 The indicator function of a singleton. (Contributed by Thierry Arnoux, 15-Feb-2026.)
((𝑂𝑉𝑋𝑂) → ((𝟭‘𝑂)‘{𝑋}) = (𝑥𝑂 ↦ if(𝑥 = 𝑋, 1, 0)))
 
15-Feb-2026nn0mnfxrd 33133 Nonnegative integers or minus infinity are extended real numbers. (Contributed by Thierry Arnoux, 15-Feb-2026.)
(𝜑𝐴 ∈ (ℕ0 ∪ {-∞}))       (𝜑𝐴 ∈ ℝ*)
 
15-Feb-2026fresunsn 33007 Recover the original function from a point-added function. See also funresdfunsn 7194 and fsnunres 7193. (Contributed by Thierry Arnoux, 15-Feb-2026.)
((𝐹 Fn 𝐴𝑋𝐴 ∧ (𝐹𝑋) = 𝑌) → ((𝐹 ↾ (𝐴 ∖ {𝑋})) ∪ {⟨𝑋, 𝑌⟩}) = 𝐹)
 
15-Feb-2026dfmo 2571 Simplify definition df-mo 2570 by removing its provable hypothesis. (Contributed by Wolf Lammen, 15-Feb-2026.)
(∃*𝑥𝜑 ↔ ∃𝑦𝑥(𝜑𝑥 = 𝑦))
 
14-Feb-2026dmqmap 39143 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 39139 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 39138 Alternate definition of the quotient map: QMap as ordered-pair class abstraction. Gives the raw set-builder characterization for extensional proofs, Rel proofs (relqmap 39142), and composition/intersection manipulations. (Contributed by Peter Mazsa, 14-Feb-2026.)
QMap 𝑅 = {⟨𝑥, 𝑦⟩ ∣ (𝑥 ∈ dom 𝑅𝑦 = [𝑥]𝑅)}
 
14-Feb-2026dfqmap2 39137 Alternate definition of the quotient map: QMap in image-of-singleton form. (Contributed by Peter Mazsa, 14-Feb-2026.)
QMap 𝑅 = (𝑥 ∈ dom 𝑅 ↦ (𝑅 “ {𝑥}))
 
12-Feb-2026disjqmap 39517 Disjointness of QMap equals unique generation of the quotient carrier. The cleaned, carrier-respecting version of disjqmap2 39516. 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 39516 Disjointness of QMap equals ∃*-generation. Pairs with disjqmap 39517 and raldmqseu 39055 to move between ∃* and ∃! depending on context. (Contributed by Peter Mazsa, 12-Feb-2026.)
(𝑅𝑉 → ( Disj QMap 𝑅 ↔ ∀𝑢∃*𝑡 ∈ dom 𝑅 𝑢 = [𝑡]𝑅))
 
12-Feb-2026qmapeldisjs 39515 When 𝑅 is a set (e.g., when it is an element of the class of relations df-rels 39130), 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 39144 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 39136 and dfqs2 8710. (Contributed by Peter Mazsa, 12-Feb-2026.)
ran QMap 𝑅 = (dom 𝑅 / 𝑅)
 
12-Feb-2026relqmap 39142 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 39141 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 39136 Define the quotient map (coset map), see also dfqmap2 39137 and dfqmap3 39138. 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 8710, rnqmap 39144). This is crucial for

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

(ii) transport of properties between a relation and its induced quotient-carrier (e.g. "elements are blocks" via rnqmap 39144), 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 43026 An inner existential quantifier's variable is bound. (Contributed by SN, 11-Feb-2026.)
𝑥𝑦𝑥𝜑
 
11-Feb-2026nfe2 43025 An inner existential quantifier's variable is bound. (Contributed by SN, 11-Feb-2026.)
𝑥𝑦𝑥𝜑
 
11-Feb-2026nfalh 43024 Version of nfal 2359 with an 'h' hypothesis, avoiding ax-12 2216. (Contributed by SN, 11-Feb-2026.)
(𝜑 → ∀𝑥𝜑)       𝑥𝑦𝜑
 
11-Feb-2026eldisjsim3 39627 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 39626 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 39625 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 39624 An element of the class of disjoint relations is disjoint. (Contributed by Peter Mazsa, 11-Feb-2026.)
(𝑅 ∈ Disjs → Disj 𝑅)
 
11-Feb-2026nfexa2 2215 An inner universal quantifier's variable is bound. (Contributed by SN, 11-Feb-2026.)
𝑥𝑦𝑥𝜑
 
11-Feb-2026nfexhe 2214 Version of nfex 2360 with the existential dual to the 'h' hypothesis, avoiding ax-12 2216. (Contributed by SN, 11-Feb-2026.)
(∃𝑥𝜑𝜑)       𝑥𝑦𝜑
 
10-Feb-2026eldisjdmqsim 39507 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 39506 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 8982 Equinumerosity implies dominance. (Contributed by NM, 31-Mar-1998.) (Proof shortened by TM, 10-Feb-2026.)
≈ ⊆ ≼
 
10-Feb-2026f1oi 6866 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 2216. (Revised by TM, 10-Feb-2026.)
( I ↾ 𝐴):𝐴1-1-onto𝐴
 
9-Feb-2026rsp3eq 39057 From a restricted universal statement over 𝐴, specialize to an arbitrary element class, cf. rsp3 39056. (Contributed by Peter Mazsa, 9-Feb-2026.)
𝑥𝐴    &   𝑦𝐴    &   𝑦𝜑    &   𝑥𝜓    &   (𝑥 = 𝑦 → (𝜑𝜓))       (∀𝑥𝐴 𝜑 → ((𝑦 = 𝐵𝐵𝐴) → 𝜓))
 
9-Feb-2026rsp3 39056 From a restricted universal statement over 𝐴, specialize to an arbitrary element 𝑦𝐴, cf. rsp 3256. (Contributed by Peter Mazsa, 9-Feb-2026.)
𝑥𝐴    &   𝑦𝐴    &   𝑦𝜑    &   𝑥𝜓    &   (𝑥 = 𝑦 → (𝜑𝜓))       (∀𝑥𝐴 𝜑 → (𝑦𝐴𝜓))
 
6-Feb-2026eldisjim3 39505 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 39055 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 39053 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 39623 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 39499 Disjointness implies unique-generation of quotient blocks. Converts existence-quotient comprehension (see df-qs 8709) 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 39498 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 2101 Simplify definition df-sb 2100 by removing its provable hypothesis. (Contributed by Wolf Lammen, 5-Feb-2026.)
([𝑡 / 𝑥]𝜑 ↔ ∀𝑦(𝑦 = 𝑡 → ∀𝑥(𝑥 = 𝑦𝜑)))
 
4-Feb-2026ss2rabd 4029 Subclass of a restricted class abstraction (deduction form). Saves ax-10 2179, ax-11 2195, ax-12 2216 over using ss2rab 4026 and sylibr 237. (Contributed by SN, 4-Feb-2026.)
(𝜑 → ∀𝑥𝐴 (𝜓𝜒))       (𝜑 → {𝑥𝐴𝜓} ⊆ {𝑥𝐴𝜒})
 
4-Feb-2026sbt 2103 A substitution into a theorem yields a theorem. See sbtALT 2106 for a shorter proof requiring more axioms. See chvar 2430 and chvarv 2431 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 2100. (Revised by Steven Nguyen, 6-Jul-2023.) Revise df-sb 2100 again. (Revised by Wolf Lammen, 4-Feb-2026.)
𝜑       [𝑡 / 𝑥]𝜑
 
4-Feb-2026sbtlem 2102 In the case of sbt 2103, the hypothesis in df-sb 2100 is derivable from propositional axioms and ax-gen 1828 alone. The essential proof step is presented in this lemma. (Contributed by Wolf Lammen, 4-Feb-2026.)
𝜑       𝑦(𝑦 = 𝑡 → ∀𝑥(𝑥 = 𝑦𝜑))
 
4-Feb-2026df-sb 2100 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 2163.

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 2120, sbcom2 2210 and sbid2v 2544).

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

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 2098 would be derivable from propositional axioms alone: one could apply the definiens for [𝑡 / 𝑥]𝜑 twice, using different dummy variables 𝑦 and 𝑧, and then invoke bitr3i 280 to establish their equivalence. This would jeopardize the independence of axioms, as demonstrated in an analoguous situation involving df-ss 3925 to prove ax-8 2148 (see in-ax8 36777).

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

(∀𝑦(𝑦 = 𝑡 → ∀𝑥(𝑥 = 𝑦𝜑)) ↔ ∀𝑧(𝑧 = 𝑡 → ∀𝑥(𝑥 = 𝑧𝜑)))       ([𝑡 / 𝑥]𝜑 ↔ ∀𝑦(𝑦 = 𝑡 → ∀𝑥(𝑥 = 𝑦𝜑)))
 
3-Feb-2026disjimeceqbi 39496 Disj gives biconditional injectivity (domain-wise). Strengthens injectivity to an iff. (Contributed by Peter Mazsa, 3-Feb-2026.)
( Disj 𝑅 → ∀𝑢 ∈ dom 𝑅𝑣 ∈ dom 𝑅([𝑢]𝑅 = [𝑣]𝑅𝑢 = 𝑣))
 
3-Feb-2026disjimeceqim 39494 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 39493 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 39633. (Contributed by Peter Mazsa, 3-Feb-2026.)
( Disj 𝑅 ↔ (∀𝑢 ∈ dom 𝑅𝑣 ∈ dom 𝑅(([𝑢]𝑅 ∩ [𝑣]𝑅) ≠ ∅ → 𝑢 = 𝑣) ∧ Rel 𝑅))
 
2-Feb-2026ralrnmo 39051 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 39050 "At most one" can be restricted to the range. (Contributed by Peter Mazsa, 2-Feb-2026.)
(∀𝑥∃*𝑢 𝑢𝑅𝑥 ↔ ∀𝑥 ∈ ran 𝑅∃*𝑢 𝑢𝑅𝑥)
 
2-Feb-2026mptelee 29281 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 5444 "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 5014 Subset theorem for an indexed union. (Contributed by NM, 13-Sep-2003.) (Proof shortened by Andrew Salmon, 25-Jul-2011.) Avoid ax-10 2179, ax-12 2216. (Revised by SN, 2-Feb-2026.)
( 𝑥𝐴 𝐵𝐶 ↔ ∀𝑥𝐴 𝐵𝐶)
 
2-Feb-2026iunssf 5012 Subset theorem for an indexed union. (Contributed by Glauco Siliprandi, 3-Mar-2021.) Avoid ax-10 2179. (Revised by SN, 2-Feb-2026.)
𝑥𝐶       ( 𝑥𝐴 𝐵𝐶 ↔ ∀𝑥𝐴 𝐵𝐶)
 
1-Feb-2026xp0 5766 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 4906 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 5274. (Revised by Eric Schmidt, 4-Apr-2007.) Avoid ax-11 2195. (Revised by TM, 1-Feb-2026.)
∅ = ∅
 
1-Feb-2026rabss2 4034 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 4032 Deduction of restricted abstraction subclass from implication. (Contributed by NM, 30-May-2006.) Avoid axioms. (Revised by TM, 1-Feb-2026.)
((𝜑𝑥𝐴) → (𝜓𝜒))       (𝜑 → {𝑥𝐴𝜓} ⊆ {𝑥𝐴𝜒})
 
31-Jan-2026cnv0 5874 The converse of the empty set. (Contributed by NM, 6-Apr-1998.) Remove dependency on ax-sep 5262, ax-nul 5274, ax-pr 5409. (Revised by KP, 25-Oct-2021.) Avoid ax-12 2216. (Revised by TM, 31-Jan-2026.)
∅ = ∅
 
30-Jan-2026chnsuslle 47638 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 39164 Alternate definition that incorporates the most desirable properties of the successor class. (Contributed by Peter Mazsa, 30-Jan-2026.)
Suc = {𝑛 ∣ ∃!𝑚𝑛 (𝑚𝑛 ∧ suc 𝑚 = 𝑛)}
 
30-Jan-2026dfsuccl3 39163 Alternate definition of the class of all successors. (Contributed by Peter Mazsa, 30-Jan-2026.)
Suc = {𝑛 ∣ ∃!𝑚 suc 𝑚 = 𝑛}
 
29-Jan-2026nthrucw 47648 Some number sets form a chain of proper subsets. This is rephrasing nthruc 16333 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 47642 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 47641 Lemma for chner 47642- trichotomy of integers within the word's domain. (Contributed by Ender Ting, 29-Jan-2026.)
(𝜑 Er 𝐴)    &   (𝜑𝐶 ∈ ( Chain 𝐴))    &   (𝜑𝐽 ∈ (0..^(♯‘𝐶)))    &   (𝜑𝐼 ∈ (0..^(♯‘𝐶)))       (𝜑 → (𝐼 ∈ (0..^𝐽) ∨ 𝐽 ∈ (0..^𝐼) ∨ 𝐼 = 𝐽))
 
29-Jan-2026chnerlem2 47640 Lemma for chner 47642 where the I-th element comes before the J-th. (Contributed by Ender Ting, 29-Jan-2026.)
(𝜑 Er 𝐴)    &   (𝜑𝐶 ∈ ( Chain 𝐴))    &   (𝜑𝐽 ∈ (0..^(♯‘𝐶)))       ((𝜑𝐼 ∈ (0..^𝐽)) → (𝐶𝐼) (𝐶𝐽))
 
29-Jan-2026chnerlem1 47639 In a chain constructed on an equivalence relation, the last element is equivalent to any. This theorem is a translation of chnub 18703 to equivalence relations. (Contributed by Ender Ting, 29-Jan-2026.)
(𝜑 Er 𝐴)    &   (𝜑𝐶 ∈ ( Chain 𝐴))    &   (𝜑𝐽 ∈ (0..^(♯‘𝐶)))       (𝜑 → (𝐶𝐽) (lastS‘𝐶))
 
29-Jan-2026dfsuccl2 39160 Alternate definition of the class of all successors. (Contributed by Peter Mazsa, 29-Jan-2026.)
Suc = {𝑛 ∣ ∃𝑚 suc 𝑚 = 𝑛}
 
29-Jan-2026dfblockliftmap2 39151 Alternate definition of the block lift map. (Contributed by Peter Mazsa, 29-Jan-2026.)
(𝑅 BlockLiftMap 𝐴) = (𝑚 ∈ (𝐴 ∩ (dom 𝑅 ∖ {∅})) ↦ ([𝑚]𝑅 × 𝑚))
 
29-Jan-2026dmxrncnvepres2 39123 Domain of the range product with restricted converse epsilon relation. (Contributed by Peter Mazsa, 29-Jan-2026.)
dom (𝑅 ⋉ ( E ↾ 𝐴)) = (𝐴 ∩ (dom 𝑅 ∖ {∅}))
 
29-Jan-2026frgr2wwlkeu 30715 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 30354 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 30353 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 30350 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 30349 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 30348. (Contributed by Ender Ting, 29-Jan-2026.)
𝑉 = (Vtx‘𝐺)       ((𝐺 ∈ USPGraph ∧ 𝐴𝑉𝐶𝑉) → (𝑊 ∈ (𝐴(2 WSPathsNOn 𝐺)𝐶) ↔ ∃𝑏𝑉 (𝑊 = ⟨“𝐴𝑏𝐶”⟩ ∧ ⟨“𝐴𝑏𝐶”⟩ ∈ (𝐴(2 WSPathsNOn 𝐺)𝐶))))
 
29-Jan-2026usgrwwlks2on 30344 A walk of length 2 between two vertices as word in a simple graph. This theorem is analogous to umgrwwlks2on 30345 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 28725 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 28480 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 28326 Swap subtrahends in a surreal inequality. (Contributed by Scott Fenton, 29-Jan-2026.)
(𝜑𝐴 No )    &   (𝜑𝐵 No )    &   (𝜑𝐶 No )       (𝜑 → (𝐴 ≤s (𝐵 -s 𝐶) ↔ 𝐶 ≤s (𝐵 -s 𝐴)))
 
28-Jan-2026dfsucmap4 39155 Alternate definition of the successor map. (Contributed by Peter Mazsa, 28-Jan-2026.)
SucMap = (𝑚 ∈ V ↦ suc 𝑚)
 
28-Jan-2026dfsucmap2 39154 Alternate definition of the successor map. (Contributed by Peter Mazsa, 28-Jan-2026.)
SucMap = ( I AdjLiftMap dom I )
 
28-Jan-2026dfsucmap3 39153 Alternate definition of the successor map. (Contributed by Peter Mazsa, 28-Jan-2026.)
SucMap = ( I AdjLiftMap V)
 
28-Jan-2026blockadjliftmap 39148 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 39147 Alternate definition of the adjoined lift map. (Contributed by Peter Mazsa, 28-Jan-2026.)
(𝑅 AdjLiftMap 𝐴) = (𝑚 ∈ (𝐴 ∩ (dom 𝑅 ∪ (V ∖ {∅}))) ↦ (𝑚 ∪ [𝑚]𝑅))
 
28-Jan-2026ecuncnvepres 39085 The restricted union with converse epsilon relation coset of 𝐵. (Contributed by Peter Mazsa, 28-Jan-2026.)
(𝐵𝐴 → [𝐵]((𝑅 E ) ↾ 𝐴) = (𝐵 ∪ [𝐵]𝑅))
 
28-Jan-2026ecunres 39084 The restricted union coset of 𝐵. (Contributed by Peter Mazsa, 28-Jan-2026.)
(𝐵𝑉 → [𝐵]((𝑅𝑆) ↾ 𝐴) = ([𝐵](𝑅𝐴) ∪ [𝐵](𝑆𝐴)))
 
28-Jan-2026ecun 39083 The union coset of 𝐴. (Contributed by Peter Mazsa, 28-Jan-2026.)
(𝐴𝑉 → [𝐴](𝑅𝑆) = ([𝐴]𝑅 ∪ [𝐴]𝑆))
 
28-Jan-2026dmxrnuncnvepres 39082 Domain of the combined relation of two special relations, see blockadjliftmap 39148. (Contributed by Peter Mazsa, 28-Jan-2026.)
dom (((𝑅 E ) ∪ E ) ↾ 𝐴) = (𝐴 ∖ {∅})
 
28-Jan-2026dmuncnvepres 39081 Domain of the union with the converse epsilon, restricted. (Contributed by Peter Mazsa, 28-Jan-2026.)
dom ((𝑅 E ) ↾ 𝐴) = (𝐴 ∩ (dom 𝑅 ∪ (V ∖ {∅})))
 
28-Jan-2026dmcnvepres 39080 Domain of the restricted converse epsilon relation. (Contributed by Peter Mazsa, 28-Jan-2026.)
dom ( E ↾ 𝐴) = (𝐴 ∖ {∅})
 
28-Jan-2026sps3wwlks2on 30343 A length 3 string which represents a walk of length 2 between two vertices. Concerns simple pseudographs, in contrast to s3wwlks2on 30342 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 39187 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 39184 Unique predecessor exists on the successor class. (Contributed by Peter Mazsa, 27-Jan-2026.)
(𝑁𝑉 → (𝑁 ∈ Suc ↔ ∃!𝑚 𝑚 SucMap 𝑁))
 
27-Jan-2026dfpre 39166 Alternate definition of the successor-predecessor. (Contributed by Peter Mazsa, 27-Jan-2026.)
pre 𝑁 = (℩𝑚𝑚 ∈ Pred( SucMap , V, 𝑁))
 
27-Jan-2026df-pre 39165 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 39166, dfpre2 39167, dfpre3 39168 and dfpre4 39170.

Our definition is a special case of the widely recognised general 𝑅 -predecessor class df-pred 6309 (the class of all elements 𝑚 of 𝐴 such that 𝑚𝑅𝑁, dfpred3g 6321, cf. also df-bnj14 35110) 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 39152 in place of 𝑅, so that 𝑚 SucMap 𝑁, cf. sucmapleftuniq 39180, which originates from suc11reg 9598. Existence 𝑚𝑚 SucMap 𝑁 holds exactly on 𝑁 ∈ ran SucMap, cf. elrng 5886.

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

pre 𝑁 = (℩𝑚𝑚 ∈ Pred( SucMap , dom SucMap , 𝑁))
 
26-Jan-2026dfpre4 39170 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 39152). (Contributed by Peter Mazsa, 26-Jan-2026.)
(𝑁𝑉 → pre 𝑁 = (℩𝑚𝑚 ∈ [𝑁] SucMap ))
 
26-Jan-2026dfpred4 39169 Alternate definition of the predecessor class when 𝑁 is a set. (Contributed by Peter Mazsa, 26-Jan-2026.)
(𝑁𝑉 → Pred(𝑅, 𝐴, 𝑁) = [𝑁](𝑅𝐴))
 
25-Jan-2026df-shiftstable 39172 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 5675.

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 39159 Define Suc as the class of all successors, i.e. the range of the successor map: 𝑛 ∈ Suc iff 𝑚suc 𝑚 = 𝑛 (see dfsuccl2 39160). By injectivity of suc (suc11reg 9598), every 𝑛 ∈ Suc has at most one predecessor, which is exactly what pre 𝑛 (df-pre 39165) names. Cf. dfsuccl3 39163 and dfsuccl4 39164. (Contributed by Peter Mazsa, 25-Jan-2026.)
Suc = ran SucMap
 
25-Jan-2026df-sucmap 39152 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 39154 and dfsucmap3 39153 vs. df-succf 36383 and dfsuccf2 36454). For maximum mappy shape, see dfsucmap4 39155.

We also treat the successor relation as the default shift relation for grading/tower arguments (cf. df-shiftstable 39172). 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 6142) and sends each successor to its (unique) predecessor when it exists. (Contributed by Peter Mazsa, 25-Jan-2026.)

SucMap = {⟨𝑚, 𝑛⟩ ∣ suc 𝑚 = 𝑛}
 
25-Jan-2026ecxrncnvep2 39100 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 35557 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 35556 All sets are finite iff all ordinal sets are finite. (Contributed by BTernaryTau, 25-Jan-2026.)
(Fin = V ↔ ω = On)
 
25-Jan-2026r1omfv 35529 Value of the cumulative hierarchy of sets function at ω. (Contributed by BTernaryTau, 25-Jan-2026.)
(𝑅1‘ω) = (𝑅1 “ ω)
 
25-Jan-2026r12 35513 Value of the cumulative hierarchy of sets function at 2o. (Contributed by BTernaryTau, 25-Jan-2026.)
(𝑅1‘2o) = 2o
 
25-Jan-2026xoromon 35504 ω is either an ordinal set or the proper class of all ordinal sets, but not both. This is a stronger version of omon 7883. (Contributed by BTernaryTau, 25-Jan-2026.)
(ω ∈ On ⊻ ω = On)
 
25-Jan-2026esplyind 33996 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 33993 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 33986 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 33960 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 33959 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 33958 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 33957 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 33956 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 33955 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 33954 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 33953 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 33952 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 33176 Upper set of the nonnegative integers. (Contributed by Thierry Arnoux, 25-Jan-2026.)
(𝑁 ∈ ℕ0 → (ℕ0 ∖ (0...𝑁)) = (ℤ‘(𝑁 + 1)))
 
25-Jan-2026rnressnsn 33059 The range of a restriction to a singleton is a singleton. See dmressnsn 6027. (Contributed by Thierry Arnoux, 25-Jan-2026.)
((Fun 𝐹𝐴 ∈ dom 𝐹) → ran (𝐹 ↾ {𝐴}) = {(𝐹𝐴)})
 
25-Jan-2026partfun2 33058 Rewrite a function defined by parts, using a mapping and an if construct, into a union of functions on disjoint domains. See also partfun 6689 and ifmpt2v 7525. (Contributed by Thierry Arnoux, 25-Jan-2026.)
𝐷 = {𝑥𝐴𝜑}       (𝑥𝐴 ↦ if(𝜑, 𝐵, 𝐶)) = ((𝑥𝐷𝐵) ∪ (𝑥 ∈ (𝐴𝐷) ↦ 𝐶))
 
25-Jan-2026indconst1 12249 Indicator of the whole set. (Contributed by Thierry Arnoux, 25-Jan-2026.)
(𝑂𝑉 → ((𝟭‘𝑂)‘𝑂) = (𝑂 × {1}))
 
25-Jan-2026indconst0 12248 Indicator of the empty set. (Contributed by Thierry Arnoux, 25-Jan-2026.)
(𝑂𝑉 → ((𝟭‘𝑂)‘∅) = (𝑂 × {0}))
 
25-Jan-2026tz6.12-2 6875 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 2179, ax-11 2195, ax-12 2216. (Revised by TM, 25-Jan-2026.)
(¬ ∃!𝑥 𝐴𝐹𝑥 → (𝐹𝐴) = ∅)
 
24-Jan-2026r1omhfb 35533 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 35532 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 35512 Value of the cumulative hierarchy of sets function at 1o. (Contributed by BTernaryTau, 24-Jan-2026.)
(𝑅1‘1o) = 1o
 
24-Jan-2026rnco 6258 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 2195. (Revised by TM, 24-Jan-2026.)
ran (𝐴𝐵) = ran (𝐴 ↾ ran 𝐵)
 
24-Jan-2026dm0rn0 5919 An empty domain is equivalent to an empty range. (Contributed by NM, 21-May-1998.) Avoid ax-10 2179, ax-11 2195, ax-12 2216. (Revised by TM, 24-Jan-2026.)
(dom 𝐴 = ∅ ↔ ran 𝐴 = ∅)
 
24-Jan-2026eqabcbw 2840 Version of eqabcb 2906 using implicit substitution, which requires fewer axioms. (Contributed by TM, 24-Jan-2026.)
(𝑥 = 𝑦 → (𝜑𝜓))       ({𝑥𝜑} = 𝐴 ↔ ∀𝑦(𝜓𝑦𝐴))
 
24-Jan-2026excomw 2079 Weak version of excom 2200 and biconditional form of excomimw 2077. Uses only Tarski's FOL axiom schemes. (Contributed by TM, 24-Jan-2026.)
(𝑥 = 𝑤 → (𝜑𝜓))    &   (𝑦 = 𝑧 → (𝜑𝜒))       (∃𝑥𝑦𝜑 ↔ ∃𝑦𝑥𝜑)
 
22-Jan-2026chnsubseq 47637 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 47636 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 47635 A subsequence of a chain is a word. (Contributed by Ender Ting, 22-Jan-2026.)
(𝜑𝑊 ∈ ( < Chain 𝐴))    &   (𝜑𝐼 ∈ ( < Chain (0..^(♯‘𝑊))))       (𝜑 → (𝑊𝐼) ∈ Word 𝐴)
 
22-Jan-2026r1filim 35523 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 35521 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 35574 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 35533 replaces setinds2 9730 with setinds2regs 35568 and trssfir1om 35532 with trssfir1omregs 35573. (Contributed by BTernaryTau, 21-Jan-2026.)
(𝐻 = (𝑅1 “ ω) ↔ ∀𝑥(𝑥𝐻 ↔ (𝑥 ∈ Fin ∧ ∀𝑦𝑥 𝑦𝐻)))
 
20-Jan-2026trssfir1omregs 35573 If every element in a transitive class is finite, then every element is also hereditarily finite. This version of trssfir1om 35532 replaces setinds2 9730 with setinds2regs 35568. (Contributed by BTernaryTau, 20-Jan-2026.)
((Tr 𝐴𝐴 ⊆ Fin) → 𝐴 (𝑅1 “ ω))
 
20-Jan-2026df-extv 33951 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 18717 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 18716 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)

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]