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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

   Older news...

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

Last updated on 25-Oct-2025 at 5:21 AM ET.
Recent Additions to the Metamath Proof Explorer   Notes (last updated 7-Dec-2020 )
DateLabelDescription
Theorem
 
19-Oct-2025wfac8prim 44992 The class of well-founded sets 𝑊 models the Axiom of Choice. Since the previous theorems show that all the ZF axioms hold in 𝑊, we may use any statement that ZF proves is equivalent to choice to prove this. We use ac8prim 44981. Part of Corollary II.2.12 of [Kunen2] p. 114. (Contributed by Eric Schmidt, 19-Oct-2025.)
𝑊 = (𝑅1 “ On)       𝑥𝑊 ((∀𝑧𝑊 (𝑧𝑥 → ∃𝑤𝑊 𝑤𝑧) ∧ ∀𝑧𝑊𝑤𝑊 ((𝑧𝑥𝑤𝑥) → (¬ 𝑧 = 𝑤 → ∀𝑦𝑊 (𝑦𝑧 → ¬ 𝑦𝑤)))) → ∃𝑦𝑊𝑧𝑊 (𝑧𝑥 → ∃𝑤𝑊𝑣𝑊 ((𝑣𝑧𝑣𝑦) ↔ 𝑣 = 𝑤)))
 
19-Oct-2025wfaxinf2 44991 The class of well-founded sets models the Axiom of Infinity ax-inf2 9677. Part of Corollary II.2.12 of [Kunen2] p. 114. (Contributed by Eric Schmidt, 19-Oct-2025.)
𝑊 = (𝑅1 “ On)       𝑥𝑊 (∃𝑦𝑊 (𝑦𝑥 ∧ ∀𝑧𝑊 ¬ 𝑧𝑦) ∧ ∀𝑦𝑊 (𝑦𝑥 → ∃𝑧𝑊 (𝑧𝑥 ∧ ∀𝑤𝑊 (𝑤𝑧 ↔ (𝑤𝑦𝑤 = 𝑦)))))
 
19-Oct-2025wfaxreg 44990 The class of well-founded sets models the Axiom of Regularity ax-reg 9628. Part of Corollary II.2.5 of [Kunen2] p. 112. (Contributed by Eric Schmidt, 19-Oct-2025.)
𝑊 = (𝑅1 “ On)       𝑥𝑊 (∃𝑦𝑊 𝑦𝑥 → ∃𝑦𝑊 (𝑦𝑥 ∧ ∀𝑧𝑊 (𝑧𝑦 → ¬ 𝑧𝑥)))
 
19-Oct-2025wfaxun 44989 The class of well-founded sets models the Axiom of Union ax-un 7751. Part of Corollary II.2.5 of [Kunen2] p. 112. (Contributed by Eric Schmidt, 19-Oct-2025.)
𝑊 = (𝑅1 “ On)       𝑥𝑊𝑦𝑊𝑧𝑊 (∃𝑤𝑊 (𝑧𝑤𝑤𝑥) → 𝑧𝑦)
 
19-Oct-2025wfaxpow 44987 The class of well-founded sets models the Axioms of Power Sets. Part of Corollary II.2.9 of [Kunen2] p. 113. (Contributed by Eric Schmidt, 19-Oct-2025.)
𝑊 = (𝑅1 “ On)       𝑥𝑊𝑦𝑊𝑧𝑊 (∀𝑤𝑊 (𝑤𝑧𝑤𝑥) → 𝑧𝑦)
 
19-Oct-2025wfaxnul 44986 The class of well-founded sets models the Null Set Axiom ax-nul 5304. (Contributed by Eric Schmidt, 19-Oct-2025.)
𝑊 = (𝑅1 “ On)       𝑥𝑊𝑦𝑊 ¬ 𝑦𝑥
 
19-Oct-2025modelac8prim 44982 If 𝑀 is a transitive class, then the following are equivalent. (1) Every nonempty set 𝑥𝑀 of pairwise disjoint nonempty sets has a choice set in 𝑀. (2) The class 𝑀 models the Axiom of Choice, in the form ac8prim 44981.

Lemma II.2.11(7) of [Kunen2] p. 114. Kunen has the additional hypotheses that the Extensionality, Separation, Pairing, and Union axioms are true in 𝑀. This, apparently, is because Kunen's statement of the Axiom of Choice uses defined notions, including and , and these axioms guarantee that these notions are well-defined. When we state the axiom using primitives only, the need for these hypotheses disappears. (Contributed by Eric Schmidt, 19-Oct-2025.)

(Tr 𝑀 → (∀𝑥𝑀 ((∀𝑧𝑥 𝑧 ≠ ∅ ∧ ∀𝑧𝑥𝑤𝑥 (𝑧𝑤 → (𝑧𝑤) = ∅)) → ∃𝑦𝑀𝑧𝑥 ∃!𝑣 𝑣 ∈ (𝑧𝑦)) ↔ ∀𝑥𝑀 ((∀𝑧𝑀 (𝑧𝑥 → ∃𝑤𝑀 𝑤𝑧) ∧ ∀𝑧𝑀𝑤𝑀 ((𝑧𝑥𝑤𝑥) → (¬ 𝑧 = 𝑤 → ∀𝑦𝑀 (𝑦𝑧 → ¬ 𝑦𝑤)))) → ∃𝑦𝑀𝑧𝑀 (𝑧𝑥 → ∃𝑤𝑀𝑣𝑀 ((𝑣𝑧𝑣𝑦) ↔ 𝑣 = 𝑤)))))
 
19-Oct-2025ac8prim 44981 ac8 10528 expanded into primitives. (Contributed by Eric Schmidt, 19-Oct-2025.)
((∀𝑧(𝑧𝑥 → ∃𝑤 𝑤𝑧) ∧ ∀𝑧𝑤((𝑧𝑥𝑤𝑥) → (¬ 𝑧 = 𝑤 → ∀𝑦(𝑦𝑧 → ¬ 𝑦𝑤)))) → ∃𝑦𝑧(𝑧𝑥 → ∃𝑤𝑣((𝑣𝑧𝑣𝑦) ↔ 𝑣 = 𝑤)))
 
19-Oct-2025dfac5prim 44980 dfac5 10165 expanded into primitives. (Contributed by Eric Schmidt, 19-Oct-2025.)
(CHOICE ↔ ∀𝑥((∀𝑧(𝑧𝑥 → ∃𝑤 𝑤𝑧) ∧ ∀𝑧𝑤((𝑧𝑥𝑤𝑥) → (¬ 𝑧 = 𝑤 → ∀𝑦(𝑦𝑧 → ¬ 𝑦𝑤)))) → ∃𝑦𝑧(𝑧𝑥 → ∃𝑤𝑣((𝑣𝑧𝑣𝑦) ↔ 𝑣 = 𝑤))))
 
19-Oct-2025omelaxinf2 44979 A transitive class that contains ω models the Axiom of Infinity ax-inf2 9677. Lemma II.2.11(7) of [Kunen2] p. 114. Kunen has the additional hypotheses that the Extensionality, Separation, Pairing, and Union axioms are true in 𝑀. This, apparently, is because Kunen's statement of the Axiom of Infinity uses the defined notions and suc, and these axioms guarantee that these notions are well-defined. When we state the axiom using primitives only, the need for these hypotheses disappears.

The antecedent of this theorem is not enough to guarantee that the class models the alternate axiom ax-inf 9674. (Contributed by Eric Schmidt, 19-Oct-2025.)

((Tr 𝑀 ∧ ω ∈ 𝑀) → ∃𝑥𝑀 (∃𝑦𝑀 (𝑦𝑥 ∧ ∀𝑧𝑀 ¬ 𝑧𝑦) ∧ ∀𝑦𝑀 (𝑦𝑥 → ∃𝑧𝑀 (𝑧𝑥 ∧ ∀𝑤𝑀 (𝑤𝑧 ↔ (𝑤𝑦𝑤 = 𝑦))))))
 
19-Oct-2025omssaxinf2 44978 A class that contains all ordinals up to and including ω models the Axiom of Infinity ax-inf2 9677. The antecedent of this theorem is not enough to guarantee that the class models the alternate axiom ax-inf 9674. (Contributed by Eric Schmidt, 19-Oct-2025.)
((ω ⊆ 𝑀 ∧ ω ∈ 𝑀) → ∃𝑥𝑀 (∃𝑦𝑀 (𝑦𝑥 ∧ ∀𝑧𝑀 ¬ 𝑧𝑦) ∧ ∀𝑦𝑀 (𝑦𝑥 → ∃𝑧𝑀 (𝑧𝑥 ∧ ∀𝑤𝑀 (𝑤𝑧 ↔ (𝑤𝑦𝑤 = 𝑦))))))
 
19-Oct-2025sswfaxreg 44977 A subclass of the class of well-founded sets models the Axiom of Regularity ax-reg 9628. Lemma II.2.4(2) of [Kunen2] p. 111. (Contributed by Eric Schmidt, 19-Oct-2025.)
(𝑀 (𝑅1 “ On) → ∀𝑥𝑀 (∃𝑦𝑀 𝑦𝑥 → ∃𝑦𝑀 (𝑦𝑥 ∧ ∀𝑧𝑀 (𝑧𝑦 → ¬ 𝑧𝑥))))
 
19-Oct-2025pwclaxpow 44974 Suppose 𝑀 is a transitive class that is closed under power sets intersected with 𝑀. Then, 𝑀 models the Axiom of Power Sets ax-pow 5363. One direction of Lemma II.2.8 of [Kunen2] p. 113. (Contributed by Eric Schmidt, 19-Oct-2025.)
((Tr 𝑀 ∧ ∀𝑥𝑀 (𝒫 𝑥𝑀) ∈ 𝑀) → ∀𝑥𝑀𝑦𝑀𝑧𝑀 (∀𝑤𝑀 (𝑤𝑧𝑤𝑥) → 𝑧𝑦))
 
19-Oct-20250elaxnul 44973 A class that contains the empty set models the Null Set Axiom ax-nul 5304. (Contributed by Eric Schmidt, 19-Oct-2025.)
(∅ ∈ 𝑀 → ∃𝑥𝑀𝑦𝑀 ¬ 𝑦𝑥)
 
19-Oct-2025n0abso 44966 Nonemptiness is absolute for transitive models. Compare Example I.16.3 of [Kunen2] p. 96 and the following discussion. (Contributed by Eric Schmidt, 19-Oct-2025.)
((Tr 𝑀𝐴𝑀) → (𝐴 ≠ ∅ ↔ ∃𝑥𝑀 𝑥𝐴))
 
19-Oct-2025disjabso 44965 Disjointness is absolute for transitive models. Compare Example I.16.3 of [Kunen2] p. 96 and the following discussion. (Contributed by Eric Schmidt, 19-Oct-2025.)
((Tr 𝑀𝐴𝑀) → ((𝐴𝐵) = ∅ ↔ ∀𝑥𝑀 (𝑥𝐴 → ¬ 𝑥𝐵)))
 
19-Oct-2025ssabso 44964 The notion "𝑥 is a subset of 𝑦 " is absolute for transitive models. Compare Example I.16.3 of [Kunen2] p. 96 and the following discussion. (Contributed by Eric Schmidt, 19-Oct-2025.)
((Tr 𝑀𝐴𝑀) → (𝐴𝐵 ↔ ∀𝑥𝑀 (𝑥𝐴𝑥𝐵)))
 
19-Oct-2025rexabsobidv 44963 Formula-building lemma for proving absoluteness results. (Contributed by Eric Schmidt, 19-Oct-2025.)
(𝜑 → Tr 𝑀)    &   (𝜑 → (𝜓𝜒))       ((𝜑𝐴𝑀) → (∃𝑥𝐴 𝜓 ↔ ∃𝑥𝑀 (𝑥𝐴𝜒)))
 
19-Oct-2025ralabsobidv 44962 Formula-building lemma for proving absoluteness results. (Contributed by Eric Schmidt, 19-Oct-2025.)
(𝜑 → Tr 𝑀)    &   (𝜑 → (𝜓𝜒))       ((𝜑𝐴𝑀) → (∀𝑥𝐴 𝜓 ↔ ∀𝑥𝑀 (𝑥𝐴𝜒)))
 
19-Oct-2025rexabsod 44961 Deduction form of rexabso 44959. (Contributed by Eric Schmidt, 19-Oct-2025.)
(𝜑 → Tr 𝑀)       ((𝜑𝐴𝑀) → (∃𝑥𝐴 𝜓 ↔ ∃𝑥𝑀 (𝑥𝐴𝜓)))
 
19-Oct-2025ralabsod 44960 Deduction form of ralabso 44958. (Contributed by Eric Schmidt, 19-Oct-2025.)
(𝜑 → Tr 𝑀)       ((𝜑𝐴𝑀) → (∀𝑥𝐴 𝜓 ↔ ∀𝑥𝑀 (𝑥𝐴𝜓)))
 
19-Oct-2025rexabso 44959 Simplification of restricted quantification in a transitive class. When 𝜑 is quantifier-free, this shows that the formula 𝑥𝑦𝜑 is absolute for transitive models, which is a particular case of Lemma I.16.2 of [Kunen2] p. 95. (Contributed by Eric Schmidt, 19-Oct-2025.)
((Tr 𝑀𝐴𝑀) → (∃𝑥𝐴 𝜑 ↔ ∃𝑥𝑀 (𝑥𝐴𝜑)))
 
19-Oct-2025ralabso 44958 Simplification of restricted quantification in a transitive class. When 𝜑 is quantifier-free, this shows that the formula 𝑥𝑦𝜑 is absolute for transitive models, which is a particular case of Lemma I.16.2 of [Kunen2] p. 95. (Contributed by Eric Schmidt, 19-Oct-2025.)
((Tr 𝑀𝐴𝑀) → (∀𝑥𝐴 𝜑 ↔ ∀𝑥𝑀 (𝑥𝐴𝜑)))
 
19-Oct-2025rext0 44937 Nonempty existential quantification of a theorem is true. (Contributed by Eric Schmidt, 19-Oct-2025.)
𝜑       (∃𝑥𝐴 𝜑𝐴 ≠ ∅)
 
18-Oct-2025dftermc2 49123 Alternate definition of TermCat. See also df-termc 49093. (Contributed by Zhi Wang, 18-Oct-2025.)
TermCat = {𝑐 ∣ ∀𝑑 ∈ Cat ∃!𝑓 𝑓 ∈ (𝑑 Func 𝑐)}
 
18-Oct-2025termc 49122 Alternate definition of TermCat. See also df-termc 49093. (Contributed by Zhi Wang, 18-Oct-2025.)
(𝐶 ∈ TermCat ↔ ∀𝑑 ∈ Cat ∃!𝑓 𝑓 ∈ (𝑑 Func 𝐶))
 
18-Oct-2025termc2 49121 If there exists a unique functor from both the category itself and the trivial category, then the category is terminal. (Contributed by Zhi Wang, 18-Oct-2025.)
(∀𝑑 ∈ ({𝐶, (SetCat‘1o)} ∩ Cat)∃!𝑓 𝑓 ∈ (𝑑 Func 𝐶) → 𝐶 ∈ TermCat)
 
18-Oct-2025termcterm3 49120 In the category of small categories, a terminal object is equivalent to a terminal category. (Contributed by Zhi Wang, 18-Oct-2025.)
𝐸 = (CatCat‘𝑈)    &   (𝜑𝑈𝑉)    &   (𝜑𝐶𝑈)    &   (𝜑 → (SetCat‘1o) ∈ 𝑈)       (𝜑 → (𝐶 ∈ TermCat ↔ 𝐶 ∈ (TermO‘𝐸)))
 
18-Oct-2025termcterm2 49119 A terminal object of the category of small categories is a terminal category. (Contributed by Zhi Wang, 18-Oct-2025.)
𝐸 = (CatCat‘𝑈)    &   (𝜑 → (𝑈 ∩ TermCat) ≠ ∅)    &   (𝜑𝐶 ∈ (TermO‘𝐸))       (𝜑𝐶 ∈ TermCat)
 
18-Oct-2025setc1oterm 49107 The category (SetCat‘1o), i.e., the trivial category, is terminal. (Contributed by Zhi Wang, 18-Oct-2025.)
(SetCat‘1o) ∈ TermCat
 
18-Oct-2025setcsnterm 49106 The category of one set, either a singleton set or an empty set, is terminal. (Contributed by Zhi Wang, 18-Oct-2025.)
(SetCat‘{{𝐴}}) ∈ TermCat
 
18-Oct-2025thincciso4 49079 Two isomorphic categories are either both thin or neither. Note that "thincciso2.u" is redundant thanks to elbasfv 17249. (Contributed by Zhi Wang, 18-Oct-2025.)
𝐶 = (CatCat‘𝑈)    &   𝐵 = (Base‘𝐶)    &   (𝜑𝑈𝑉)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)    &   (𝜑𝑋( ≃𝑐𝐶)𝑌)       (𝜑 → (𝑋 ∈ ThinCat ↔ 𝑌 ∈ ThinCat))
 
18-Oct-2025thincciso3 49078 Categories isomorphic to a thin category are thin. Example 3.26(2) of [Adamek] p. 33. Note that "thincciso2.u" is redundant thanks to elbasfv 17249. (Contributed by Zhi Wang, 18-Oct-2025.)
𝐶 = (CatCat‘𝑈)    &   𝐵 = (Base‘𝐶)    &   (𝜑𝑈𝑉)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)    &   𝐼 = (Iso‘𝐶)    &   (𝜑𝐹 ∈ (𝑋𝐼𝑌))    &   (𝜑𝑋 ∈ ThinCat)       (𝜑𝑌 ∈ ThinCat)
 
18-Oct-2025thincciso2 49077 Categories isomorphic to a thin category are thin. Example 3.26(2) of [Adamek] p. 33. Note that "thincciso2.u" is redundant thanks to elbasfv 17249. (Contributed by Zhi Wang, 18-Oct-2025.)
𝐶 = (CatCat‘𝑈)    &   𝐵 = (Base‘𝐶)    &   (𝜑𝑈𝑉)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)    &   𝐼 = (Iso‘𝐶)    &   (𝜑𝐹 ∈ (𝑋𝐼𝑌))    &   (𝜑𝑌 ∈ ThinCat)       (𝜑𝑋 ∈ ThinCat)
 
17-Oct-2025termcterm 49118 A terminal category is a terminal object of the category of small categories. (Contributed by Zhi Wang, 17-Oct-2025.)
𝐸 = (CatCat‘𝑈)    &   (𝜑𝑈𝑉)    &   (𝜑𝐶𝑈)    &   (𝜑𝐶 ∈ TermCat)       (𝜑𝐶 ∈ (TermO‘𝐸))
 
17-Oct-2025fulltermc2 49117 Given a full functor to a terminal category, the source category must not have empty hom-sets. (Contributed by Zhi Wang, 17-Oct-2025.)
𝐵 = (Base‘𝐶)    &   𝐻 = (Hom ‘𝐶)    &   (𝜑𝐷 ∈ TermCat)    &   (𝜑𝐹(𝐶 Full 𝐷)𝐺)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)       (𝜑 → ¬ (𝑋𝐻𝑌) = ∅)
 
17-Oct-2025fulltermc 49116 A functor to a terminal category is full iff all hom-sets of the source category are non-empty. (Contributed by Zhi Wang, 17-Oct-2025.)
𝐵 = (Base‘𝐶)    &   𝐻 = (Hom ‘𝐶)    &   (𝜑𝐷 ∈ TermCat)    &   (𝜑𝐹(𝐶 Func 𝐷)𝐺)       (𝜑 → (𝐹(𝐶 Full 𝐷)𝐺 ↔ ∀𝑥𝐵𝑦𝐵 ¬ (𝑥𝐻𝑦) = ∅))
 
17-Oct-2025functermceu 49115 There exists a unique functor to a terminal category. (Contributed by Zhi Wang, 17-Oct-2025.)
(𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ TermCat)       (𝜑 → ∃!𝑓 𝑓 ∈ (𝐶 Func 𝐷))
 
17-Oct-2025functermc2 49114 Functor to a terminal category. (Contributed by Zhi Wang, 17-Oct-2025.)
(𝜑𝐷 ∈ Cat)    &   (𝜑𝐸 ∈ TermCat)    &   𝐵 = (Base‘𝐷)    &   𝐶 = (Base‘𝐸)    &   𝐻 = (Hom ‘𝐷)    &   𝐽 = (Hom ‘𝐸)    &   𝐹 = (𝐵 × 𝐶)    &   𝐺 = (𝑥𝐵, 𝑦𝐵 ↦ ((𝑥𝐻𝑦) × ((𝐹𝑥)𝐽(𝐹𝑦))))       (𝜑 → (𝐷 Func 𝐸) = {⟨𝐹, 𝐺⟩})
 
17-Oct-2025functermc 49113 Functor to a terminal category. (Contributed by Zhi Wang, 17-Oct-2025.)
(𝜑𝐷 ∈ Cat)    &   (𝜑𝐸 ∈ TermCat)    &   𝐵 = (Base‘𝐷)    &   𝐶 = (Base‘𝐸)    &   𝐻 = (Hom ‘𝐷)    &   𝐽 = (Hom ‘𝐸)    &   𝐹 = (𝐵 × 𝐶)    &   𝐺 = (𝑥𝐵, 𝑦𝐵 ↦ ((𝑥𝐻𝑦) × ((𝐹𝑥)𝐽(𝐹𝑦))))       (𝜑 → (𝐾(𝐷 Func 𝐸)𝐿 ↔ (𝐾 = 𝐹𝐿 = 𝐺)))
 
17-Oct-2025functermclem 49112 Lemma for functermc 49113. (Contributed by Zhi Wang, 17-Oct-2025.)
((𝜑𝐾𝑅𝐿) → 𝐾 = 𝐹)    &   (𝜑 → (𝐹𝑅𝐿𝐿 = 𝐺))       (𝜑 → (𝐾𝑅𝐿 ↔ (𝐾 = 𝐹𝐿 = 𝐺)))
 
17-Oct-2025termchomn0 49102 All hom-sets of a terminal category are non-empty. (Contributed by Zhi Wang, 17-Oct-2025.)
(𝜑𝐶 ∈ TermCat)    &   𝐵 = (Base‘𝐶)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)    &   𝐻 = (Hom ‘𝐶)       (𝜑 → ¬ (𝑋𝐻𝑌) = ∅)
 
17-Oct-2025diag1 48977 The constant functor of 𝑋. (Contributed by Zhi Wang, 17-Oct-2025.)
𝐿 = (𝐶Δfunc𝐷)    &   (𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)    &   𝐴 = (Base‘𝐶)    &   (𝜑𝑋𝐴)    &   𝐾 = ((1st𝐿)‘𝑋)    &   𝐵 = (Base‘𝐷)    &   𝐽 = (Hom ‘𝐷)    &    1 = (Id‘𝐶)       (𝜑𝐾 = ⟨(𝑦𝐵𝑋), (𝑦𝐵, 𝑧𝐵 ↦ (𝑓 ∈ (𝑦𝐽𝑧) ↦ ( 1𝑋)))⟩)
 
17-Oct-20250func 48893 The functor from the empty category. (Contributed by Zhi Wang, 7-Oct-2025.) (Proof shortened by Zhi Wang, 17-Oct-2025.)
(𝜑𝐶 ∈ Cat)       (𝜑 → (∅ Func 𝐶) = {⟨∅, ∅⟩})
 
17-Oct-20250funcg 48891 The functor from the empty category. (Contributed by Zhi Wang, 17-Oct-2025.)
(𝜑𝐶𝑉)    &   (𝜑 → ∅ = (Base‘𝐶))    &   (𝜑𝐷 ∈ Cat)       (𝜑 → (𝐶 Func 𝐷) = {⟨∅, ∅⟩})
 
17-Oct-20250funcg2 48890 The functor from the empty category. (Contributed by Zhi Wang, 17-Oct-2025.)
(𝜑𝐶𝑉)    &   (𝜑 → ∅ = (Base‘𝐶))    &   (𝜑𝐷 ∈ Cat)       (𝜑 → (𝐹(𝐶 Func 𝐷)𝐺 ↔ (𝐹 = ∅ ∧ 𝐺 = ∅)))
 
17-Oct-20250funcglem 48889 Lemma for 0funcg 48891. (Contributed by Zhi Wang, 17-Oct-2025.)
(𝜑 → (𝜓 ↔ (𝜒𝜃𝜏)))    &   (𝜑 → (𝜒𝜂))    &   (𝜑 → (𝜃𝜁))    &   (𝜑𝜏)       (𝜑 → (𝜓 ↔ (𝜂𝜁)))
 
16-Oct-2025oppcterm 49111 The opposite category of a terminal category is a terminal category. (Contributed by Zhi Wang, 16-Oct-2025.)
𝑂 = (oppCat‘𝐶)    &   (𝜑𝐶 ∈ TermCat)       (𝜑𝑂 ∈ TermCat)
 
16-Oct-2025oppctermco 49110 The opposite category of a terminal category has the same base, hom-sets and composition operation as the original category. Note that 𝐶 = 𝑂 cannot be proved because 𝐶 might not even be a function. For example, let 𝐶 be ({⟨(Base‘ndx), {∅}⟩, ⟨(Hom ‘ndx), ((V × V) × {{∅}})⟩} ∪ {⟨(comp‘ndx), {∅}⟩, ⟨(comp‘ndx), 2o⟩}); it should be a terminal category, but the opposite category is not itself. See the definitions df-oppc 17751 and df-sets 17197. (Contributed by Zhi Wang, 16-Oct-2025.)
𝑂 = (oppCat‘𝐶)    &   (𝜑𝐶 ∈ TermCat)       (𝜑 → (compf𝐶) = (compf𝑂))
 
16-Oct-2025oppctermhom 49109 The opposite category of a terminal category has the same base and hom-sets as the original category. (Contributed by Zhi Wang, 16-Oct-2025.)
𝑂 = (oppCat‘𝐶)    &   (𝜑𝐶 ∈ TermCat)       (𝜑 → (Homf𝐶) = (Homf𝑂))
 
16-Oct-2025termcpropd 49108 Two structures with the same base, hom-sets and composition operation are either both terminal categories or neither. (Contributed by Zhi Wang, 16-Oct-2025.)
(𝜑 → (Homf𝐶) = (Homf𝐷))    &   (𝜑 → (compf𝐶) = (compf𝐷))    &   (𝜑𝐶𝑉)    &   (𝜑𝐷𝑊)       (𝜑 → (𝐶 ∈ TermCat ↔ 𝐷 ∈ TermCat))
 
16-Oct-2025termcid2 49105 The morphism of a terminal category is an identity morphism. (Contributed by Zhi Wang, 16-Oct-2025.)
(𝜑𝐶 ∈ TermCat)    &   𝐵 = (Base‘𝐶)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)    &   𝐻 = (Hom ‘𝐶)    &   (𝜑𝐹 ∈ (𝑋𝐻𝑌))    &    1 = (Id‘𝐶)       (𝜑𝐹 = ( 1𝑌))
 
16-Oct-2025termcid 49104 The morphism of a terminal category is an identity morphism. (Contributed by Zhi Wang, 16-Oct-2025.)
(𝜑𝐶 ∈ TermCat)    &   𝐵 = (Base‘𝐶)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)    &   𝐻 = (Hom ‘𝐶)    &   (𝜑𝐹 ∈ (𝑋𝐻𝑌))    &    1 = (Id‘𝐶)       (𝜑𝐹 = ( 1𝑋))
 
16-Oct-2025termchommo 49103 All morphisms of a terminal category are identical. (Contributed by Zhi Wang, 16-Oct-2025.)
(𝜑𝐶 ∈ TermCat)    &   𝐵 = (Base‘𝐶)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)    &   𝐻 = (Hom ‘𝐶)    &   (𝜑𝐹 ∈ (𝑋𝐻𝑌))    &   (𝜑𝑍𝐵)    &   (𝜑𝑊𝐵)    &   (𝜑𝐺 ∈ (𝑍𝐻𝑊))       (𝜑𝐹 = 𝐺)
 
16-Oct-2025termcbasmo 49101 Two objects in a terminal category are identical. (Contributed by Zhi Wang, 16-Oct-2025.)
(𝜑𝐶 ∈ TermCat)    &   𝐵 = (Base‘𝐶)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)       (𝜑𝑋 = 𝑌)
 
16-Oct-2025termcbas 49100 The base of a terminal category is a singleton. (Contributed by Zhi Wang, 16-Oct-2025.)
(𝜑𝐶 ∈ TermCat)    &   𝐵 = (Base‘𝐶)       (𝜑 → ∃𝑥 𝐵 = {𝑥})
 
16-Oct-2025termccd 49099 A terminal category is a category (deduction form). (Contributed by Zhi Wang, 16-Oct-2025.)
(𝜑𝐶 ∈ TermCat)       (𝜑𝐶 ∈ Cat)
 
16-Oct-2025termcthind 49098 A terminal category is a thin category (deduction form). (Contributed by Zhi Wang, 16-Oct-2025.)
(𝜑𝐶 ∈ TermCat)       (𝜑𝐶 ∈ ThinCat)
 
16-Oct-2025termcthin 49097 A terminal category is a thin category. (Contributed by Zhi Wang, 16-Oct-2025.)
(𝐶 ∈ TermCat → 𝐶 ∈ ThinCat)
 
16-Oct-2025istermc3 49096 The predicate "is a terminal category". A terminal category is a thin category whose base set is equinumerous to 1o. Consider en1b 9061, map1 9076, and euen1b 9064. (Contributed by Zhi Wang, 16-Oct-2025.)
𝐵 = (Base‘𝐶)       (𝐶 ∈ TermCat ↔ (𝐶 ∈ ThinCat ∧ 𝐵 ≈ 1o))
 
16-Oct-2025istermc2 49095 The predicate "is a terminal category". A terminal category is a thin category with exactly one object. (Contributed by Zhi Wang, 16-Oct-2025.)
𝐵 = (Base‘𝐶)       (𝐶 ∈ TermCat ↔ (𝐶 ∈ ThinCat ∧ ∃!𝑥 𝑥𝐵))
 
16-Oct-2025istermc 49094 The predicate "is a terminal category". A terminal category is a thin category with a singleton base set. (Contributed by Zhi Wang, 16-Oct-2025.)
𝐵 = (Base‘𝐶)       (𝐶 ∈ TermCat ↔ (𝐶 ∈ ThinCat ∧ ∃𝑥 𝐵 = {𝑥}))
 
16-Oct-2025df-termc 49093 Definition of the class of terminal categories, or final categories, i.e., categories with exactly one object and exactly one morphism, the latter of which is an identity morphism (termcid 49104). These are exactly the thin categories with a singleton base set. Example 3.3(4.c) of [Adamek] p. 24. Followed directly from the definition, these categories are thin (termcthin 49097). As the name indicates, TermCat is the class of all terminal objects in the category of small categories (termcterm3 49120). TermCat is also the class of categories to which all categories have exactly one functor (dftermc2 49123). The opposite category of a terminal category is "almost" itself (oppctermco 49110).

Unlike https://ncatlab.org/nlab/show/terminal+category 49110, we reserve the term "trivial category" for (SetCat‘1o), justified by setc1oterm 49107.

The dual concept is the initial category, or the empty category. See 0catg 17727, 0thincg 49080, and 0funcg 48891.

(Contributed by Zhi Wang, 16-Oct-2025.)

TermCat = {𝑐 ∈ ThinCat ∣ ∃𝑥(Base‘𝑐) = {𝑥}}
 
16-Oct-2025functhincfun 49071 A functor to a thin category is determined entirely by the object part. (Contributed by Zhi Wang, 16-Oct-2025.)
(𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ ThinCat)       (𝜑 → Fun (𝐶 Func 𝐷))
 
16-Oct-2025thincpropd 49064 Two structures with the same base, hom-sets and composition operation are either both thin categories or neither. (Contributed by Zhi Wang, 16-Oct-2025.)
(𝜑 → (Homf𝐶) = (Homf𝐷))    &   (𝜑 → (compf𝐶) = (compf𝐷))    &   (𝜑𝐶𝑉)    &   (𝜑𝐷𝑊)       (𝜑 → (𝐶 ∈ ThinCat ↔ 𝐷 ∈ ThinCat))
 
16-Oct-2025oppcthinendcALT 49063 Alternate proof of oppcthinendc 49062. (Contributed by Zhi Wang, 16-Oct-2025.) (Proof modification is discouraged.) (New usage is discouraged.)
𝑂 = (oppCat‘𝐶)    &   (𝜑𝐶 ∈ ThinCat)    &   𝐵 = (Base‘𝐶)    &   𝐻 = (Hom ‘𝐶)    &   ((𝜑 ∧ (𝑥𝐵𝑦𝐵)) → (𝑥𝑦 → (𝑥𝐻𝑦) = ∅))       (𝜑 → (compf𝐶) = (compf𝑂))
 
16-Oct-2025oppcthinendc 49062 The opposite category of a thin category whose morphisms are all endomorphisms has the same base, hom-sets (oppcendc 48879) and composition operation as the original category. (Contributed by Zhi Wang, 16-Oct-2025.)
𝑂 = (oppCat‘𝐶)    &   (𝜑𝐶 ∈ ThinCat)    &   𝐵 = (Base‘𝐶)    &   𝐻 = (Hom ‘𝐶)    &   ((𝜑 ∧ (𝑥𝐵𝑦𝐵)) → (𝑥𝑦 → (𝑥𝐻𝑦) = ∅))       (𝜑 → (compf𝐶) = (compf𝑂))
 
16-Oct-2025oppcthinco 49061 If the opposite category of a thin category has the same base and hom-sets as the original category, then it has the same composition operation as the original category. (Contributed by Zhi Wang, 16-Oct-2025.)
𝑂 = (oppCat‘𝐶)    &   (𝜑𝐶 ∈ ThinCat)    &   (𝜑 → (Homf𝐶) = (Homf𝑂))       (𝜑 → (compf𝐶) = (compf𝑂))
 
16-Oct-2025reldmup2 48911 The domain of (𝐷UP𝐸) is a relation. (Contributed by Zhi Wang, 16-Oct-2025.)
Rel dom (𝐷UP𝐸)
 
16-Oct-2025oppcmndc 48880 The opposite category of a category whose base set is a singleton or an empty set has the same base and hom-sets as the original category. (Contributed by Zhi Wang, 16-Oct-2025.)
𝑂 = (oppCat‘𝐶)    &   𝐵 = (Base‘𝐶)    &   (𝜑𝐵 = {𝑋})       (𝜑 → (Homf𝐶) = (Homf𝑂))
 
16-Oct-2025oppcendc 48879 The opposite category of a category whose morphisms are all endomorphisms has the same base and hom-sets as the original category. (Contributed by Zhi Wang, 16-Oct-2025.)
𝑂 = (oppCat‘𝐶)    &   𝐵 = (Base‘𝐶)    &   𝐻 = (Hom ‘𝐶)    &   ((𝜑 ∧ (𝑥𝐵𝑦𝐵)) → (𝑥𝑦 → (𝑥𝐻𝑦) = ∅))       (𝜑 → (Homf𝐶) = (Homf𝑂))
 
16-Oct-2025oppcmndclem 48878 Lemma for oppcmndc 48880. Everything is true for two distinct elements in a singleton or an empty set (since it is impossible). Note that if this theorem and oppcendc 48879 are in ¬ 𝑥 = 𝑦 form, then both proofs should be one step shorter. (Contributed by Zhi Wang, 16-Oct-2025.)
(𝜑𝐵 = {𝐴})       ((𝜑 ∧ (𝑋𝐵𝑌𝐵)) → (𝑋𝑌𝜓))
 
15-Oct-2025elxpcbasex2 48929 A non-empty base set of the product category indicates the existence of the second factor of the product category. (Contributed by Zhi Wang, 8-Oct-2025.) (Proof shortened by SN, 15-Oct-2025.)
𝑇 = (𝐶 ×c 𝐷)    &   𝐵 = (Base‘𝑇)    &   (𝜑𝑋𝐵)       (𝜑𝐷 ∈ V)
 
15-Oct-2025elxpcbasex1 48927 A non-empty base set of the product category indicates the existence of the first factor of the product category. (Contributed by Zhi Wang, 8-Oct-2025.) (Proof shortened by SN, 15-Oct-2025.)
𝑇 = (𝐶 ×c 𝐷)    &   𝐵 = (Base‘𝑇)    &   (𝜑𝑋𝐵)       (𝜑𝐶 ∈ V)
 
15-Oct-2025reldmxpcALT 48926 Alternate proof of reldmxpc 48925. (Contributed by Zhi Wang, 15-Oct-2025.) (Proof modification is discouraged.) (New usage is discouraged.)
Rel dom ×c
 
15-Oct-2025reldmxpc 48925 The binary product of categories is a proper operator, so it can be used with ovprc1 7468, elbasov 17250, strov2rcl 17251, and so on. See reldmxpcALT 48926 for an alternate proof with less "essential steps" but more "bytes". (Proposed by SN, 15-Oct-2025.) (Contributed by Zhi Wang, 15-Oct-2025.)
Rel dom ×c
 
14-Oct-2025exbiii 42227 Inference associated with exbii 1848. Weaker version of eximii 1837. (Contributed by SN, 14-Oct-2025.)
𝑥𝜑    &   (𝜑𝜓)       𝑥𝜓
 
14-Oct-2025jarrii 42222 Inference associated with jarri 107. A consequence of ax-mp 5 and ax-1 6. (Contributed by SN, 14-Oct-2025.)
𝜓    &   ((𝜑𝜓) → 𝜒)       𝜒
 
14-Oct-2025rexss 4058 Restricted existential quantification on a subset in terms of superset. (Contributed by Stefan O'Rear, 3-Apr-2015.) Avoid axioms. (Revised by SN, 14-Oct-2025.)
(𝐴𝐵 → (∃𝑥𝐴 𝜑 ↔ ∃𝑥𝐵 (𝑥𝐴𝜑)))
 
14-Oct-2025ralss 4057 Restricted universal quantification on a subset in terms of superset. (Contributed by Stefan O'Rear, 3-Apr-2015.) Avoid axioms. (Revised by SN, 14-Oct-2025.)
(𝐴𝐵 → (∀𝑥𝐴 𝜑 ↔ ∀𝑥𝐵 (𝑥𝐴𝜑)))
 
13-Oct-2025wl-cleq-6 37480
Disclaimer: The material presented here is just my (WL's) personal perception. I am not an expert in this field, so some or all of the text here can be misleading, or outright wrong. This text should be read as an exploration rather than as definite statements, open to doubt, alternatives, and reinterpretation.

Eliminability of Classes

One requirement of Zermelo-Fraenkel set theory (ZF) is that it can be formulated entirely without referring to classes. Since set.mm implements ZF, it must therefore be possible to eliminate all classes from its formalization.

Eliminating Variables of Propositional Logic

Classical propositional logic concerns statements that are either true or false. For example, "A minute has 60 seconds" is such a statement, as is "English is not a language". Our development of propositional logic applies to all such statements, regardless of their subject matter. Any particular topic, or universe of discourse is encompassed by the general theorems of propositional logic.

In ZF, however, the objects of study are sets - mathematical entities. The flexibility of propsitional variables is not required here. Instead, ZF introduces two primitive connectives between sets: 𝑥 = 𝑦 and 𝑥𝑦. ZF is concerned only with logical schemata constructed solely from these primitives. Thus, before we can eliminate classes, we must first eliminate propositional variables like 𝜑 and 𝜓. We will describe this process constructively.

We begin by restricting ourselves to propositional schemata that consist only of the primitives of ZF, without any propositional variables. Extending this step to first-order Logic (FOL) - by introducing quantifiers - yields the fundamental predicates of ZF, that is, the basic formulas expressible within it.

For convenience, we may again allow propositional variables, but under the strict assumption that they always represent fundamental predicates of ZF.

Predicates of level 0 are exactly of this kind: no classes occurs in them, and they can be reduced directly to fundamental predicates in ZF.

Introducing eliminable classes

The following construction is inspired by a paragraph in Azriel Levy's "Basic set theory" concerning eliminable classes.

A class can only occur in combination with one of the operators = or . This applies in particular to class abstractions, which are the only kind of classes permtted in this step of extending level-0 predicates in ZF. The definitions df-cleq 2728 and df-clel 2815 show that equality and membership ultimately reduce to expressions of the form 𝑥𝐴. For a class abstraction {𝑦𝜑}, the resulting term amounts to [𝑥 / 𝑦]𝜑. If 𝜑 is a level-0 predicate, then this too is a level-0 expression - fully compatible with ZF.

A level-1 class abstraction is a class {𝑦𝜑} where 𝜑 is a level-0 predicate. A level-1 class abstraction can occur in an equality or membership relation with another level-1 class abstractions or a set variable, and such terms reduce to fundamental predicates. Predicates of either level-0, or containing level-1 class abstractions are called level-1 predicates. After eliminating all level-1 abstractions from such a predicate a level-0 expression is the result.

Analoguously, we can define level-2 class abstractions, where the predicate 𝜑 in {𝑦𝜑} is a level-1 predicate. Again, 𝑥 ∈ {𝑦𝜑} reduces to a level-1 expression, which in turn can be reduced to a level-0 one. By similar reasoning, equality and membership between at most level-2 class abstractions also reduce to level-0 expressions. A predicate containing at most level-2 class abstractions is called a level-2 predicate.

This iterative construction process can be continued to define a predicate of any level. They can be reduced to fundamental predicates in ZF.

Introducing eliminable class variables

We have seen that propositional variables must be restricted to representing only primitive connectives to maintain compatibility with ZF. Similarly, class variables can be restricted to representing class abstractions of finite level. Such class variables are eliminable, and even definitions like df-un 3955 (𝐴𝐵) introduce no difficulty, since the resulting union remains of finite level.

Limitations of eliminable class variables

Where does this construction reach its limits?

1. Infinite constructions. Suppose we wish to add up an infinite series of real numbers, where each term defines its successor using a class abstraction one level higher than that of the previous term. Such a summation introduces terms of arbitrary high level. While each individual term remains reducable in ZF, the infinite sum expression may not be reducable without special care.

2. Class builders. Every class builder other than cv 1539 must be a definition, making its elimination straightforward. The class abstraction df-clab 2714 described above is a special case.

Since set variables themselves can be expressed as class abstractions - namely 𝑥 = {𝑦𝑦𝑥} (see cvjust 2730) - this formulation does not conflict with the use of class builder cv 1539.

The above conditions apply only to substitution. The expression 𝐴 = {𝑥𝑥𝐴} (abid1 2877) is a valid and provable equation, and it should not be interpreted as an assignment that binds a particular instance to 𝐴.

(Contributed by Wolf Lammen, 13-Oct-2025.)

(𝐴 = 𝐵 ↔ ∀𝑥(𝑥𝐴𝑥𝐵))
 
13-Oct-2025fldextrspundgle 33713 Inequality involving the degree of two different field extensions 𝐼 and 𝐽 of a same field 𝐹. Part of the proof of Proposition 5, Chapter 5, of [BourbakiAlg2] p. 116. (Contributed by Thierry Arnoux, 13-Oct-2025.)
𝐾 = (𝐿s 𝐹)    &   𝐼 = (𝐿s 𝐺)    &   𝐽 = (𝐿s 𝐻)    &   (𝜑𝐿 ∈ Field)    &   (𝜑𝐹 ∈ (SubDRing‘𝐼))    &   (𝜑𝐹 ∈ (SubDRing‘𝐽))    &   (𝜑𝐺 ∈ (SubDRing‘𝐿))    &   (𝜑𝐻 ∈ (SubDRing‘𝐿))    &   (𝜑 → (𝐽[:]𝐾) ∈ ℕ0)    &   𝐸 = (𝐿s (𝐿 fldGen (𝐺𝐻)))       (𝜑 → (𝐸[:]𝐼) ≤ (𝐽[:]𝐾))
 
13-Oct-2025fldextrspunlem2 33712 Part of the proof of Proposition 5, Chapter 5, of [BourbakiAlg2] p. 116. (Contributed by Thierry Arnoux, 13-Oct-2025.)
𝐾 = (𝐿s 𝐹)    &   𝐼 = (𝐿s 𝐺)    &   𝐽 = (𝐿s 𝐻)    &   (𝜑𝐿 ∈ Field)    &   (𝜑𝐹 ∈ (SubDRing‘𝐼))    &   (𝜑𝐹 ∈ (SubDRing‘𝐽))    &   (𝜑𝐺 ∈ (SubDRing‘𝐿))    &   (𝜑𝐻 ∈ (SubDRing‘𝐿))    &   (𝜑 → (𝐽[:]𝐾) ∈ ℕ0)    &   𝑁 = (RingSpan‘𝐿)    &   𝐶 = (𝑁‘(𝐺𝐻))    &   𝐸 = (𝐿s 𝐶)       (𝜑𝐶 = (𝐿 fldGen (𝐺𝐻)))
 
13-Oct-2025fldextrspunfld 33711 The ring generated by the union of two field extensions is a field. Part of the proof of Proposition 5, Chapter 5, of [BourbakiAlg2] p. 116. (Contributed by Thierry Arnoux, 13-Oct-2025.)
𝐾 = (𝐿s 𝐹)    &   𝐼 = (𝐿s 𝐺)    &   𝐽 = (𝐿s 𝐻)    &   (𝜑𝐿 ∈ Field)    &   (𝜑𝐹 ∈ (SubDRing‘𝐼))    &   (𝜑𝐹 ∈ (SubDRing‘𝐽))    &   (𝜑𝐺 ∈ (SubDRing‘𝐿))    &   (𝜑𝐻 ∈ (SubDRing‘𝐿))    &   (𝜑 → (𝐽[:]𝐾) ∈ ℕ0)    &   𝑁 = (RingSpan‘𝐿)    &   𝐶 = (𝑁‘(𝐺𝐻))    &   𝐸 = (𝐿s 𝐶)       (𝜑𝐸 ∈ Field)
 
13-Oct-2025fldextrspunlem1 33710 Lemma for fldextrspunfld 33711. Part of the proof of Proposition 5, Chapter 5, of [BourbakiAlg2] p. 116. (Contributed by Thierry Arnoux, 13-Oct-2025.)
𝐾 = (𝐿s 𝐹)    &   𝐼 = (𝐿s 𝐺)    &   𝐽 = (𝐿s 𝐻)    &   (𝜑𝐿 ∈ Field)    &   (𝜑𝐹 ∈ (SubDRing‘𝐼))    &   (𝜑𝐹 ∈ (SubDRing‘𝐽))    &   (𝜑𝐺 ∈ (SubDRing‘𝐿))    &   (𝜑𝐻 ∈ (SubDRing‘𝐿))    &   (𝜑 → (𝐽[:]𝐾) ∈ ℕ0)    &   𝑁 = (RingSpan‘𝐿)    &   𝐶 = (𝑁‘(𝐺𝐻))    &   𝐸 = (𝐿s 𝐶)       (𝜑 → (dim‘((subringAlg ‘𝐸)‘𝐺)) ≤ (𝐽[:]𝐾))
 
13-Oct-2025fldextrspunlsp 33709 Lemma for fldextrspunfld 33711. The subring generated by the union of two field extensions 𝐺 and 𝐻 is the vector sub- 𝐺 space generated by a basis 𝐵 of 𝐻. Part of the proof of Proposition 5, Chapter 5, of [BourbakiAlg2] p. 116. (Contributed by Thierry Arnoux, 13-Oct-2025.)
𝐾 = (𝐿s 𝐹)    &   𝐼 = (𝐿s 𝐺)    &   𝐽 = (𝐿s 𝐻)    &   (𝜑𝐿 ∈ Field)    &   (𝜑𝐹 ∈ (SubDRing‘𝐼))    &   (𝜑𝐹 ∈ (SubDRing‘𝐽))    &   (𝜑𝐺 ∈ (SubDRing‘𝐿))    &   (𝜑𝐻 ∈ (SubDRing‘𝐿))    &   𝑁 = (RingSpan‘𝐿)    &   𝐶 = (𝑁‘(𝐺𝐻))    &   𝐸 = (𝐿s 𝐶)    &   (𝜑𝐵 ∈ (LBasis‘((subringAlg ‘𝐽)‘𝐹)))    &   (𝜑𝐵 ∈ Fin)       (𝜑𝐶 = ((LSpan‘((subringAlg ‘𝐿)‘𝐺))‘𝐵))
 
13-Oct-2025fldextrspunlsplem 33708 Lemma for fldextrspunlsp 33709: First direction. Part of the proof of Proposition 5, Chapter 5, of [BourbakiAlg2] p. 116. (Contributed by Thierry Arnoux, 13-Oct-2025.)
𝐾 = (𝐿s 𝐹)    &   𝐼 = (𝐿s 𝐺)    &   𝐽 = (𝐿s 𝐻)    &   (𝜑𝐿 ∈ Field)    &   (𝜑𝐹 ∈ (SubDRing‘𝐼))    &   (𝜑𝐹 ∈ (SubDRing‘𝐽))    &   (𝜑𝐺 ∈ (SubDRing‘𝐿))    &   (𝜑𝐻 ∈ (SubDRing‘𝐿))    &   𝑁 = (RingSpan‘𝐿)    &   𝐶 = (𝑁‘(𝐺𝐻))    &   𝐸 = (𝐿s 𝐶)    &   (𝜑𝐵 ∈ (LBasis‘((subringAlg ‘𝐽)‘𝐹)))    &   (𝜑𝐵 ∈ Fin)    &   (𝜑𝑃:𝐻𝐺)    &   (𝜑𝑃 finSupp (0g𝐿))    &   (𝜑𝑋 = (𝐿 Σg (𝑓𝐻 ↦ ((𝑃𝑓)(.r𝐿)𝑓))))       (𝜑 → ∃𝑎 ∈ (𝐺m 𝐵)(𝑎 finSupp (0g𝐿) ∧ 𝑋 = (𝐿 Σg (𝑏𝐵 ↦ ((𝑎𝑏)(.r𝐿)𝑏)))))
 
13-Oct-2025lbslelsp 33635 The size of a basis 𝑋 of a vector space 𝑊 is less than the size of a generating set 𝑌. (Contributed by Thierry Arnoux, 13-Oct-2025.)
𝐵 = (Base‘𝑊)    &   𝐽 = (LBasis‘𝑊)    &   𝐾 = (LSpan‘𝑊)    &   (𝜑𝑊 ∈ LVec)    &   (𝜑𝑋𝐽)    &   (𝜑𝑌𝐵)    &   (𝜑 → (𝐾𝑌) = 𝐵)       (𝜑 → (♯‘𝑋) ≤ (♯‘𝑌))
 
13-Oct-2025exsslsb 33634 Any finite generating set 𝑆 of a vector space 𝑊 contains a basis. (Contributed by Thierry Arnoux, 13-Oct-2025.)
𝐵 = (Base‘𝑊)    &   𝐽 = (LBasis‘𝑊)    &   𝐾 = (LSpan‘𝑊)    &   (𝜑𝑊 ∈ LVec)    &   (𝜑𝑆 ∈ Fin)    &   (𝜑𝑆𝐵)    &   (𝜑 → (𝐾𝑆) = 𝐵)       (𝜑 → ∃𝑠𝐽 𝑠𝑆)
 
13-Oct-2025sraidom 33621 Condition for a subring algebra to be an integral domain. (Contributed by Thierry Arnoux, 13-Oct-2025.)
𝐴 = ((subringAlg ‘𝑅)‘𝑉)    &   𝐵 = (Base‘𝑅)    &   (𝜑𝑅 ∈ IDomn)    &   (𝜑𝑉𝐵)       (𝜑𝐴 ∈ IDomn)
 
13-Oct-2025idompropd 33269 If two structures have the same components (properties), one is a integral domain iff the other one is. See also domnpropd 33268. (Contributed by Thierry Arnoux, 13-Oct-2025.)
(𝜑𝐵 = (Base‘𝐾))    &   (𝜑𝐵 = (Base‘𝐿))    &   ((𝜑 ∧ (𝑥𝐵𝑦𝐵)) → (𝑥(+g𝐾)𝑦) = (𝑥(+g𝐿)𝑦))    &   ((𝜑 ∧ (𝑥𝐵𝑦𝐵)) → (𝑥(.r𝐾)𝑦) = (𝑥(.r𝐿)𝑦))       (𝜑 → (𝐾 ∈ IDomn ↔ 𝐿 ∈ IDomn))
 
13-Oct-2025domnpropd 33268 If two structures have the same components (properties), one is a domain iff the other one is. (Contributed by Thierry Arnoux, 13-Oct-2025.)
(𝜑𝐵 = (Base‘𝐾))    &   (𝜑𝐵 = (Base‘𝐿))    &   ((𝜑 ∧ (𝑥𝐵𝑦𝐵)) → (𝑥(+g𝐾)𝑦) = (𝑥(+g𝐿)𝑦))    &   ((𝜑 ∧ (𝑥𝐵𝑦𝐵)) → (𝑥(.r𝐾)𝑦) = (𝑥(.r𝐿)𝑦))       (𝜑 → (𝐾 ∈ Domn ↔ 𝐿 ∈ Domn))
 
13-Oct-2025elrgspnsubrun 33241 Membership in the ring span of the union of two subrings of a commutative ring. (Contributed by Thierry Arnoux, 13-Oct-2025.)
𝐵 = (Base‘𝑅)    &    · = (.r𝑅)    &    0 = (0g𝑅)    &   𝑁 = (RingSpan‘𝑅)    &   (𝜑𝑅 ∈ CRing)    &   (𝜑𝐸 ∈ (SubRing‘𝑅))    &   (𝜑𝐹 ∈ (SubRing‘𝑅))       (𝜑 → (𝑋 ∈ (𝑁‘(𝐸𝐹)) ↔ ∃𝑝 ∈ (𝐸m 𝐹)(𝑝 finSupp 0𝑋 = (𝑅 Σg (𝑓𝐹 ↦ ((𝑝𝑓) · 𝑓))))))
 
13-Oct-2025elrgspnsubrunlem2 33240 Lemma for elrgspnsubrun 33241, second direction. (Contributed by Thierry Arnoux, 13-Oct-2025.)
𝐵 = (Base‘𝑅)    &    · = (.r𝑅)    &    0 = (0g𝑅)    &   𝑁 = (RingSpan‘𝑅)    &   (𝜑𝑅 ∈ CRing)    &   (𝜑𝐸 ∈ (SubRing‘𝑅))    &   (𝜑𝐹 ∈ (SubRing‘𝑅))    &   (𝜑𝑋𝐵)    &   (𝜑𝐺:Word (𝐸𝐹)⟶ℤ)    &   (𝜑𝐺 finSupp 0)    &   (𝜑𝑋 = (𝑅 Σg (𝑤 ∈ Word (𝐸𝐹) ↦ ((𝐺𝑤)(.g𝑅)((mulGrp‘𝑅) Σg 𝑤)))))       (𝜑 → ∃𝑝 ∈ (𝐸m 𝐹)(𝑝 finSupp 0𝑋 = (𝑅 Σg (𝑓𝐹 ↦ ((𝑝𝑓) · 𝑓)))))
 
13-Oct-2025elrgspnsubrunlem1 33239 Lemma for elrgspnsubrun 33241, first direction. (Contributed by Thierry Arnoux, 13-Oct-2025.)
𝐵 = (Base‘𝑅)    &    · = (.r𝑅)    &    0 = (0g𝑅)    &   𝑁 = (RingSpan‘𝑅)    &   (𝜑𝑅 ∈ CRing)    &   (𝜑𝐸 ∈ (SubRing‘𝑅))    &   (𝜑𝐹 ∈ (SubRing‘𝑅))    &   (𝜑𝑃:𝐹𝐸)    &   (𝜑𝑃 finSupp 0 )    &   (𝜑𝑋 = (𝑅 Σg (𝑒𝐹 ↦ ((𝑃𝑒) · 𝑒))))    &   𝑇 = ran (𝑓 ∈ (𝑃 supp 0 ) ↦ ⟨“(𝑃𝑓)𝑓”⟩)       (𝜑𝑋 ∈ (𝑁‘(𝐸𝐹)))
 
13-Oct-2025indsupp 32839 The support of the indicator function. (Contributed by Thierry Arnoux, 13-Oct-2025.)
((𝑂𝑉𝐴𝑂) → (((𝟭‘𝑂)‘𝐴) supp 0) = 𝐴)
 
13-Oct-2025hashpss 32801 The size of a proper subset is less than the size of its finite superset. (Contributed by Thierry Arnoux, 13-Oct-2025.)
((𝐴 ∈ Fin ∧ 𝐵𝐴) → (♯‘𝐵) < (♯‘𝐴))
 
13-Oct-2025elmaprd 32678 Deduction associated with elmapd 8876. Reverse direction of elmapdd 8877. (Contributed by Thierry Arnoux, 13-Oct-2025.)
(𝜑𝐴𝑉)    &   (𝜑𝐵𝑊)    &   (𝜑𝐹 ∈ (𝐵m 𝐴))       (𝜑𝐹:𝐴𝐵)
 
13-Oct-2025ac6mapd 32624 Axiom of choice equivalent, deduction form. (Contributed by Thierry Arnoux, 13-Oct-2025.)
(𝑦 = (𝑓𝑥) → (𝜓𝜒))    &   (𝜑𝐴𝑉)    &   (𝜑𝐵𝑊)    &   ((𝜑𝑥𝐴) → ∃𝑦𝐵 𝜓)       (𝜑 → ∃𝑓 ∈ (𝐵m 𝐴)∀𝑥𝐴 𝜒)
 
13-Oct-2025iunxpssiun1 32570 Provide an upper bound for the indexed union of cartesian products. (Contributed by Thierry Arnoux, 13-Oct-2025.)
((𝜑𝑥𝐴) → 𝐶𝐸)       (𝜑 𝑥𝐴 (𝐵 × 𝐶) ⊆ ( 𝑥𝐴 𝐵 × 𝐸))
 
13-Oct-2025elsnd 32536 There is at most one element in a singleton. (Contributed by Thierry Arnoux, 13-Oct-2025.)
(𝜑𝐴 ∈ {𝐵})       (𝜑𝐴 = 𝐵)
 
13-Oct-2025reu6dv 32481 A condition which implies existential uniqueness. (Contributed by Thierry Arnoux, 13-Oct-2025.)
(𝜑𝐵𝐴)    &   ((𝜑𝑥𝐴) → (𝜓𝑥 = 𝐵))       (𝜑 → ∃!𝑥𝐴 𝜓)
 
12-Oct-2025wl-cleq-2 37476
Disclaimer: The material presented here is just my (WL's) personal perception. I am not an expert in this field, so some or all of the text here can be misleading, or outright wrong. This text should be read as an exploration rather than as definite statements, open to doubt, alternatives, and reinterpretation.

Vocabulary

Sentence:
A sentence or closed form theorem is a theorem without any hypothesis, as opposed to the inference form. Although distinct variable conditions can be viewed as a particular kind of hypothesis, in Metamath they are treated as side conditions, and do not affect formal structure of the theorem. Expressions such as 𝑥𝜑 or the distinctor 𝑥(𝑥 = 𝑦) play a similar role, but appear as separate hypotheses, or they can simply serve as the first antecedent in a sentence.

Bound / Free / Dependent:
In formal theories, variables are used to represent objects, allowing for general statements about relations rather than individual cases. In Metamath, for example, mathematical objects are represented by variables of type "setvar".

An occurrence of such a variable in any formula 𝜑 is said to be bound. if 𝜑 quantifies that variable, as in 𝑥𝜑. Variables not bound by a quantifier are called free. Variables of type "class" are always free, since quantifiers do not apply to them.

A free variable often indicates a parameter dependency; however, the formula 𝑥 = 𝑥 shows that this is not necessarily the case. In Metamath, a variable expressing a real dependency is also called "effectively free" (see nfequid 2012, with thanks to SN for pointing out this theorem).

Instance:
A formula of type "class" that is not a mere variable is called an instance of any "class" type variable. An instance may represent a single object, or it may still describe a family of objects, when variables expressing dependencies occur within that formula.

Attribute:
Objects possess properties, some of which may uniquely identify them. In logic, properties are also known as attributes. They are described by formulas depending on a variable, which can then be substituted with a specific object. If the resulting statement is true, that particular attribute is said to apply to the object.

Multiple objects forming an instance may share common attributes. A variable inherits the attributes of the instance it represents.

(Contributed by Wolf Lammen, 12-Oct-2025.)

(𝐴 = 𝐵 ↔ ∀𝑥(𝑥𝐴𝑥𝐵))
 
11-Oct-2025precoffunc 49039 The pre-composition functor, expressed explicitly, is a functor. (Contributed by Zhi Wang, 11-Oct-2025.)
𝑅 = (𝐷 FuncCat 𝐸)    &   𝑆 = (𝐶 FuncCat 𝐸)    &   𝐵 = (𝐷 Func 𝐸)    &   𝑁 = (𝐷 Nat 𝐸)    &   (𝜑𝐹(𝐶 Func 𝐷)𝐺)    &   (𝜑𝐸 ∈ Cat)    &   (𝜑𝐾 = (𝑔𝐵 ↦ (𝑔func𝐹, 𝐺⟩)))    &   (𝜑𝐿 = (𝑔𝐵, 𝐵 ↦ (𝑎 ∈ (𝑔𝑁) ↦ (𝑎𝐹))))       (𝜑𝐾(𝑅 Func 𝑆)𝐿)
 
11-Oct-2025precofcl 49038 The pre-composition functor as a transposed curry of the functor composition bifunctor is a functor. (Contributed by Zhi Wang, 11-Oct-2025.)
𝑄 = (𝐶 FuncCat 𝐷)    &   𝑅 = (𝐷 FuncCat 𝐸)    &   (𝜑 = (⟨𝑄, 𝑅⟩ curryF ((⟨𝐶, 𝐷⟩ ∘F 𝐸) ∘func (𝑄swapF𝑅))))    &   (𝜑𝐹 ∈ (𝐶 Func 𝐷))    &   (𝜑𝐸 ∈ Cat)    &   (𝜑𝐾 = ((1st )‘𝐹))    &   𝑆 = (𝐶 FuncCat 𝐸)       (𝜑𝐾 ∈ (𝑅 Func 𝑆))
 
11-Oct-2025precofval2 49037 Value of the pre-composition functor as a transposed curry of the functor composition bifunctor. (Contributed by Zhi Wang, 11-Oct-2025.)
𝑄 = (𝐶 FuncCat 𝐷)    &   𝑅 = (𝐷 FuncCat 𝐸)    &   (𝜑 = (⟨𝑄, 𝑅⟩ curryF ((⟨𝐶, 𝐷⟩ ∘F 𝐸) ∘func (𝑄swapF𝑅))))    &   (𝜑𝐹 ∈ (𝐶 Func 𝐷))    &   (𝜑𝐸 ∈ Cat)    &   (𝜑𝐾 = ((1st )‘𝐹))       (𝜑𝐾 = ⟨(𝑔 ∈ (𝐷 Func 𝐸) ↦ (𝑔func 𝐹)), (𝑔 ∈ (𝐷 Func 𝐸), ∈ (𝐷 Func 𝐸) ↦ (𝑎 ∈ (𝑔(𝐷 Nat 𝐸)) ↦ (𝑎 ∘ (1st𝐹))))⟩)
 
11-Oct-2025precofvalALT 49036 Alternate proof of precofval 49035. (Contributed by Zhi Wang, 11-Oct-2025.) (Proof modification is discouraged.) (New usage is discouraged.)
𝑄 = (𝐶 FuncCat 𝐷)    &   𝑅 = (𝐷 FuncCat 𝐸)    &   (𝜑 = (⟨𝑄, 𝑅⟩ curryF ((⟨𝐶, 𝐷⟩ ∘F 𝐸) ∘func (𝑄swapF𝑅))))    &   (𝜑𝐹 ∈ (𝐶 Func 𝐷))    &   (𝜑𝐸 ∈ Cat)    &   (𝜑𝐾 = ((1st )‘𝐹))       (𝜑𝐾 = ⟨(𝑔 ∈ (𝐷 Func 𝐸) ↦ (𝑔func 𝐹)), (𝑔 ∈ (𝐷 Func 𝐸), ∈ (𝐷 Func 𝐸) ↦ (𝑎 ∈ (𝑔(𝐷 Nat 𝐸)) ↦ (𝑥 ∈ (Base‘𝐶) ↦ (𝑎‘((1st𝐹)‘𝑥)))))⟩)
 
11-Oct-2025precofval 49035 Value of the pre-composition functor as a transposed curry of the functor composition bifunctor. (Contributed by Zhi Wang, 11-Oct-2025.)
𝑄 = (𝐶 FuncCat 𝐷)    &   𝑅 = (𝐷 FuncCat 𝐸)    &   (𝜑 = (⟨𝑄, 𝑅⟩ curryF ((⟨𝐶, 𝐷⟩ ∘F 𝐸) ∘func (𝑄swapF𝑅))))    &   (𝜑𝐹 ∈ (𝐶 Func 𝐷))    &   (𝜑𝐸 ∈ Cat)    &   (𝜑𝐾 = ((1st )‘𝐹))       (𝜑𝐾 = ⟨(𝑔 ∈ (𝐷 Func 𝐸) ↦ (𝑔func 𝐹)), (𝑔 ∈ (𝐷 Func 𝐸), ∈ (𝐷 Func 𝐸) ↦ (𝑎 ∈ (𝑔(𝐷 Nat 𝐸)) ↦ (𝑥 ∈ (Base‘𝐶) ↦ (𝑎‘((1st𝐹)‘𝑥)))))⟩)
 
11-Oct-2025precofvallem 49034 Lemma for precofval 49035 to enable catlid 17722 or catrid 17723. (Contributed by Zhi Wang, 11-Oct-2025.)
𝐴 = (Base‘𝐶)    &   𝐵 = (Base‘𝐸)    &    1 = (Id‘𝐷)    &   𝐼 = (Id‘𝐸)    &   (𝜑𝐹(𝐶 Func 𝐷)𝐺)    &   (𝜑𝐾(𝐷 Func 𝐸)𝐿)    &   (𝜑𝑋𝐴)       (𝜑 → ((((𝐹𝑋)𝐿(𝐹𝑋))‘(( 1𝐹)‘𝑋)) = (𝐼‘(𝐾‘(𝐹𝑋))) ∧ (𝐾‘(𝐹𝑋)) ∈ 𝐵))
 
11-Oct-2025postcofcl 49033 The post-composition functor as a curry of the functor composition bifunctor is a functor. (Contributed by Zhi Wang, 11-Oct-2025.)
𝑄 = (𝐶 FuncCat 𝐷)    &   𝑅 = (𝐷 FuncCat 𝐸)    &    = (⟨𝑅, 𝑄⟩ curryF (⟨𝐶, 𝐷⟩ ∘F 𝐸))    &   (𝜑𝐹 ∈ (𝐷 Func 𝐸))    &   (𝜑𝐶 ∈ Cat)    &   𝐾 = ((1st )‘𝐹)    &   𝑆 = (𝐶 FuncCat 𝐸)       (𝜑𝐾 ∈ (𝑄 Func 𝑆))
 
11-Oct-2025postcofval 49032 Value of the post-composition functor as a curry of the functor composition bifunctor. (Contributed by Zhi Wang, 11-Oct-2025.)
𝑄 = (𝐶 FuncCat 𝐷)    &   𝑅 = (𝐷 FuncCat 𝐸)    &    = (⟨𝑅, 𝑄⟩ curryF (⟨𝐶, 𝐷⟩ ∘F 𝐸))    &   (𝜑𝐹 ∈ (𝐷 Func 𝐸))    &   (𝜑𝐶 ∈ Cat)    &   𝐾 = ((1st )‘𝐹)       (𝜑𝐾 = ⟨(𝑔 ∈ (𝐶 Func 𝐷) ↦ (𝐹func 𝑔)), (𝑔 ∈ (𝐶 Func 𝐷), ∈ (𝐶 Func 𝐷) ↦ (𝑎 ∈ (𝑔(𝐶 Nat 𝐷)) ↦ (𝑥 ∈ (Base‘𝐶) ↦ ((((1st𝑔)‘𝑥)(2nd𝐹)((1st)‘𝑥))‘(𝑎𝑥)))))⟩)
 
11-Oct-2025fucorid2 49031 Pre-composing a natural transformation with the identity natural transformation of a functor is pre-composing it with the object part of the functor. (Contributed by Zhi Wang, 11-Oct-2025.)
(𝜑 → (2nd ‘(⟨𝐶, 𝐷⟩ ∘F 𝐸)) = 𝑃)    &   𝐼 = (Id‘𝑄)    &   𝑄 = (𝐶 FuncCat 𝐷)    &   (𝜑𝐴 ∈ (𝐺(𝐷 Nat 𝐸)𝐻))    &   (𝜑𝐹 ∈ (𝐶 Func 𝐷))       (𝜑 → (𝐴(⟨𝐺, 𝐹𝑃𝐻, 𝐹⟩)(𝐼𝐹)) = (𝐴 ∘ (1st𝐹)))
 
11-Oct-2025fucorid 49030 Pre-composing a natural transformation with the identity natural transformation of a functor is pre-composing it with the object part of the functor, in maps-to notation. (Contributed by Zhi Wang, 11-Oct-2025.)
(𝜑 → (2nd ‘(⟨𝐶, 𝐷⟩ ∘F 𝐸)) = 𝑃)    &   𝐼 = (Id‘𝑄)    &   𝑄 = (𝐶 FuncCat 𝐷)    &   (𝜑𝐴 ∈ (𝐺(𝐷 Nat 𝐸)𝐻))    &   (𝜑𝐹 ∈ (𝐶 Func 𝐷))       (𝜑 → (𝐴(⟨𝐺, 𝐹𝑃𝐻, 𝐹⟩)(𝐼𝐹)) = (𝑥 ∈ (Base‘𝐶) ↦ (𝐴‘((1st𝐹)‘𝑥))))
 
11-Oct-2025fucolid 49029 Post-compose a natural transformation with an identity natural transformation. (Contributed by Zhi Wang, 11-Oct-2025.)
(𝜑 → (2nd ‘(⟨𝐶, 𝐷⟩ ∘F 𝐸)) = 𝑃)    &   𝐼 = (Id‘𝑄)    &   𝑄 = (𝐷 FuncCat 𝐸)    &   (𝜑𝐴 ∈ (𝐺(𝐶 Nat 𝐷)𝐻))    &   (𝜑𝐹 ∈ (𝐷 Func 𝐸))       (𝜑 → ((𝐼𝐹)(⟨𝐹, 𝐺𝑃𝐹, 𝐻⟩)𝐴) = (𝑥 ∈ (Base‘𝐶) ↦ ((((1st𝐺)‘𝑥)(2nd𝐹)((1st𝐻)‘𝑥))‘(𝐴𝑥))))
 
11-Oct-2025fuco11bALT 49006 Alternate proof of fuco11b 49005. (Contributed by Zhi Wang, 11-Oct-2025.) (Proof modification is discouraged.) (New usage is discouraged.)
(𝜑 → (1st ‘(⟨𝐶, 𝐷⟩ ∘F 𝐸)) = 𝑂)    &   (𝜑𝐹 ∈ (𝐶 Func 𝐷))    &   (𝜑𝐺 ∈ (𝐷 Func 𝐸))       (𝜑 → (𝐺𝑂𝐹) = (𝐺func 𝐹))
 
11-Oct-2025fuco11b 49005 The object part of the functor composition bifunctor maps two functors to their composition. (Contributed by Zhi Wang, 11-Oct-2025.)
(𝜑 → (1st ‘(⟨𝐶, 𝐷⟩ ∘F 𝐸)) = 𝑂)    &   (𝜑𝐹 ∈ (𝐶 Func 𝐷))    &   (𝜑𝐺 ∈ (𝐷 Func 𝐸))       (𝜑 → (𝐺𝑂𝐹) = (𝐺func 𝐹))
 
11-Oct-2025wffr 44953 The class of well-founded sets is well-founded. Lemma I.9.24(2) of [Kunen2] p. 53. (Contributed by Eric Schmidt, 11-Oct-2025.)
E Fr (𝑅1 “ On)
 
11-Oct-2025rankrelp 44952 The rank function preserves . (Contributed by Eric Schmidt, 11-Oct-2025.)
rank RelPres E , E ( (𝑅1 “ On), On)
 
11-Oct-2025relpfr 44950 If the image of a set under a relation-preserving function is well-founded, so is the set. See isofr 7360 for a bidirectional statement. A more general version of Lemma I.9.9 of [Kunen2] p. 47. (Contributed by Eric Schmidt, 11-Oct-2025.)
(𝐻 RelPres 𝑅, 𝑆(𝐴, 𝐵) → (𝑆 Fr 𝐵𝑅 Fr 𝐴))
 
11-Oct-2025relpfrlem 44949 Lemma for relpfr 44950. Proved without using the Axiom of Replacement. This is isofrlem 7358 with weaker hypotheses. (Contributed by Eric Schmidt, 11-Oct-2025.)
(𝜑𝐻 RelPres 𝑅, 𝑆(𝐴, 𝐵))    &   (𝜑 → (𝐻𝑥) ∈ V)       (𝜑 → (𝑆 Fr 𝐵𝑅 Fr 𝐴))
 
11-Oct-2025relpmin 44948 A preimage of a minimal element under a relation-preserving function is minimal. Essentially one half of isomin 7355. (Contributed by Eric Schmidt, 11-Oct-2025.)
((𝐻 RelPres 𝑅, 𝑆(𝐴, 𝐵) ∧ (𝐶𝐴𝐷𝐴)) → (((𝐻𝐶) ∩ (𝑆 “ {(𝐻𝐷)})) = ∅ → (𝐶 ∩ (𝑅 “ {𝐷})) = ∅))
 
11-Oct-2025relprel 44947 A relation-preserving function preserves the relation. (Contributed by Eric Schmidt, 11-Oct-2025.)
((𝐻 RelPres 𝑅, 𝑆(𝐴, 𝐵) ∧ (𝐶𝐴𝐷𝐴)) → (𝐶𝑅𝐷 → (𝐻𝐶)𝑆(𝐻𝐷)))
 
11-Oct-2025relpf 44946 A relation-preserving function is a function. (Contributed by Eric Schmidt, 11-Oct-2025.)
(𝐻 RelPres 𝑅, 𝑆(𝐴, 𝐵) → 𝐻:𝐴𝐵)
 
11-Oct-2025nfrelp 44945 Bound-variable hypothesis builder for a relation-preserving function. (Contributed by Eric Schmidt, 11-Oct-2025.)
𝑥𝐻    &   𝑥𝑅    &   𝑥𝑆    &   𝑥𝐴    &   𝑥𝐵       𝑥 𝐻 RelPres 𝑅, 𝑆(𝐴, 𝐵)
 
11-Oct-2025relpeq5 44944 Equality theorem for relation-preserving functions. (Contributed by Eric Schmidt, 11-Oct-2025.)
(𝐵 = 𝐶 → (𝐻 RelPres 𝑅, 𝑆(𝐴, 𝐵) ↔ 𝐻 RelPres 𝑅, 𝑆(𝐴, 𝐶)))
 
11-Oct-2025relpeq4 44943 Equality theorem for relation-preserving functions. (Contributed by Eric Schmidt, 11-Oct-2025.)
(𝐴 = 𝐶 → (𝐻 RelPres 𝑅, 𝑆(𝐴, 𝐵) ↔ 𝐻 RelPres 𝑅, 𝑆(𝐶, 𝐵)))
 
11-Oct-2025relpeq3 44942 Equality theorem for relation-preserving functions. (Contributed by Eric Schmidt, 11-Oct-2025.)
(𝑆 = 𝑇 → (𝐻 RelPres 𝑅, 𝑆(𝐴, 𝐵) ↔ 𝐻 RelPres 𝑅, 𝑇(𝐴, 𝐵)))
 
11-Oct-2025relpeq2 44941 Equality theorem for relation-preserving functions. (Contributed by Eric Schmidt, 11-Oct-2025.)
(𝑅 = 𝑇 → (𝐻 RelPres 𝑅, 𝑆(𝐴, 𝐵) ↔ 𝐻 RelPres 𝑇, 𝑆(𝐴, 𝐵)))
 
11-Oct-2025relpeq1 44940 Equality theorem for relation-preserving functions. (Contributed by Eric Schmidt, 11-Oct-2025.)
(𝐻 = 𝐺 → (𝐻 RelPres 𝑅, 𝑆(𝐴, 𝐵) ↔ 𝐺 RelPres 𝑅, 𝑆(𝐴, 𝐵)))
 
11-Oct-2025df-relp 44939 Define the relation-preserving predicate. This is a viable notion of "homomorphism" corresponding to df-isom 6568. (Contributed by Eric Schmidt, 11-Oct-2025.)
(𝐻 RelPres 𝑅, 𝑆(𝐴, 𝐵) ↔ (𝐻:𝐴𝐵 ∧ ∀𝑥𝐴𝑦𝐴 (𝑥𝑅𝑦 → (𝐻𝑥)𝑆(𝐻𝑦))))
 
11-Oct-2025wrelp 44938 Extend the definition of a wff to include the relation-preserving property. (Contributed by Eric Schmidt, 11-Oct-2025.)
wff 𝐻 RelPres 𝑅, 𝑆(𝐴, 𝐵)
 
10-Oct-2025fucofunca 49028 The functor composition bifunctor is a functor. See also fucofunc 49027. (Contributed by Zhi Wang, 10-Oct-2025.)
𝑇 = ((𝐷 FuncCat 𝐸) ×c (𝐶 FuncCat 𝐷))    &   𝑄 = (𝐶 FuncCat 𝐸)    &   (𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)    &   (𝜑𝐸 ∈ Cat)       (𝜑 → (⟨𝐶, 𝐷⟩ ∘F 𝐸) ∈ (𝑇 Func 𝑄))
 
10-Oct-2025tposcurf2cl 48975 The transposed curry functor at a morphism is a natural transformation. (Contributed by Zhi Wang, 10-Oct-2025.)
(𝜑𝐺 = (⟨𝐶, 𝐷⟩ curryF (𝐹func (𝐶swapF𝐷))))    &   𝐴 = (Base‘𝐶)    &   (𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)    &   (𝜑𝐹 ∈ ((𝐷 ×c 𝐶) Func 𝐸))    &   𝐵 = (Base‘𝐷)    &   𝐻 = (Hom ‘𝐶)    &   𝐼 = (Id‘𝐷)    &   (𝜑𝑋𝐴)    &   (𝜑𝑌𝐴)    &   (𝜑𝐾 ∈ (𝑋𝐻𝑌))    &   (𝜑𝐿 = ((𝑋(2nd𝐺)𝑌)‘𝐾))    &   𝑁 = (𝐷 Nat 𝐸)       (𝜑𝐿 ∈ (((1st𝐺)‘𝑋)𝑁((1st𝐺)‘𝑌)))
 
10-Oct-2025tposcurf2val 48974 Value of a component of the transposed curry functor natural transformation. (Contributed by Zhi Wang, 10-Oct-2025.)
(𝜑𝐺 = (⟨𝐶, 𝐷⟩ curryF (𝐹func (𝐶swapF𝐷))))    &   𝐴 = (Base‘𝐶)    &   (𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)    &   (𝜑𝐹 ∈ ((𝐷 ×c 𝐶) Func 𝐸))    &   𝐵 = (Base‘𝐷)    &   𝐻 = (Hom ‘𝐶)    &   𝐼 = (Id‘𝐷)    &   (𝜑𝑋𝐴)    &   (𝜑𝑌𝐴)    &   (𝜑𝐾 ∈ (𝑋𝐻𝑌))    &   (𝜑𝐿 = ((𝑋(2nd𝐺)𝑌)‘𝐾))    &   (𝜑𝑍𝐵)       (𝜑 → (𝐿𝑍) = ((𝐼𝑍)(⟨𝑍, 𝑋⟩(2nd𝐹)⟨𝑍, 𝑌⟩)𝐾))
 
10-Oct-2025tposcurf2 48973 Value of the transposed curry functor at a morphism. (Contributed by Zhi Wang, 10-Oct-2025.)
(𝜑𝐺 = (⟨𝐶, 𝐷⟩ curryF (𝐹func (𝐶swapF𝐷))))    &   𝐴 = (Base‘𝐶)    &   (𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)    &   (𝜑𝐹 ∈ ((𝐷 ×c 𝐶) Func 𝐸))    &   𝐵 = (Base‘𝐷)    &   𝐻 = (Hom ‘𝐶)    &   𝐼 = (Id‘𝐷)    &   (𝜑𝑋𝐴)    &   (𝜑𝑌𝐴)    &   (𝜑𝐾 ∈ (𝑋𝐻𝑌))    &   (𝜑𝐿 = ((𝑋(2nd𝐺)𝑌)‘𝐾))       (𝜑𝐿 = (𝑧𝐵 ↦ ((𝐼𝑧)(⟨𝑧, 𝑋⟩(2nd𝐹)⟨𝑧, 𝑌⟩)𝐾)))
 
10-Oct-2025cofuswapfcl 48966 The bifunctor pre-composed with a swap functor is a bifunctor. (Contributed by Zhi Wang, 10-Oct-2025.)
(𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)    &   (𝜑𝐹 ∈ ((𝐷 ×c 𝐶) Func 𝐸))    &   (𝜑𝐺 = (𝐹func (𝐶swapF𝐷)))       (𝜑𝐺 ∈ ((𝐶 ×c 𝐷) Func 𝐸))
 
9-Oct-2025tposcurfcl 48976 The transposed curry functor of a functor 𝐹:𝐷 × 𝐶𝐸 is a functor tposcurry (𝐹):𝐶⟶(𝐷𝐸). (Contributed by Zhi Wang, 9-Oct-2025.)
(𝜑𝐺 = (⟨𝐶, 𝐷⟩ curryF (𝐹func (𝐶swapF𝐷))))    &   𝑄 = (𝐷 FuncCat 𝐸)    &   (𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)    &   (𝜑𝐹 ∈ ((𝐷 ×c 𝐶) Func 𝐸))       (𝜑𝐺 ∈ (𝐶 Func 𝑄))
 
9-Oct-2025tposcurf1 48972 Value of the object part of the transposed curry functor. (Contributed by Zhi Wang, 9-Oct-2025.)
(𝜑𝐺 = (⟨𝐶, 𝐷⟩ curryF (𝐹func (𝐶swapF𝐷))))    &   𝐴 = (Base‘𝐶)    &   (𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)    &   (𝜑𝐹 ∈ ((𝐷 ×c 𝐶) Func 𝐸))    &   (𝜑𝑋𝐴)    &   (𝜑𝐾 = ((1st𝐺)‘𝑋))    &   𝐵 = (Base‘𝐷)    &   𝐽 = (Hom ‘𝐷)    &    1 = (Id‘𝐶)       (𝜑𝐾 = ⟨(𝑦𝐵 ↦ (𝑦(1st𝐹)𝑋)), (𝑦𝐵, 𝑧𝐵 ↦ (𝑔 ∈ (𝑦𝐽𝑧) ↦ (𝑔(⟨𝑦, 𝑋⟩(2nd𝐹)⟨𝑧, 𝑋⟩)( 1𝑋))))⟩)
 
9-Oct-2025tposcurf12 48971 The partially evaluated transposed curry functor at a morphism. (Contributed by Zhi Wang, 9-Oct-2025.)
(𝜑𝐺 = (⟨𝐶, 𝐷⟩ curryF (𝐹func (𝐶swapF𝐷))))    &   𝐴 = (Base‘𝐶)    &   (𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)    &   (𝜑𝐹 ∈ ((𝐷 ×c 𝐶) Func 𝐸))    &   (𝜑𝑋𝐴)    &   (𝜑𝐾 = ((1st𝐺)‘𝑋))    &   𝐵 = (Base‘𝐷)    &   (𝜑𝑌𝐵)    &   𝐽 = (Hom ‘𝐷)    &    1 = (Id‘𝐶)    &   (𝜑𝑍𝐵)    &   (𝜑𝐻 ∈ (𝑌𝐽𝑍))       (𝜑 → ((𝑌(2nd𝐾)𝑍)‘𝐻) = (𝐻(⟨𝑌, 𝑋⟩(2nd𝐹)⟨𝑍, 𝑋⟩)( 1𝑋)))
 
9-Oct-2025tposcurf11 48970 Value of the double evaluated transposed curry functor. (Contributed by Zhi Wang, 9-Oct-2025.)
(𝜑𝐺 = (⟨𝐶, 𝐷⟩ curryF (𝐹func (𝐶swapF𝐷))))    &   𝐴 = (Base‘𝐶)    &   (𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)    &   (𝜑𝐹 ∈ ((𝐷 ×c 𝐶) Func 𝐸))    &   (𝜑𝑋𝐴)    &   (𝜑𝐾 = ((1st𝐺)‘𝑋))    &   𝐵 = (Base‘𝐷)    &   (𝜑𝑌𝐵)       (𝜑 → ((1st𝐾)‘𝑌) = (𝑌(1st𝐹)𝑋))
 
9-Oct-2025tposcurf1cl 48969 The partially evaluated transposed curry functor is a functor. (Contributed by Zhi Wang, 9-Oct-2025.)
(𝜑𝐺 = (⟨𝐶, 𝐷⟩ curryF (𝐹func (𝐶swapF𝐷))))    &   𝐴 = (Base‘𝐶)    &   (𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)    &   (𝜑𝐹 ∈ ((𝐷 ×c 𝐶) Func 𝐸))    &   (𝜑𝑋𝐴)    &   (𝜑𝐾 = ((1st𝐺)‘𝑋))       (𝜑𝐾 ∈ (𝐷 Func 𝐸))
 
9-Oct-2025cofuswapf2 48968 The morphism part of a bifunctor pre-composed with a swap functor. (Contributed by Zhi Wang, 9-Oct-2025.)
(𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)    &   (𝜑𝐹 ∈ ((𝐷 ×c 𝐶) Func 𝐸))    &   (𝜑𝐺 = (𝐹func (𝐶swapF𝐷)))    &   𝐴 = (Base‘𝐶)    &   𝐵 = (Base‘𝐷)    &   (𝜑𝑋𝐴)    &   (𝜑𝑌𝐵)    &   (𝜑𝑍𝐴)    &   (𝜑𝑊𝐵)    &   𝐻 = (Hom ‘𝐶)    &   𝐽 = (Hom ‘𝐷)    &   (𝜑𝑀 ∈ (𝑋𝐻𝑍))    &   (𝜑𝑁 ∈ (𝑌𝐽𝑊))       (𝜑 → (𝑀(⟨𝑋, 𝑌⟩(2nd𝐺)⟨𝑍, 𝑊⟩)𝑁) = (𝑁(⟨𝑌, 𝑋⟩(2nd𝐹)⟨𝑊, 𝑍⟩)𝑀))
 
9-Oct-2025cofuswapf1 48967 The object part of a bifunctor pre-composed with a swap functor. (Contributed by Zhi Wang, 9-Oct-2025.)
(𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)    &   (𝜑𝐹 ∈ ((𝐷 ×c 𝐶) Func 𝐸))    &   (𝜑𝐺 = (𝐹func (𝐶swapF𝐷)))    &   𝐴 = (Base‘𝐶)    &   𝐵 = (Base‘𝐷)    &   (𝜑𝑋𝐴)    &   (𝜑𝑌𝐵)       (𝜑 → (𝑋(1st𝐺)𝑌) = (𝑌(1st𝐹)𝑋))
 
9-Oct-2025swapffunca 48963 The swap functor is a functor. (Contributed by Zhi Wang, 9-Oct-2025.)
(𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)    &   𝑆 = (𝐶 ×c 𝐷)    &   𝑇 = (𝐷 ×c 𝐶)       (𝜑 → (𝐶swapF𝐷) ∈ (𝑆 Func 𝑇))
 
9-Oct-2025swapf2f1oa 48956 The morphism part of the swap functor is a bijection between hom-sets. (Contributed by Zhi Wang, 9-Oct-2025.)
(𝜑 → (𝐶swapF𝐷) = ⟨𝑂, 𝑃⟩)    &   𝑆 = (𝐶 ×c 𝐷)    &   𝑇 = (𝐷 ×c 𝐶)    &   𝐻 = (Hom ‘𝑆)    &   𝐽 = (Hom ‘𝑇)    &   𝐵 = (Base‘𝑆)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)       (𝜑 → (𝑋𝑃𝑌):(𝑋𝐻𝑌)–1-1-onto→((𝑂𝑋)𝐽(𝑂𝑌)))
 
9-Oct-2025dfswapf2 48940 Alternate definition of swapF (df-swapf 48939). (Contributed by Zhi Wang, 9-Oct-2025.)
swapF = (𝑐 ∈ V, 𝑑 ∈ V ↦ (𝑐 ×c 𝑑) / 𝑠(Base‘𝑠) / 𝑏(Hom ‘𝑠) / ⟨(tpos I ↾ 𝑏), (𝑢𝑏, 𝑣𝑏 ↦ (tpos I ↾ (𝑢𝑣)))⟩)
 
9-Oct-2025ovmpt4d 48741 Deduction version of ovmpt4g 7577. (This is the operation analogue of fvmpt2d 7027.) (Contributed by Zhi Wang, 9-Oct-2025.)
(𝜑𝐹 = (𝑥𝐴, 𝑦𝐵𝐶))    &   ((𝜑 ∧ (𝑥𝐴𝑦𝐵)) → 𝐶𝑉)       ((𝜑 ∧ (𝑥𝐴𝑦𝐵)) → (𝑥𝐹𝑦) = 𝐶)
 
9-Oct-2025dvdsfi 16822 A natural number has finitely many divisors. (Contributed by Jim Kingdon, 9-Oct-2025.)
(𝑁 ∈ ℕ → {𝑥 ∈ ℕ ∣ 𝑥𝑁} ∈ Fin)
 
8-Oct-2025swapciso 48965 The product category is categorically isomorphic to the swapped product category. (Contributed by Zhi Wang, 8-Oct-2025.)
(𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)    &   𝑆 = (𝐶 ×c 𝐷)    &   𝑇 = (𝐷 ×c 𝐶)    &   𝐸 = (CatCat‘𝑈)    &   (𝜑𝑈𝑉)    &   (𝜑𝑆𝑈)    &   (𝜑𝑇𝑈)       (𝜑𝑆( ≃𝑐𝐸)𝑇)
 
8-Oct-2025swapfiso 48964 The swap functor is an isomorphism between product categories. (Contributed by Zhi Wang, 8-Oct-2025.)
(𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)    &   𝑆 = (𝐶 ×c 𝐷)    &   𝑇 = (𝐷 ×c 𝐶)    &   𝐸 = (CatCat‘𝑈)    &   (𝜑𝑈𝑉)    &   (𝜑𝑆𝑈)    &   (𝜑𝑇𝑈)    &   𝐼 = (Iso‘𝐸)       (𝜑 → (𝐶swapF𝐷) ∈ (𝑆𝐼𝑇))
 
8-Oct-2025swapfffth 48962 The swap functor is a fully faithful functor. (Contributed by Zhi Wang, 8-Oct-2025.)
(𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)    &   𝑆 = (𝐶 ×c 𝐷)    &   𝑇 = (𝐷 ×c 𝐶)    &   (𝜑 → (𝐶swapF𝐷) = ⟨𝑂, 𝑃⟩)       (𝜑𝑂((𝑆 Full 𝑇) ∩ (𝑆 Faith 𝑇))𝑃)
 
8-Oct-2025swapffunc 48961 The swap functor is a functor. (Contributed by Zhi Wang, 8-Oct-2025.)
(𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)    &   𝑆 = (𝐶 ×c 𝐷)    &   𝑇 = (𝐷 ×c 𝐶)    &   (𝜑 → (𝐶swapF𝐷) = ⟨𝑂, 𝑃⟩)       (𝜑𝑂(𝑆 Func 𝑇)𝑃)
 
8-Oct-2025swapfcoa 48960 Composition in the source category is mapped to composition in the target. (𝜑𝐶 ∈ Cat) and (𝜑𝐷 ∈ Cat) can be replaced by a weaker hypothesis (𝜑𝑆 ∈ Cat). (Contributed by Zhi Wang, 8-Oct-2025.)
(𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)    &   𝑆 = (𝐶 ×c 𝐷)    &   𝑇 = (𝐷 ×c 𝐶)    &   (𝜑 → (𝐶swapF𝐷) = ⟨𝑂, 𝑃⟩)    &   𝐵 = (Base‘𝑆)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)    &   (𝜑𝑍𝐵)    &   𝐻 = (Hom ‘𝑆)    &   (𝜑𝑀 ∈ (𝑋𝐻𝑌))    &   (𝜑𝑁 ∈ (𝑌𝐻𝑍))    &    · = (comp‘𝑆)    &    = (comp‘𝑇)       (𝜑 → ((𝑋𝑃𝑍)‘(𝑁(⟨𝑋, 𝑌· 𝑍)𝑀)) = (((𝑌𝑃𝑍)‘𝑁)(⟨(𝑂𝑋), (𝑂𝑌)⟩ (𝑂𝑍))((𝑋𝑃𝑌)‘𝑀)))
 
8-Oct-2025swapfida 48959 Each identity morphism in the source category is mapped to the corresponding identity morphism in the target category. See also swapfid 48958. (Contributed by Zhi Wang, 8-Oct-2025.)
(𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)    &   𝑆 = (𝐶 ×c 𝐷)    &   𝑇 = (𝐷 ×c 𝐶)    &   (𝜑 → (𝐶swapF𝐷) = ⟨𝑂, 𝑃⟩)    &   𝐵 = (Base‘𝑆)    &   (𝜑𝑋𝐵)    &    1 = (Id‘𝑆)    &   𝐼 = (Id‘𝑇)       (𝜑 → ((𝑋𝑃𝑋)‘( 1𝑋)) = (𝐼‘(𝑂𝑋)))
 
8-Oct-2025swapfid 48958 Each identity morphism in the source category is mapped to the corresponding identity morphism in the target category. See also swapfida 48959. (Contributed by Zhi Wang, 8-Oct-2025.)
(𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)    &   𝑆 = (𝐶 ×c 𝐷)    &   𝑇 = (𝐷 ×c 𝐶)    &   (𝜑 → (𝐶swapF𝐷) = ⟨𝑂, 𝑃⟩)    &   (𝜑𝑋 ∈ (Base‘𝐶))    &   (𝜑𝑌 ∈ (Base‘𝐷))    &    1 = (Id‘𝑆)    &   𝐼 = (Id‘𝑇)       (𝜑 → ((⟨𝑋, 𝑌𝑃𝑋, 𝑌⟩)‘( 1 ‘⟨𝑋, 𝑌⟩)) = (𝐼‘(𝑂‘⟨𝑋, 𝑌⟩)))
 
8-Oct-2025swapf2f1oaALT 48957 Alternate proof of swapf2f1oa 48956. (Contributed by Zhi Wang, 8-Oct-2025.) (Proof modification is discouraged.) (New usage is discouraged.)
(𝜑 → (𝐶swapF𝐷) = ⟨𝑂, 𝑃⟩)    &   𝑆 = (𝐶 ×c 𝐷)    &   𝑇 = (𝐷 ×c 𝐶)    &   𝐻 = (Hom ‘𝑆)    &   𝐽 = (Hom ‘𝑇)    &   𝐵 = (Base‘𝑆)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)       (𝜑 → (𝑋𝑃𝑌):(𝑋𝐻𝑌)–1-1-onto→((𝑂𝑋)𝐽(𝑂𝑌)))
 
8-Oct-2025swapf2f1o 48955 The morphism part of the swap functor is a bijection between hom-sets. (Contributed by Zhi Wang, 8-Oct-2025.)
(𝜑 → (𝐶swapF𝐷) = ⟨𝑂, 𝑃⟩)    &   𝑆 = (𝐶 ×c 𝐷)    &   𝑇 = (𝐷 ×c 𝐶)    &   𝐻 = (Hom ‘𝑆)    &   𝐽 = (Hom ‘𝑇)    &   (𝜑𝑋 ∈ (Base‘𝐶))    &   (𝜑𝑌 ∈ (Base‘𝐷))    &   (𝜑𝑍 ∈ (Base‘𝐶))    &   (𝜑𝑊 ∈ (Base‘𝐷))       (𝜑 → (⟨𝑋, 𝑌𝑃𝑍, 𝑊⟩):(⟨𝑋, 𝑌𝐻𝑍, 𝑊⟩)–1-1-onto→(⟨𝑌, 𝑋𝐽𝑊, 𝑍⟩))
 
8-Oct-2025swapf1f1o 48954 The object part of the swap functor is a bijection between base sets. (Contributed by Zhi Wang, 8-Oct-2025.)
(𝜑 → (𝐶swapF𝐷) = ⟨𝑂, 𝑃⟩)    &   𝑆 = (𝐶 ×c 𝐷)    &   𝑇 = (𝐷 ×c 𝐶)    &   (𝜑𝐶𝑈)    &   (𝜑𝐷𝑉)    &   𝐵 = (Base‘𝑆)    &   𝐴 = (Base‘𝑇)       (𝜑𝑂:𝐵1-1-onto𝐴)
 
8-Oct-2025elxpcbasex2ALT 48930 Alternate proof of elxpcbasex2 48929. (Contributed by Zhi Wang, 8-Oct-2025.) (Proof modification is discouraged.) (New usage is discouraged.)
𝑇 = (𝐶 ×c 𝐷)    &   𝐵 = (Base‘𝑇)    &   (𝜑𝑋𝐵)       (𝜑𝐷 ∈ V)
 
8-Oct-2025elxpcbasex1ALT 48928 Alternate proof of elxpcbasex1 48927. (Contributed by Zhi Wang, 8-Oct-2025.) (Proof modification is discouraged.) (New usage is discouraged.)
𝑇 = (𝐶 ×c 𝐷)    &   𝐵 = (Base‘𝑇)    &   (𝜑𝑋𝐵)       (𝜑𝐶 ∈ V)
 
8-Oct-20253orel2 1486 Partial elimination of a triple disjunction by denial of a disjunct. (Contributed by Scott Fenton, 26-Mar-2011.) (Proof shortened by Andrew Salmon, 25-May-2011.) (Proof shortened by Eric Schmidt, 8-Oct-2025.)
𝜓 → ((𝜑𝜓𝜒) → (𝜑𝜒)))
 
7-Oct-2025fucofvalne 48993 Value of the function giving the functor composition bifunctor, if 𝐶 or 𝐷 are not sets. (Contributed by Zhi Wang, 7-Oct-2025.)
(𝜑 → ¬ (𝐶 ∈ V ∧ 𝐷 ∈ V))    &   (𝜑𝐸 ∈ Cat)    &   (𝜑 → (⟨𝐶, 𝐷⟩ ∘F 𝐸) = )    &   (𝜑𝑊 = ((𝐷 Func 𝐸) × (𝐶 Func 𝐷)))       (𝜑 ≠ ⟨( ∘func𝑊), (𝑢𝑊, 𝑣𝑊(1st ‘(2nd𝑢)) / 𝑓(1st ‘(1st𝑢)) / 𝑘(2nd ‘(1st𝑢)) / 𝑙(1st ‘(2nd𝑣)) / 𝑚(1st ‘(1st𝑣)) / 𝑟(𝑏 ∈ ((1st𝑢)(𝐷 Nat 𝐸)(1st𝑣)), 𝑎 ∈ ((2nd𝑢)(𝐶 Nat 𝐷)(2nd𝑣)) ↦ (𝑥 ∈ (Base‘𝐶) ↦ ((𝑏‘(𝑚𝑥))(⟨(𝑘‘(𝑓𝑥)), (𝑘‘(𝑚𝑥))⟩(comp‘𝐸)(𝑟‘(𝑚𝑥)))(((𝑓𝑥)𝑙(𝑚𝑥))‘(𝑎𝑥))))))⟩)
 
7-Oct-2025fucofvalg 48986 Value of the function giving the functor composition bifunctor. (Contributed by Zhi Wang, 7-Oct-2025.)
(𝜑𝑃𝑈)    &   (𝜑 → (1st𝑃) = 𝐶)    &   (𝜑 → (2nd𝑃) = 𝐷)    &   (𝜑𝐸𝑉)    &   (𝜑 → (𝑃F 𝐸) = )    &   (𝜑𝑊 = ((𝐷 Func 𝐸) × (𝐶 Func 𝐷)))       (𝜑 = ⟨( ∘func𝑊), (𝑢𝑊, 𝑣𝑊(1st ‘(2nd𝑢)) / 𝑓(1st ‘(1st𝑢)) / 𝑘(2nd ‘(1st𝑢)) / 𝑙(1st ‘(2nd𝑣)) / 𝑚(1st ‘(1st𝑣)) / 𝑟(𝑏 ∈ ((1st𝑢)(𝐷 Nat 𝐸)(1st𝑣)), 𝑎 ∈ ((2nd𝑢)(𝐶 Nat 𝐷)(2nd𝑣)) ↦ (𝑥 ∈ (Base‘𝐶) ↦ ((𝑏‘(𝑚𝑥))(⟨(𝑘‘(𝑓𝑥)), (𝑘‘(𝑚𝑥))⟩(comp‘𝐸)(𝑟‘(𝑚𝑥)))(((𝑓𝑥)𝑙(𝑚𝑥))‘(𝑎𝑥))))))⟩)
 
7-Oct-2025swapf2 48953 The morphism part of the swap functor swaps the morphisms. (Contributed by Zhi Wang, 7-Oct-2025.)
(𝜑 → (𝐶swapF𝐷) = ⟨𝑂, 𝑃⟩)    &   (𝜑𝑋 ∈ (Base‘𝐶))    &   (𝜑𝑌 ∈ (Base‘𝐷))    &   (𝜑𝑍 ∈ (Base‘𝐶))    &   (𝜑𝑊 ∈ (Base‘𝐷))    &   (𝜑𝐹 ∈ (𝑋(Hom ‘𝐶)𝑍))    &   (𝜑𝐺 ∈ (𝑌(Hom ‘𝐷)𝑊))       (𝜑 → (𝐹(⟨𝑋, 𝑌𝑃𝑍, 𝑊⟩)𝐺) = ⟨𝐺, 𝐹⟩)
 
7-Oct-2025swapf2val 48952 The morphism part of the swap functor swaps the morphisms. (Contributed by Zhi Wang, 7-Oct-2025.)
(𝜑 → (𝐶swapF𝐷) = ⟨𝑂, 𝑃⟩)    &   (𝜑𝑋 ∈ (Base‘𝐶))    &   (𝜑𝑌 ∈ (Base‘𝐷))    &   (𝜑𝑍 ∈ (Base‘𝐶))    &   (𝜑𝑊 ∈ (Base‘𝐷))    &   𝑆 = (𝐶 ×c 𝐷)    &   (𝜑𝐻 = (Hom ‘𝑆))       (𝜑 → (⟨𝑋, 𝑌𝑃𝑍, 𝑊⟩) = (𝑓 ∈ (⟨𝑋, 𝑌𝐻𝑍, 𝑊⟩) ↦ {𝑓}))
 
7-Oct-2025swapf1 48951 The object part of the swap functor swaps the objects. (Contributed by Zhi Wang, 7-Oct-2025.)
(𝜑 → (𝐶swapF𝐷) = ⟨𝑂, 𝑃⟩)    &   (𝜑𝑋 ∈ (Base‘𝐶))    &   (𝜑𝑌 ∈ (Base‘𝐷))       (𝜑 → (𝑋𝑂𝑌) = ⟨𝑌, 𝑋⟩)
 
7-Oct-2025swapf2a 48950 The morphism part of the swap functor swaps the morphisms. (Contributed by Zhi Wang, 7-Oct-2025.)
(𝜑 → (𝐶swapF𝐷) = ⟨𝑂, 𝑃⟩)    &   𝑆 = (𝐶 ×c 𝐷)    &   𝐵 = (Base‘𝑆)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)    &   (𝜑𝐻 = (Hom ‘𝑆))    &   (𝜑𝐹 ∈ (𝑋𝐻𝑌))       (𝜑 → ((𝑋𝑃𝑌)‘𝐹) = ⟨(2nd𝐹), (1st𝐹)⟩)
 
7-Oct-2025swapf2vala 48949 The morphism part of the swap functor swaps the morphisms. (Contributed by Zhi Wang, 7-Oct-2025.)
(𝜑 → (𝐶swapF𝐷) = ⟨𝑂, 𝑃⟩)    &   𝑆 = (𝐶 ×c 𝐷)    &   𝐵 = (Base‘𝑆)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)    &   (𝜑𝐻 = (Hom ‘𝑆))       (𝜑 → (𝑋𝑃𝑌) = (𝑓 ∈ (𝑋𝐻𝑌) ↦ {𝑓}))
 
7-Oct-2025swapf1a 48948 The object part of the swap functor swaps the objects. (Contributed by Zhi Wang, 7-Oct-2025.)
(𝜑 → (𝐶swapF𝐷) = ⟨𝑂, 𝑃⟩)    &   𝑆 = (𝐶 ×c 𝐷)    &   𝐵 = (Base‘𝑆)    &   (𝜑𝑋𝐵)       (𝜑 → (𝑂𝑋) = ⟨(2nd𝑋), (1st𝑋)⟩)
 
7-Oct-2025swapf2fn 48947 The morphism part of the swap functor is a function on the Cartesian square of the base set. (Contributed by Zhi Wang, 7-Oct-2025.)
(𝜑𝐶𝑈)    &   (𝜑𝐷𝑉)    &   𝑆 = (𝐶 ×c 𝐷)    &   𝐵 = (Base‘𝑆)    &   (𝜑 → (𝐶swapF𝐷) = ⟨𝑂, 𝑃⟩)       (𝜑𝑃 Fn (𝐵 × 𝐵))
 
7-Oct-2025swapf1val 48946 The object part of the swap functor. See also swapf1vala 48945. (Contributed by Zhi Wang, 7-Oct-2025.)
(𝜑𝐶𝑈)    &   (𝜑𝐷𝑉)    &   𝑆 = (𝐶 ×c 𝐷)    &   𝐵 = (Base‘𝑆)    &   (𝜑 → (𝐶swapF𝐷) = ⟨𝑂, 𝑃⟩)       (𝜑𝑂 = (𝑥𝐵 {𝑥}))
 
7-Oct-2025swapf1vala 48945 The object part of the swap functor. See also swapf1val 48946. (Contributed by Zhi Wang, 7-Oct-2025.)
(𝜑𝐶𝑈)    &   (𝜑𝐷𝑉)    &   𝑆 = (𝐶 ×c 𝐷)    &   𝐵 = (Base‘𝑆)       (𝜑 → (1st ‘(𝐶swapF𝐷)) = (𝑥𝐵 {𝑥}))
 
7-Oct-2025swapf2fval 48944 The morphism part of the swap functor. See also swapf2fvala 48943. (Contributed by Zhi Wang, 7-Oct-2025.)
(𝜑𝐶𝑈)    &   (𝜑𝐷𝑉)    &   𝑆 = (𝐶 ×c 𝐷)    &   𝐵 = (Base‘𝑆)    &   (𝜑𝐻 = (Hom ‘𝑆))    &   (𝜑 → (𝐶swapF𝐷) = ⟨𝑂, 𝑃⟩)       (𝜑𝑃 = (𝑢𝐵, 𝑣𝐵 ↦ (𝑓 ∈ (𝑢𝐻𝑣) ↦ {𝑓})))
 
7-Oct-2025swapf2fvala 48943 The morphism part of the swap functor. See also swapf2fval 48944. (Contributed by Zhi Wang, 7-Oct-2025.)
(𝜑𝐶𝑈)    &   (𝜑𝐷𝑉)    &   𝑆 = (𝐶 ×c 𝐷)    &   𝐵 = (Base‘𝑆)    &   (𝜑𝐻 = (Hom ‘𝑆))       (𝜑 → (2nd ‘(𝐶swapF𝐷)) = (𝑢𝐵, 𝑣𝐵 ↦ (𝑓 ∈ (𝑢𝐻𝑣) ↦ {𝑓})))
 
7-Oct-2025swapfelvv 48942 A swap functor is an ordered pair. (Contributed by Zhi Wang, 7-Oct-2025.)
(𝜑𝐶𝑈)    &   (𝜑𝐷𝑉)       (𝜑 → (𝐶swapF𝐷) ∈ (V × V))
 
7-Oct-2025swapfval 48941 Value of the swap functor. (Contributed by Zhi Wang, 7-Oct-2025.)
(𝜑𝐶𝑈)    &   (𝜑𝐷𝑉)    &   𝑆 = (𝐶 ×c 𝐷)    &   𝐵 = (Base‘𝑆)    &   (𝜑𝐻 = (Hom ‘𝑆))       (𝜑 → (𝐶swapF𝐷) = ⟨(𝑥𝐵 {𝑥}), (𝑢𝐵, 𝑣𝐵 ↦ (𝑓 ∈ (𝑢𝐻𝑣) ↦ {𝑓}))⟩)
 
7-Oct-2025df-swapf 48939 Define the swap functor from (𝐶 ×c 𝐷) to (𝐷 ×c 𝐶) by swapping all objects (swapf1 48951) and morphisms (swapf2 48953) .

Such functor is called a "swap functor" in https://arxiv.org/pdf/2302.07810 48953 or a "twist functor" in https://arxiv.org/pdf/2508.01886 48953, the latter of which finds its counterpart as "twisting map" in https://arxiv.org/pdf/2411.04102 48953 for tensor product of algebras. The "swap functor" or "twisting map" is often denoted as a small tau 𝜏 in literature. However, the term "twist functor" is defined differently in https://arxiv.org/pdf/1208.4046 48953 and thus not adopted here.

tpos I depends on more mathbox theorems, and thus are not adopted here. See dfswapf2 48940 for an alternate definition.

(Contributed by Zhi Wang, 7-Oct-2025.)

swapF = (𝑐 ∈ V, 𝑑 ∈ V ↦ (𝑐 ×c 𝑑) / 𝑠(Base‘𝑠) / 𝑏(Hom ‘𝑠) / ⟨(𝑥𝑏 {𝑥}), (𝑢𝑏, 𝑣𝑏 ↦ (𝑓 ∈ (𝑢𝑣) ↦ {𝑓}))⟩)
 
7-Oct-20250funcALT 48894 Alternate proof of 0func 48893. (Contributed by Zhi Wang, 7-Oct-2025.) (Proof modification is discouraged.) (New usage is discouraged.)
(𝜑𝐶 ∈ Cat)       (𝜑 → (∅ Func 𝐶) = {⟨∅, ∅⟩})
 
7-Oct-20250funclem 48892 Lemma for 0funcALT 48894. (Contributed by Zhi Wang, 7-Oct-2025.)
(𝜑 → (𝜓 ↔ (𝜒𝜃𝜏)))    &   (𝜒𝜂)    &   (𝜃𝜁)    &   𝜏       (𝜑 → (𝜓 ↔ (𝜂𝜁)))
 
7-Oct-2025opth2neg 48713 Two ordered pairs are not equal if their second components are not equal. (Contributed by Zhi Wang, 7-Oct-2025.)
((𝐴𝑉𝐵𝑊) → (𝐵𝐷 → ⟨𝐴, 𝐵⟩ ≠ ⟨𝐶, 𝐷⟩))
 
7-Oct-2025opth1neg 48712 Two ordered pairs are not equal if their first components are not equal. (Contributed by Zhi Wang, 7-Oct-2025.)
((𝐴𝑉𝐵𝑊) → (𝐴𝐶 → ⟨𝐴, 𝐵⟩ ≠ ⟨𝐶, 𝐷⟩))
 
7-Oct-2025readvcot 42372 Real antiderivative of cotangent. (Contributed by SN, 7-Oct-2025.)
𝐷 = {𝑦 ∈ ℝ ∣ (sin‘𝑦) ≠ 0}       (ℝ D (𝑥𝐷 ↦ (log‘(abs‘(sin‘𝑥))))) = (𝑥𝐷 ↦ ((cos‘𝑥) / (sin‘𝑥)))
 
7-Oct-2025resuppsinopn 42371 The support of sin (df-supp 8182) restricted to the reals is an open set. (Contributed by SN, 7-Oct-2025.)
𝐷 = {𝑦 ∈ ℝ ∣ (sin‘𝑦) ≠ 0}       𝐷 ∈ (topGen‘ran (,))
 
7-Oct-2025cnn0opn 24798 The set of nonzero complex numbers is open with respect to the standard topology on complex numbers. (Contributed by SN, 7-Oct-2025.)
(ℂ ∖ {0}) ∈ (TopOpen‘ℂfld)
 
6-Oct-2025tposideq2 48762 Two ways of expressing the swap function. (Contributed by Zhi Wang, 6-Oct-2025.)
𝑅 = (𝐴 × 𝐵)       (tpos I ↾ 𝑅) = (𝑥𝑅 {𝑥})
 
6-Oct-2025tposideq 48761 Two ways of expressing the swap function. (Contributed by Zhi Wang, 6-Oct-2025.)
(Rel 𝑅 → (tpos I ↾ 𝑅) = (𝑥𝑅 {𝑥}))
 
6-Oct-2025tposresxp 48756 The transposition restricted to a Cartesian product. (Contributed by Zhi Wang, 6-Oct-2025.)
(tpos 𝐹 ↾ (𝐴 × 𝐵)) = tpos (𝐹 ↾ (𝐵 × 𝐴))
 
6-Oct-2025tposres 48755 The transposition restricted to a relation. (Contributed by Zhi Wang, 6-Oct-2025.)
(Rel 𝑅 → (tpos 𝐹𝑅) = tpos (𝐹𝑅))
 
6-Oct-2025tposres3 48754 The transposition restricted to a set. (Contributed by Zhi Wang, 6-Oct-2025.)
(𝜑 → ¬ ∅ ∈ (dom 𝐹𝑅))       (𝜑 → (tpos 𝐹𝑅) = tpos (𝐹𝑅))
 
6-Oct-2025tposres2 48753 The transposition restricted to a set. (Contributed by Zhi Wang, 6-Oct-2025.)
(𝜑 → ¬ ∅ ∈ (dom 𝐹𝑅))       (𝜑 → (tpos 𝐹𝑅) = (tpos 𝐹𝑅))
 
6-Oct-2025tposrescnv 48752 The transposition restricted to a converse is the transposition of the restricted class, with the empty set removed from the domain. Note that the right hand side is a more useful form of (tpos (𝐹𝑅) ↾ (V ∖ {∅})) by df-tpos 8247. (Contributed by Zhi Wang, 6-Oct-2025.)
(tpos 𝐹𝑅) = (𝐹 ∘ (𝑥dom (𝐹𝑅) ↦ {𝑥}))
 
6-Oct-2025tposresg 48751 The transposition restricted to a set. (Contributed by Zhi Wang, 6-Oct-2025.)
(tpos 𝐹𝑅) = ((tpos 𝐹𝑅) ∪ (𝐹 ↾ (𝑅 ∩ {∅})))
 
6-Oct-2025tposres0 48750 The transposition of a set restricted to the empty set is the set restricted to the empty set. See also ressn 6303 and dftpos6 48748 for an alternate proof. (Contributed by Zhi Wang, 6-Oct-2025.)
(tpos 𝐹 ↾ {∅}) = (𝐹 ↾ {∅})
 
6-Oct-2025dmtposss 48749 The domain of tpos 𝐹 is a subset. (Contributed by Zhi Wang, 6-Oct-2025.)
dom tpos 𝐹 ⊆ ((V × V) ∪ {∅})
 
6-Oct-2025dftpos6 48748 Alternate definition of tpos. The second half of the right hand side could apply ressn 6303 and become (𝐹 ↾ {∅}) (Contributed by Zhi Wang, 6-Oct-2025.)
tpos 𝐹 = ((𝐹 ∘ (𝑥dom 𝐹 {𝑥})) ∪ ({∅} × (𝐹 “ {∅})))
 
6-Oct-2025dftpos5 48747 Alternate definition of tpos. (Contributed by Zhi Wang, 6-Oct-2025.)
tpos 𝐹 = (𝐹 ∘ ((𝑥dom 𝐹 {𝑥}) ∪ {⟨∅, ∅⟩}))
 
6-Oct-2025resinsnALT 48746 Restriction to the intersection with a singleton. (Contributed by Zhi Wang, 6-Oct-2025.) (Proof modification is discouraged.) (New usage is discouraged.)
((𝐹 ↾ (𝐴 ∩ {𝐵})) = ∅ ↔ ¬ 𝐵 ∈ (dom 𝐹𝐴))
 
6-Oct-2025resinsn 48745 Restriction to the intersection with a singleton. (Contributed by Zhi Wang, 6-Oct-2025.)
((𝐹 ↾ (𝐴 ∩ {𝐵})) = ∅ ↔ ¬ 𝐵 ∈ (dom 𝐹𝐴))
 
6-Oct-2025resinsnlem 48744 Lemma for resinsnALT 48746. (Contributed by Zhi Wang, 6-Oct-2025.)
(𝜑 → (𝜒 ↔ ¬ 𝜓))    &   𝜑𝜒)       ((𝜑𝜓) ↔ ¬ 𝜒)
 
6-Oct-2025cosni 48719 Composition with an ordered pair singleton. (Contributed by Zhi Wang, 6-Oct-2025.)
𝐵 ∈ V    &   𝐶 ∈ V       (𝐴 ∘ {⟨𝐵, 𝐶⟩}) = ({𝐵} × (𝐴 “ {𝐶}))
 
6-Oct-2025cosn 48718 Composition with an ordered pair singleton. (Contributed by Zhi Wang, 6-Oct-2025.)
((𝐵𝑈𝐶𝑉) → (𝐴 ∘ {⟨𝐵, 𝐶⟩}) = ({𝐵} × (𝐴 “ {𝐶})))
 
6-Oct-2025coxp 48717 Composition with a Cartesian product. (Contributed by Zhi Wang, 6-Oct-2025.)
(𝐴 ∘ (𝐵 × 𝐶)) = (𝐵 × (𝐴𝐶))
 
6-Oct-2025gsumwun 33053 In a commutative ring, a group sum of a word 𝑊 of characters taken from two submonoids 𝐸 and 𝐹 can be written as a simple sum. (Contributed by Thierry Arnoux, 6-Oct-2025.)
+ = (+g𝑀)    &   (𝜑𝑀 ∈ CMnd)    &   (𝜑𝐸 ∈ (SubMnd‘𝑀))    &   (𝜑𝐹 ∈ (SubMnd‘𝑀))    &   (𝜑𝑊 ∈ Word (𝐸𝐹))       (𝜑 → ∃𝑒𝐸𝑓𝐹 (𝑀 Σg 𝑊) = (𝑒 + 𝑓))
 
5-Oct-2025tposidf1o 48760 The swap function, or the twisting map, is bijective. (Contributed by Zhi Wang, 5-Oct-2025.)
tpos ( I ↾ (𝐴 × 𝐵)):(𝐵 × 𝐴)–1-1-onto→(𝐴 × 𝐵)
 
5-Oct-2025tposidres 48759 Swap an ordered pair. (Contributed by Zhi Wang, 5-Oct-2025.)
(𝜑𝑋𝐴)    &   (𝜑𝑌𝐵)       (𝜑 → (𝑌tpos ( I ↾ (𝐴 × 𝐵))𝑋) = ⟨𝑋, 𝑌⟩)
 
5-Oct-2025tposid 48758 Swap an ordered pair. (Contributed by Zhi Wang, 5-Oct-2025.)
(𝑋tpos I 𝑌) = ⟨𝑌, 𝑋
 
5-Oct-2025tposf1o 48757 Condition of a bijective transposition. (Contributed by Zhi Wang, 5-Oct-2025.)
(𝐹:(𝐴 × 𝐵)–1-1-onto𝐶 → tpos 𝐹:(𝐵 × 𝐴)–1-1-onto𝐶)
 
5-Oct-2025cycl3grtri 47887 The vertices of a cycle of size 3 are a triangle in a graph. (Contributed by AV, 5-Oct-2025.)
(𝜑𝐺 ∈ UPGraph)    &   (𝜑𝐹(Cycles‘𝐺)𝑃)    &   (𝜑 → (♯‘𝐹) = 3)       (𝜑 → ran 𝑃 ∈ (GrTriangles‘𝐺))
 
5-Oct-2025cycl3grtrilem 47886 Lemma for cycl3grtri 47887. (Contributed by AV, 5-Oct-2025.)
(((𝐺 ∈ UPGraph ∧ 𝐹(Paths‘𝐺)𝑃) ∧ ((𝑃‘0) = (𝑃‘(♯‘𝐹)) ∧ (♯‘𝐹) = 3)) → ({(𝑃‘0), (𝑃‘1)} ∈ (Edg‘𝐺) ∧ {(𝑃‘0), (𝑃‘2)} ∈ (Edg‘𝐺) ∧ {(𝑃‘1), (𝑃‘2)} ∈ (Edg‘𝐺)))
 
5-Oct-2025zrhcntr 33958 The canonical representation of an integer 𝑁 in a ring 𝑅 is in the centralizer of the ring's multiplicative monoid. (Contributed by Thierry Arnoux, 5-Oct-2025.)
𝑀 = (mulGrp‘𝑅)    &   𝐶 = (Cntr‘𝑀)    &   𝐿 = (ℤRHom‘𝑅)    &   (𝜑𝑅 ∈ Ring)    &   (𝜑𝑁 ∈ ℤ)       (𝜑 → (𝐿𝑁) ∈ 𝐶)
 
5-Oct-2025zrhneg 33957 The canonical homomorphism from the integers to a ring 𝑅 maps additive inverses to additive inverses. (Contributed by Thierry Arnoux, 5-Oct-2025.)
𝐿 = (ℤRHom‘𝑅)    &   𝐼 = (invg𝑅)    &   (𝜑𝑅 ∈ Ring)    &   (𝜑𝑁 ∈ ℤ)       (𝜑 → (𝐿‘-𝑁) = (𝐼‘(𝐿𝑁)))
 
5-Oct-2025elrgspn 33238 Membership in the subring generated by the subset 𝐴. An element 𝑋 lies in that subring if and only if 𝑋 is a linear combination with integer coefficients of products of elements of 𝐴. (Contributed by Thierry Arnoux, 5-Oct-2025.)
𝐵 = (Base‘𝑅)    &   𝑀 = (mulGrp‘𝑅)    &    · = (.g𝑅)    &   𝑁 = (RingSpan‘𝑅)    &   𝐹 = {𝑓 ∈ (ℤ ↑m Word 𝐴) ∣ 𝑓 finSupp 0}    &   (𝜑𝑅 ∈ Ring)    &   (𝜑𝐴𝐵)       (𝜑 → (𝑋 ∈ (𝑁𝐴) ↔ ∃𝑔𝐹 𝑋 = (𝑅 Σg (𝑤 ∈ Word 𝐴 ↦ ((𝑔𝑤) · (𝑀 Σg 𝑤))))))
 
5-Oct-2025elrgspnlem4 33237 Lemma for elrgspn 33238. (Contributed by Thierry Arnoux, 5-Oct-2025.)
𝐵 = (Base‘𝑅)    &   𝑀 = (mulGrp‘𝑅)    &    · = (.g𝑅)    &   𝑁 = (RingSpan‘𝑅)    &   𝐹 = {𝑓 ∈ (ℤ ↑m Word 𝐴) ∣ 𝑓 finSupp 0}    &   (𝜑𝑅 ∈ Ring)    &   (𝜑𝐴𝐵)    &   𝑆 = ran (𝑔𝐹 ↦ (𝑅 Σg (𝑤 ∈ Word 𝐴 ↦ ((𝑔𝑤) · (𝑀 Σg 𝑤)))))       (𝜑 → (𝑁𝐴) = 𝑆)
 
5-Oct-2025elrgspnlem3 33236 Lemma for elrgspn 33238. (Contributed by Thierry Arnoux, 5-Oct-2025.)
𝐵 = (Base‘𝑅)    &   𝑀 = (mulGrp‘𝑅)    &    · = (.g𝑅)    &   𝑁 = (RingSpan‘𝑅)    &   𝐹 = {𝑓 ∈ (ℤ ↑m Word 𝐴) ∣ 𝑓 finSupp 0}    &   (𝜑𝑅 ∈ Ring)    &   (𝜑𝐴𝐵)    &   𝑆 = ran (𝑔𝐹 ↦ (𝑅 Σg (𝑤 ∈ Word 𝐴 ↦ ((𝑔𝑤) · (𝑀 Σg 𝑤)))))       (𝜑𝐴𝑆)
 
5-Oct-2025elrgspnlem2 33235 Lemma for elrgspn 33238. (Contributed by Thierry Arnoux, 5-Oct-2025.)
𝐵 = (Base‘𝑅)    &   𝑀 = (mulGrp‘𝑅)    &    · = (.g𝑅)    &   𝑁 = (RingSpan‘𝑅)    &   𝐹 = {𝑓 ∈ (ℤ ↑m Word 𝐴) ∣ 𝑓 finSupp 0}    &   (𝜑𝑅 ∈ Ring)    &   (𝜑𝐴𝐵)    &   𝑆 = ran (𝑔𝐹 ↦ (𝑅 Σg (𝑤 ∈ Word 𝐴 ↦ ((𝑔𝑤) · (𝑀 Σg 𝑤)))))       (𝜑𝑆 ∈ (SubRing‘𝑅))
 
5-Oct-2025elrgspnlem1 33234 Lemma for elrgspn 33238. (Contributed by Thierry Arnoux, 5-Oct-2025.)
𝐵 = (Base‘𝑅)    &   𝑀 = (mulGrp‘𝑅)    &    · = (.g𝑅)    &   𝑁 = (RingSpan‘𝑅)    &   𝐹 = {𝑓 ∈ (ℤ ↑m Word 𝐴) ∣ 𝑓 finSupp 0}    &   (𝜑𝑅 ∈ Ring)    &   (𝜑𝐴𝐵)    &   𝑆 = ran (𝑔𝐹 ↦ (𝑅 Σg (𝑤 ∈ Word 𝐴 ↦ ((𝑔𝑤) · (𝑀 Σg 𝑤)))))       (𝜑𝑆 ∈ (SubGrp‘𝑅))
 
5-Oct-2025gsumwrd2dccat 33055 Rewrite a sum ranging over pairs of words as a sum of sums over concatenated subwords. (Contributed by Thierry Arnoux, 5-Oct-2025.)
𝐵 = (Base‘𝑀)    &   𝑍 = (0g𝑀)    &   (𝜑𝐹:(Word 𝐴 × Word 𝐴)⟶𝐵)    &   (𝜑𝐹 finSupp 𝑍)    &   (𝜑𝑀 ∈ CMnd)    &   (𝜑𝐴𝐵)       (𝜑 → (𝑀 Σg 𝐹) = (𝑀 Σg (𝑤 ∈ Word 𝐴 ↦ (𝑀 Σg (𝑗 ∈ (0...(♯‘𝑤)) ↦ (𝐹‘⟨(𝑤 prefix 𝑗), (𝑤 substr ⟨𝑗, (♯‘𝑤)⟩)⟩))))))
 
5-Oct-2025gsumwrd2dccatlem 33054 Lemma for gsumwrd2dccat 33055. Expose a bijection 𝐹 between (ordered) pairs of words and words with a length of a subword. (Contributed by Thierry Arnoux, 5-Oct-2025.)
𝑈 = 𝑤 ∈ Word 𝐴({𝑤} × (0...(♯‘𝑤)))    &   𝐹 = (𝑎 ∈ (Word 𝐴 × Word 𝐴) ↦ ⟨((1st𝑎) ++ (2nd𝑎)), (♯‘(1st𝑎))⟩)    &   𝐺 = (𝑏𝑈 ↦ ⟨((1st𝑏) prefix (2nd𝑏)), ((1st𝑏) substr ⟨(2nd𝑏), (♯‘(1st𝑏))⟩)⟩)    &   (𝜑𝐴𝑉)       (𝜑 → (𝐹:(Word 𝐴 × Word 𝐴)–1-1-onto𝑈𝐹 = 𝐺))
 
5-Oct-2025gsummulgc2 33048 A finite group sum multiplied by a constant. (Contributed by Thierry Arnoux, 5-Oct-2025.)
𝐵 = (Base‘𝑀)    &    · = (.g𝑀)    &   (𝜑𝑀 ∈ Grp)    &   (𝜑𝐴 ∈ Fin)    &   (𝜑𝑌𝐵)    &   ((𝜑𝑘𝐴) → 𝑋 ∈ ℤ)       (𝜑 → (𝑀 Σg (𝑘𝐴 ↦ (𝑋 · 𝑌))) = (Σ𝑘𝐴 𝑋 · 𝑌))
 
5-Oct-2025gsumzrsum 33047 Relate a group sum on ring to a finite sum on the complex numbers. See also gsumfsum 21444. (Contributed by Thierry Arnoux, 5-Oct-2025.)
(𝜑𝐴 ∈ Fin)    &   ((𝜑𝑘𝐴) → 𝐵 ∈ ℤ)       (𝜑 → (ℤring Σg (𝑘𝐴𝐵)) = Σ𝑘𝐴 𝐵)
 
5-Oct-2025gsumfs2d 33043 Express a finite sum over a two-dimensional range as a double sum. Version of gsum2d 19986 using finite support. (Contributed by Thierry Arnoux, 5-Oct-2025.)
𝑥𝜑    &   𝐵 = (Base‘𝑊)    &    0 = (0g𝑊)    &   (𝜑 → Rel 𝐴)    &   (𝜑𝐹 finSupp 0 )    &   (𝜑𝑊 ∈ CMnd)    &   (𝜑𝐹:𝐴𝐵)    &   (𝜑𝐴𝑋)       (𝜑 → (𝑊 Σg 𝐹) = (𝑊 Σg (𝑥 ∈ dom 𝐴 ↦ (𝑊 Σg (𝑦 ∈ (𝐴 “ {𝑥}) ↦ (𝐹‘⟨𝑥, 𝑦⟩))))))
 
5-Oct-2025gsummptfsf1o 33042 Re-index a finite group sum using a bijection. A version of gsummptf1o 19977 expressed using finite support. (Contributed by Thierry Arnoux, 5-Oct-2025.)
𝑥𝐻    &   𝐵 = (Base‘𝐺)    &    0 = (0g𝐺)    &   (𝑥 = 𝐸𝐶 = 𝐻)    &   (𝜑𝐺 ∈ CMnd)    &   (𝜑𝐴𝑉)    &   (𝜑 → (𝑥𝐴𝐶) finSupp 0 )    &   (𝜑𝐹𝐵)    &   ((𝜑𝑥𝐴) → 𝐶𝐹)    &   ((𝜑𝑦𝐷) → 𝐸𝐴)    &   ((𝜑𝑥𝐴) → ∃!𝑦𝐷 𝑥 = 𝐸)       (𝜑 → (𝐺 Σg (𝑥𝐴𝐶)) = (𝐺 Σg (𝑦𝐷𝐻)))
 
5-Oct-2025subgmulgcld 33033 Closure of the group multiple within a subgroup. (Contributed by Thierry Arnoux, 5-Oct-2025.)
𝐵 = (Base‘𝑅)    &    · = (.g𝑅)    &   (𝜑𝑅 ∈ Grp)    &   (𝜑𝐴𝑆)    &   (𝜑𝑆 ∈ (SubGrp‘𝑅))    &   (𝜑𝑍 ∈ ℤ)       (𝜑 → (𝑍 · 𝐴) ∈ 𝑆)
 
5-Oct-2025fmptunsnop 32698 Two ways to express a function with a value replaced. (Contributed by Thierry Arnoux, 5-Oct-2025.)
(𝜑𝐹 Fn 𝐴)    &   (𝜑𝑋𝐴)    &   (𝜑𝑌𝐵)       (𝜑 → (𝑥𝐴 ↦ if(𝑥 = 𝑋, 𝑌, (𝐹𝑥))) = ((𝐹 ↾ (𝐴 ∖ {𝑋})) ∪ {⟨𝑋, 𝑌⟩}))
 
5-Oct-2025fdifsupp 32683 Express the support of a function 𝐹 outside of 𝐵 in two different ways. (Contributed by Thierry Arnoux, 5-Oct-2025.)
(𝜑𝐴𝑉)    &   (𝜑𝑍𝑊)    &   (𝜑𝐹 Fn 𝐴)       (𝜑 → ((𝐹 ↾ (𝐴𝐵)) supp 𝑍) = ((𝐹 supp 𝑍) ∖ 𝐵))
 
5-Oct-2025suppun2 32682 The support of a union is the union of the supports. (Contributed by Thierry Arnoux, 5-Oct-2025.)
(𝜑𝐹𝑉)    &   (𝜑𝐺𝑊)    &   (𝜑𝑍𝑋)       (𝜑 → ((𝐹𝐺) supp 𝑍) = ((𝐹 supp 𝑍) ∪ (𝐺 supp 𝑍)))
 
5-Oct-2025fisuppov1 32681 Formula building theorem for finite support: operator with left annihilator. (Contributed by Thierry Arnoux, 5-Oct-2025.)
(𝜑𝑍𝑉)    &   (𝜑0𝑋)    &   (𝜑𝐴𝑊)    &   (𝜑𝐷𝐴)    &   ((𝜑𝑥𝐷) → 𝐵𝑌)    &   (𝜑𝐹:𝐴𝐸)    &   (𝜑𝐹 finSupp 0 )    &   ((𝜑𝑦𝑌) → ( 0 𝑂𝑦) = 𝑍)       (𝜑 → (𝑥𝐷 ↦ ((𝐹𝑥)𝑂𝐵)) finSupp 𝑍)
 
5-Oct-2025elsuppfnd 32680 Deduce membership in the support of a function. (Contributed by Thierry Arnoux, 5-Oct-2025.)
(𝜑𝐹 Fn 𝐴)    &   (𝜑𝐴𝑉)    &   (𝜑𝑍𝑊)    &   (𝜑𝑋𝐴)    &   (𝜑 → (𝐹𝑋) ≠ 𝑍)       (𝜑𝑋 ∈ (𝐹 supp 𝑍))
 
5-Oct-2025dmdju 32646 Domain of a disjoint union of non-empty sets. (Contributed by Thierry Arnoux, 5-Oct-2025.)
((𝜑𝑥𝐴) → 𝐵 ≠ ∅)       (𝜑 → dom 𝑥𝐴 ({𝑥} × 𝐵) = 𝐴)
 
5-Oct-2025simp-12r 32458 Simplification of a conjunction. (Contributed by Thierry Arnoux, 5-Oct-2025.)
(((((((((((((𝜑𝜓) ∧ 𝜒) ∧ 𝜃) ∧ 𝜏) ∧ 𝜂) ∧ 𝜁) ∧ 𝜎) ∧ 𝜌) ∧ 𝜇) ∧ 𝜆) ∧ 𝜅) ∧ 𝜈) → 𝜓)
 
5-Oct-2025simp-12l 32457 Simplification of a conjunction. (Contributed by Thierry Arnoux, 5-Oct-2025.)
(((((((((((((𝜑𝜓) ∧ 𝜒) ∧ 𝜃) ∧ 𝜏) ∧ 𝜂) ∧ 𝜁) ∧ 𝜎) ∧ 𝜌) ∧ 𝜇) ∧ 𝜆) ∧ 𝜅) ∧ 𝜈) → 𝜑)
 
5-Oct-2025cyclnumvtx 29810 The number of vertices of a (non-trivial) cycle is the number of edges in the cycle. (Contributed by AV, 5-Oct-2025.)
((1 ≤ (♯‘𝐹) ∧ 𝐹(Cycles‘𝐺)𝑃) → (♯‘ran 𝑃) = (♯‘𝐹))
 
4-Oct-2025dfpth2 29739 Alternate definition for a pair of classes/functions to be a path (in an undirected graph). (Contributed by AV, 4-Oct-2025.)
(𝐹(Paths‘𝐺)𝑃 ↔ (𝐹(Trails‘𝐺)𝑃 ∧ Fun (𝑃 ↾ (1...(♯‘𝐹))) ∧ (𝑃‘0) ∉ (𝑃 “ (1..^(♯‘𝐹)))))
 
4-Oct-2025f1imadifssran 6650 Condition for the range of a one-to-one function to be the range of one its restrictions. Variant of imadifssran 6169. (Contributed by AV, 4-Oct-2025.)
(Fun 𝐹 → ((𝐹 “ (dom 𝐹𝐴)) ⊆ ran (𝐹𝐴) → ran 𝐹 = ran (𝐹𝐴)))
 
4-Oct-2025imadifssran 6169 Condition for the range of a relation to be the range of one its restrictions. (Contributed by AV, 4-Oct-2025.)
((Rel 𝐹𝐴 ⊆ dom 𝐹) → ((𝐹 “ (dom 𝐹𝐴)) ⊆ ran (𝐹𝐴) → ran 𝐹 = ran (𝐹𝐴)))
 
3-Oct-2025fucofunc 49027 The functor composition bifunctor is a functor. See also fucofunca 49028.

However, it is unlikely the unique functor compatible with the functor composition. As a counterexample, let 𝐶 and 𝐷 be terminal categories (categories of one object and one morphism, df-termc 49093), for example, (SetCat‘1o) (the trivial category, setc1oterm 49107), and 𝐸 be a category with two objects equipped with only two non-identity morphisms 𝑓 and 𝑔, pointing in the same direction. It is possible to map the ordered pair of natural transformations 𝑎, 𝑖, where 𝑎 sends to 𝑓 and 𝑖 is the identity natural transformation, to the other natural transformation 𝑏 sending to 𝑔, i.e., define the morphism part 𝑃 such that (𝑎(𝑈𝑃𝑉)𝑖) = 𝑏 such that (𝑏𝑋) = 𝑔 given hypotheses of fuco23 49009. Such construction should be provable as a functor.

Given any 𝑃, it is a morphism part of a functor compatible with the object part, i.e., the functor composition, i.e., the restriction of func, iff both of the following hold.

1. It has the same form as df-fuco 48985 up to fuco23 49009, but ((𝐵(𝑈𝑃𝑉)𝐴)‘𝑋) might be mapped to a different morphism in category 𝐸. See fucofulem2 48979 for some insights.

2. fuco22nat 49014, fucoid 49016, and fucoco 49025 are satisfied.

(Contributed by Zhi Wang, 3-Oct-2025.)

𝑇 = ((𝐷 FuncCat 𝐸) ×c (𝐶 FuncCat 𝐷))    &   𝑄 = (𝐶 FuncCat 𝐸)    &   (𝜑 → (⟨𝐶, 𝐷⟩ ∘F 𝐸) = ⟨𝑂, 𝑃⟩)    &   (𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)    &   (𝜑𝐸 ∈ Cat)       (𝜑𝑂(𝑇 Func 𝑄)𝑃)
 
3-Oct-2025fucoco2 49026 Composition in the source category is mapped to composition in the target. See also fucoco 49025. (Contributed by Zhi Wang, 3-Oct-2025.)
𝑇 = ((𝐷 FuncCat 𝐸) ×c (𝐶 FuncCat 𝐷))    &   𝑄 = (𝐶 FuncCat 𝐸)    &   (𝜑 → (⟨𝐶, 𝐷⟩ ∘F 𝐸) = ⟨𝑂, 𝑃⟩)    &    · = (comp‘𝑇)    &    = (comp‘𝑄)    &   (𝜑𝑊 = ((𝐷 Func 𝐸) × (𝐶 Func 𝐷)))    &   (𝜑𝑋𝑊)    &   (𝜑𝑌𝑊)    &   (𝜑𝑍𝑊)    &   𝐽 = (Hom ‘𝑇)    &   (𝜑𝐴 ∈ (𝑋𝐽𝑌))    &   (𝜑𝐵 ∈ (𝑌𝐽𝑍))       (𝜑 → ((𝑋𝑃𝑍)‘(𝐵(⟨𝑋, 𝑌· 𝑍)𝐴)) = (((𝑌𝑃𝑍)‘𝐵)(⟨(𝑂𝑋), (𝑂𝑌)⟩ (𝑂𝑍))((𝑋𝑃𝑌)‘𝐴)))
 
3-Oct-2025fucoco 49025 Composition in the source category is mapped to composition in the target. See also fucoco2 49026. (Contributed by Zhi Wang, 3-Oct-2025.)
(𝜑𝑅 ∈ (𝐹(𝐷 Nat 𝐸)𝐾))    &   (𝜑𝑆 ∈ (𝐺(𝐶 Nat 𝐷)𝐿))    &   (𝜑𝑈 ∈ (𝐾(𝐷 Nat 𝐸)𝑀))    &   (𝜑𝑉 ∈ (𝐿(𝐶 Nat 𝐷)𝑁))    &   (𝜑 → (⟨𝐶, 𝐷⟩ ∘F 𝐸) = ⟨𝑂, 𝑃⟩)    &   (𝜑𝑋 = ⟨𝐹, 𝐺⟩)    &   (𝜑𝑌 = ⟨𝐾, 𝐿⟩)    &   (𝜑𝑍 = ⟨𝑀, 𝑁⟩)    &   (𝜑𝐴 = ⟨𝑅, 𝑆⟩)    &   (𝜑𝐵 = ⟨𝑈, 𝑉⟩)    &   𝑄 = (𝐶 FuncCat 𝐸)    &    = (comp‘𝑄)    &   𝑇 = ((𝐷 FuncCat 𝐸) ×c (𝐶 FuncCat 𝐷))    &    · = (comp‘𝑇)       (𝜑 → ((𝑋𝑃𝑍)‘(𝐵(⟨𝑋, 𝑌· 𝑍)𝐴)) = (((𝑌𝑃𝑍)‘𝐵)(⟨(𝑂𝑋), (𝑂𝑌)⟩ (𝑂𝑍))((𝑋𝑃𝑌)‘𝐴)))
 
3-Oct-2025fucocolem3 49023 Lemma for fucoco 49025. The composed natural transformations are mapped to composition of 4 natural transformations. (Contributed by Zhi Wang, 3-Oct-2025.)
(𝜑𝑅 ∈ (𝐹(𝐷 Nat 𝐸)𝐾))    &   (𝜑𝑆 ∈ (𝐺(𝐶 Nat 𝐷)𝐿))    &   (𝜑𝑈 ∈ (𝐾(𝐷 Nat 𝐸)𝑀))    &   (𝜑𝑉 ∈ (𝐿(𝐶 Nat 𝐷)𝑁))    &   (𝜑 → (⟨𝐶, 𝐷⟩ ∘F 𝐸) = ⟨𝑂, 𝑃⟩)    &   (𝜑𝑋 = ⟨𝐹, 𝐺⟩)    &   (𝜑𝑌 = ⟨𝐾, 𝐿⟩)    &   (𝜑𝑍 = ⟨𝑀, 𝑁⟩)    &   (𝜑𝐴 = ⟨𝑅, 𝑆⟩)    &   (𝜑𝐵 = ⟨𝑈, 𝑉⟩)    &   𝑇 = ((𝐷 FuncCat 𝐸) ×c (𝐶 FuncCat 𝐷))    &    · = (comp‘𝑇)    &    = (comp‘𝐷)       (𝜑 → ((𝑋𝑃𝑍)‘(𝐵(⟨𝑋, 𝑌· 𝑍)𝐴)) = (𝑥 ∈ (Base‘𝐶) ↦ ((𝑈‘((1st𝑁)‘𝑥))(⟨((1st𝐹)‘((1st𝐺)‘𝑥)), ((1st𝐾)‘((1st𝑁)‘𝑥))⟩(comp‘𝐸)((1st𝑀)‘((1st𝑁)‘𝑥)))(((𝑅‘((1st𝑁)‘𝑥))(⟨((1st𝐹)‘((1st𝐿)‘𝑥)), ((1st𝐹)‘((1st𝑁)‘𝑥))⟩(comp‘𝐸)((1st𝐾)‘((1st𝑁)‘𝑥)))((((1st𝐿)‘𝑥)(2nd𝐹)((1st𝑁)‘𝑥))‘(𝑉𝑥)))(⟨((1st𝐹)‘((1st𝐺)‘𝑥)), ((1st𝐹)‘((1st𝐿)‘𝑥))⟩(comp‘𝐸)((1st𝐾)‘((1st𝑁)‘𝑥)))((((1st𝐺)‘𝑥)(2nd𝐹)((1st𝐿)‘𝑥))‘(𝑆𝑥))))))
 
3-Oct-2025fuco23a 49020 The morphism part of the functor composition bifunctor. An alternate definition of F. See also fuco23 49009. (Contributed by Zhi Wang, 3-Oct-2025.)
(𝜑𝐴 ∈ (⟨𝐹, 𝐺⟩(𝐶 Nat 𝐷)⟨𝑀, 𝑁⟩))    &   (𝜑𝐵 ∈ (⟨𝐾, 𝐿⟩(𝐷 Nat 𝐸)⟨𝑅, 𝑆⟩))    &   (𝜑𝑋 ∈ (Base‘𝐶))    &   (𝜑 → (⟨𝐶, 𝐷⟩ ∘F 𝐸) = ⟨𝑂, 𝑃⟩)    &   (𝜑𝑈 = ⟨⟨𝐾, 𝐿⟩, ⟨𝐹, 𝐺⟩⟩)    &   (𝜑𝑉 = ⟨⟨𝑅, 𝑆⟩, ⟨𝑀, 𝑁⟩⟩)    &   (𝜑 = (⟨(𝐾‘(𝐹𝑋)), (𝑅‘(𝐹𝑋))⟩(comp‘𝐸)(𝑅‘(𝑀𝑋))))       (𝜑 → ((𝐵(𝑈𝑃𝑉)𝐴)‘𝑋) = ((((𝐹𝑋)𝑆(𝑀𝑋))‘(𝐴𝑋)) (𝐵‘(𝐹𝑋))))
 
3-Oct-2025fuco23alem 49019 The naturality property (nati 17999) in category 𝐸. (Contributed by Zhi Wang, 3-Oct-2025.)
(𝜑𝐴 ∈ (⟨𝐹, 𝐺⟩(𝐶 Nat 𝐷)⟨𝑀, 𝑁⟩))    &   (𝜑𝐵 ∈ (⟨𝐾, 𝐿⟩(𝐷 Nat 𝐸)⟨𝑅, 𝑆⟩))    &   (𝜑𝑋 ∈ (Base‘𝐶))    &    · = (comp‘𝐸)       (𝜑 → ((𝐵‘(𝑀𝑋))(⟨(𝐾‘(𝐹𝑋)), (𝐾‘(𝑀𝑋))⟩ · (𝑅‘(𝑀𝑋)))(((𝐹𝑋)𝐿(𝑀𝑋))‘(𝐴𝑋))) = ((((𝐹𝑋)𝑆(𝑀𝑋))‘(𝐴𝑋))(⟨(𝐾‘(𝐹𝑋)), (𝑅‘(𝐹𝑋))⟩ · (𝑅‘(𝑀𝑋)))(𝐵‘(𝐹𝑋))))
 
3-Oct-2025fuco11idx 49003 The identity morphism of the mapped object. (Contributed by Zhi Wang, 3-Oct-2025.)
(𝜑 → (⟨𝐶, 𝐷⟩ ∘F 𝐸) = ⟨𝑂, 𝑃⟩)    &   (𝜑𝐹(𝐶 Func 𝐷)𝐺)    &   (𝜑𝐾(𝐷 Func 𝐸)𝐿)    &   (𝜑𝑈 = ⟨⟨𝐾, 𝐿⟩, ⟨𝐹, 𝐺⟩⟩)    &   𝑄 = (𝐶 FuncCat 𝐸)    &   𝐼 = (Id‘𝑄)    &    1 = (Id‘𝐸)    &   (𝜑𝑋 ∈ (Base‘𝐶))       (𝜑 → ((𝐼‘(𝑂𝑈))‘𝑋) = ( 1 ‘(𝐾‘(𝐹𝑋))))
 
3-Oct-2025fuco112xa 49001 The object part of the functor composition bifunctor maps two functors to their composition, expressed explicitly for the morphism part of the composed functor. A morphism is mapped by two functors in succession. (Contributed by Zhi Wang, 3-Oct-2025.)
(𝜑 → (⟨𝐶, 𝐷⟩ ∘F 𝐸) = ⟨𝑂, 𝑃⟩)    &   (𝜑𝐹(𝐶 Func 𝐷)𝐺)    &   (𝜑𝐾(𝐷 Func 𝐸)𝐿)    &   (𝜑𝑈 = ⟨⟨𝐾, 𝐿⟩, ⟨𝐹, 𝐺⟩⟩)    &   (𝜑𝑋 ∈ (Base‘𝐶))    &   (𝜑𝑌 ∈ (Base‘𝐶))    &   (𝜑𝐴 ∈ (𝑋(Hom ‘𝐶)𝑌))       (𝜑 → ((𝑋(2nd ‘(𝑂𝑈))𝑌)‘𝐴) = (((𝐹𝑋)𝐿(𝐹𝑌))‘((𝑋𝐺𝑌)‘𝐴)))
 
3-Oct-2025fuco112x 49000 The object part of the functor composition bifunctor maps two functors to their composition, expressed explicitly for the morphism part of the composed functor. (Contributed by Zhi Wang, 3-Oct-2025.)
(𝜑 → (⟨𝐶, 𝐷⟩ ∘F 𝐸) = ⟨𝑂, 𝑃⟩)    &   (𝜑𝐹(𝐶 Func 𝐷)𝐺)    &   (𝜑𝐾(𝐷 Func 𝐸)𝐿)    &   (𝜑𝑈 = ⟨⟨𝐾, 𝐿⟩, ⟨𝐹, 𝐺⟩⟩)    &   (𝜑𝑋 ∈ (Base‘𝐶))    &   (𝜑𝑌 ∈ (Base‘𝐶))       (𝜑 → (𝑋(2nd ‘(𝑂𝑈))𝑌) = (((𝐹𝑋)𝐿(𝐹𝑌)) ∘ (𝑋𝐺𝑌)))
 
3-Oct-2025fuco111x 48999 The object part of the functor composition bifunctor maps two functors to their composition, expressed explicitly for the object part of the composed functor. An object is mapped by two functors in succession. (Contributed by Zhi Wang, 3-Oct-2025.)
(𝜑 → (⟨𝐶, 𝐷⟩ ∘F 𝐸) = ⟨𝑂, 𝑃⟩)    &   (𝜑𝐹(𝐶 Func 𝐷)𝐺)    &   (𝜑𝐾(𝐷 Func 𝐸)𝐿)    &   (𝜑𝑈 = ⟨⟨𝐾, 𝐿⟩, ⟨𝐹, 𝐺⟩⟩)    &   (𝜑𝑋 ∈ (Base‘𝐶))       (𝜑 → ((1st ‘(𝑂𝑈))‘𝑋) = (𝐾‘(𝐹𝑋)))
 
3-Oct-2025fuco112 48997 The object part of the functor composition bifunctor maps two functors to their composition, expressed explicitly for the morphism part of the composed functor. (Contributed by Zhi Wang, 3-Oct-2025.)
(𝜑 → (⟨𝐶, 𝐷⟩ ∘F 𝐸) = ⟨𝑂, 𝑃⟩)    &   (𝜑𝐹(𝐶 Func 𝐷)𝐺)    &   (𝜑𝐾(𝐷 Func 𝐸)𝐿)    &   (𝜑𝑈 = ⟨⟨𝐾, 𝐿⟩, ⟨𝐹, 𝐺⟩⟩)    &   𝐵 = (Base‘𝐶)       (𝜑 → (2nd ‘(𝑂𝑈)) = (𝑥𝐵, 𝑦𝐵 ↦ (((𝐹𝑥)𝐿(𝐹𝑦)) ∘ (𝑥𝐺𝑦))))
 
3-Oct-2025resf1ext2b 7953 Extension of an injection which is a restriction of a function. (Contributed by AV, 3-Oct-2025.)
((𝐹:𝐴𝐵𝑋 ∈ (𝐴𝐶) ∧ 𝐶𝐴) → ((Fun (𝐹𝐶) ∧ (𝐹𝑋) ∉ (𝐹𝐶)) ↔ Fun (𝐹 ↾ (𝐶 ∪ {𝑋}))))
 
3-Oct-2025resf1extb 7952 Extension of an injection which is a restriction of a function. (Contributed by AV, 3-Oct-2025.)
((𝐹:𝐴𝐵𝑋 ∈ (𝐴𝐶) ∧ 𝐶𝐴) → (((𝐹𝐶):𝐶1-1𝐵 ∧ (𝐹𝑋) ∉ (𝐹𝐶)) ↔ (𝐹 ↾ (𝐶 ∪ {𝑋})):(𝐶 ∪ {𝑋})–1-1𝐵))
 
2-Oct-2025fucocolem4 49024 Lemma for fucoco 49025. The composed natural transformations are mapped to composition of 4 natural transformations. (Contributed by Zhi Wang, 2-Oct-2025.)
(𝜑𝑅 ∈ (𝐹(𝐷 Nat 𝐸)𝐾))    &   (𝜑𝑆 ∈ (𝐺(𝐶 Nat 𝐷)𝐿))    &   (𝜑𝑈 ∈ (𝐾(𝐷 Nat 𝐸)𝑀))    &   (𝜑𝑉 ∈ (𝐿(𝐶 Nat 𝐷)𝑁))    &   (𝜑 → (⟨𝐶, 𝐷⟩ ∘F 𝐸) = ⟨𝑂, 𝑃⟩)    &   (𝜑𝑋 = ⟨𝐹, 𝐺⟩)    &   (𝜑𝑌 = ⟨𝐾, 𝐿⟩)    &   (𝜑𝑍 = ⟨𝑀, 𝑁⟩)    &   (𝜑𝐴 = ⟨𝑅, 𝑆⟩)    &   (𝜑𝐵 = ⟨𝑈, 𝑉⟩)    &   𝑄 = (𝐶 FuncCat 𝐸)    &    = (comp‘𝑄)       (𝜑 → (((𝑌𝑃𝑍)‘𝐵)(⟨(𝑂𝑋), (𝑂𝑌)⟩ (𝑂𝑍))((𝑋𝑃𝑌)‘𝐴)) = (𝑥 ∈ (Base‘𝐶) ↦ (((𝑈‘((1st𝑁)‘𝑥))(⟨((1st𝐾)‘((1st𝐿)‘𝑥)), ((1st𝐾)‘((1st𝑁)‘𝑥))⟩(comp‘𝐸)((1st𝑀)‘((1st𝑁)‘𝑥)))((((1st𝐿)‘𝑥)(2nd𝐾)((1st𝑁)‘𝑥))‘(𝑉𝑥)))(⟨((1st𝐹)‘((1st𝐺)‘𝑥)), ((1st𝐾)‘((1st𝐿)‘𝑥))⟩(comp‘𝐸)((1st𝑀)‘((1st𝑁)‘𝑥)))((𝑅‘((1st𝐿)‘𝑥))(⟨((1st𝐹)‘((1st𝐺)‘𝑥)), ((1st𝐹)‘((1st𝐿)‘𝑥))⟩(comp‘𝐸)((1st𝐾)‘((1st𝐿)‘𝑥)))((((1st𝐺)‘𝑥)(2nd𝐹)((1st𝐿)‘𝑥))‘(𝑆𝑥))))))
 
2-Oct-2025fucocolem2 49022 Lemma for fucoco 49025. The composed natural transformations are mapped to composition of 4 natural transformations. (Contributed by Zhi Wang, 2-Oct-2025.)
(𝜑𝑅 ∈ (𝐹(𝐷 Nat 𝐸)𝐾))    &   (𝜑𝑆 ∈ (𝐺(𝐶 Nat 𝐷)𝐿))    &   (𝜑𝑈 ∈ (𝐾(𝐷 Nat 𝐸)𝑀))    &   (𝜑𝑉 ∈ (𝐿(𝐶 Nat 𝐷)𝑁))    &   (𝜑 → (⟨𝐶, 𝐷⟩ ∘F 𝐸) = ⟨𝑂, 𝑃⟩)    &   (𝜑𝑋 = ⟨𝐹, 𝐺⟩)    &   (𝜑𝑌 = ⟨𝐾, 𝐿⟩)    &   (𝜑𝑍 = ⟨𝑀, 𝑁⟩)    &   (𝜑𝐴 = ⟨𝑅, 𝑆⟩)    &   (𝜑𝐵 = ⟨𝑈, 𝑉⟩)    &   𝑇 = ((𝐷 FuncCat 𝐸) ×c (𝐶 FuncCat 𝐷))    &    · = (comp‘𝑇)    &    = (comp‘𝐷)       (𝜑 → ((𝑋𝑃𝑍)‘(𝐵(⟨𝑋, 𝑌· 𝑍)𝐴)) = (𝑥 ∈ (Base‘𝐶) ↦ (((𝑈‘((1st𝑁)‘𝑥))(⟨((1st𝐹)‘((1st𝑁)‘𝑥)), ((1st𝐾)‘((1st𝑁)‘𝑥))⟩(comp‘𝐸)((1st𝑀)‘((1st𝑁)‘𝑥)))(𝑅‘((1st𝑁)‘𝑥)))(⟨((1st𝐹)‘((1st𝐺)‘𝑥)), ((1st𝐹)‘((1st𝑁)‘𝑥))⟩(comp‘𝐸)((1st𝑀)‘((1st𝑁)‘𝑥)))((((1st𝐺)‘𝑥)(2nd𝐹)((1st𝑁)‘𝑥))‘((𝑉𝑥)(⟨((1st𝐺)‘𝑥), ((1st𝐿)‘𝑥)⟩ ((1st𝑁)‘𝑥))(𝑆𝑥))))))
 
2-Oct-2025fucocolem1 49021 Lemma for fucoco 49025. Associativity for morphisms in category 𝐸. To simply put, ((𝑎 · 𝑏) · (𝑐 · 𝑑)) = (𝑎 · ((𝑏 · 𝑐) · 𝑑)) for morphism compositions. (Contributed by Zhi Wang, 2-Oct-2025.)
(𝜑𝑅 ∈ (𝐹(𝐷 Nat 𝐸)𝐾))    &   (𝜑𝑆 ∈ (𝐺(𝐶 Nat 𝐷)𝐿))    &   (𝜑𝑈 ∈ (𝐾(𝐷 Nat 𝐸)𝑀))    &   (𝜑𝑉 ∈ (𝐿(𝐶 Nat 𝐷)𝑁))    &   (𝜑𝑋 ∈ (Base‘𝐶))    &   (𝜑𝑃 ∈ (𝐷 Func 𝐸))    &   (𝜑𝑄 ∈ (𝐶 Func 𝐷))    &   (𝜑𝐴 ∈ (((1st𝑃)‘((1st𝑄)‘𝑋))(Hom ‘𝐸)((1st𝐾)‘((1st𝑁)‘𝑋))))    &   (𝜑𝐵 ∈ (((1st𝐹)‘((1st𝐿)‘𝑋))(Hom ‘𝐸)((1st𝑃)‘((1st𝑄)‘𝑋))))       (𝜑 → (((𝑈‘((1st𝑁)‘𝑋))(⟨((1st𝑃)‘((1st𝑄)‘𝑋)), ((1st𝐾)‘((1st𝑁)‘𝑋))⟩(comp‘𝐸)((1st𝑀)‘((1st𝑁)‘𝑋)))𝐴)(⟨((1st𝐹)‘((1st𝐺)‘𝑋)), ((1st𝑃)‘((1st𝑄)‘𝑋))⟩(comp‘𝐸)((1st𝑀)‘((1st𝑁)‘𝑋)))(𝐵(⟨((1st𝐹)‘((1st𝐺)‘𝑋)), ((1st𝐹)‘((1st𝐿)‘𝑋))⟩(comp‘𝐸)((1st𝑃)‘((1st𝑄)‘𝑋)))((((1st𝐺)‘𝑋)(2nd𝐹)((1st𝐿)‘𝑋))‘(𝑆𝑋)))) = ((𝑈‘((1st𝑁)‘𝑋))(⟨((1st𝐹)‘((1st𝐺)‘𝑋)), ((1st𝐾)‘((1st𝑁)‘𝑋))⟩(comp‘𝐸)((1st𝑀)‘((1st𝑁)‘𝑋)))((𝐴(⟨((1st𝐹)‘((1st𝐿)‘𝑋)), ((1st𝑃)‘((1st𝑄)‘𝑋))⟩(comp‘𝐸)((1st𝐾)‘((1st𝑁)‘𝑋)))𝐵)(⟨((1st𝐹)‘((1st𝐺)‘𝑋)), ((1st𝐹)‘((1st𝐿)‘𝑋))⟩(comp‘𝐸)((1st𝐾)‘((1st𝑁)‘𝑋)))((((1st𝐺)‘𝑋)(2nd𝐹)((1st𝐿)‘𝑋))‘(𝑆𝑋)))))
 
2-Oct-2025fuco22nat 49014 The composed natural transformation is a natural transformation. (Contributed by Zhi Wang, 2-Oct-2025.)
(𝜑 → (⟨𝐶, 𝐷⟩ ∘F 𝐸) = ⟨𝑂, 𝑃⟩)    &   (𝜑𝐴 ∈ (𝐹(𝐶 Nat 𝐷)𝑀))    &   (𝜑𝐵 ∈ (𝐾(𝐷 Nat 𝐸)𝑅))    &   (𝜑𝑈 = ⟨𝐾, 𝐹⟩)    &   (𝜑𝑉 = ⟨𝑅, 𝑀⟩)       (𝜑 → (𝐵(𝑈𝑃𝑉)𝐴) ∈ ((𝑂𝑈)(𝐶 Nat 𝐸)(𝑂𝑉)))
 
2-Oct-2025fuco111 48998 The object part of the functor composition bifunctor maps two functors to their composition, expressed explicitly for the object part of the composed functor. (Contributed by Zhi Wang, 2-Oct-2025.)
(𝜑 → (⟨𝐶, 𝐷⟩ ∘F 𝐸) = ⟨𝑂, 𝑃⟩)    &   (𝜑𝐹(𝐶 Func 𝐷)𝐺)    &   (𝜑𝐾(𝐷 Func 𝐸)𝐿)    &   (𝜑𝑈 = ⟨⟨𝐾, 𝐿⟩, ⟨𝐹, 𝐺⟩⟩)       (𝜑 → (1st ‘(𝑂𝑈)) = (𝐾𝐹))
 
2-Oct-2025antnest 35672 Suppose 𝜑, 𝜓 are distinct atomic propositional formulas, and let Γ be the smallest class of formulas for which ⊤ ∈ Γ and (𝜒𝜑), (𝜒𝜓) ∈ Γ for 𝜒 ∈ Γ. The present theorem is then an element of Γ, and the implications occurring in the theorem are in one-to-one correspondence with the formulas in Γ up to logical equivalence. In particular, the theorem itself is equivalent to ⊤ ∈ Γ. (Contributed by Adrian Ducourtial, 2-Oct-2025.)
((((((⊤ → 𝜑) → 𝜓) → 𝜓) → 𝜑) → 𝜓) → 𝜓)
 
2-Oct-2025pthspthcyc 29813 A pair 𝐹, 𝑃 represents a path if it represents either a simple path or a cycle. The exclusivity only holds for non-trivial paths (𝐹 ≠ ∅), see cyclnspth 29811. (Contributed by AV, 2-Oct-2025.)
(𝐹(Paths‘𝐺)𝑃 ↔ (𝐹(SPaths‘𝐺)𝑃𝐹(Cycles‘𝐺)𝑃))
 
2-Oct-2025pthdifv 29740 The vertices of a path are distinct (except the first and last vertex), so the restricted vertex function is one-to-one. (Contributed by AV, 2-Oct-2025.)
(𝐹(Paths‘𝐺)𝑃 → (𝑃 ↾ (1...(♯‘𝐹))):(1...(♯‘𝐹))–1-1→(Vtx‘𝐺))
 
1-Oct-2025fuco22a 49018 The morphism part of the functor composition bifunctor. See also fuco22 49007. (Contributed by Zhi Wang, 1-Oct-2025.)
(𝜑 → (⟨𝐶, 𝐷⟩ ∘F 𝐸) = ⟨𝑂, 𝑃⟩)    &   (𝜑𝑈 = ⟨𝐾, 𝐹⟩)    &   (𝜑𝑉 = ⟨𝑅, 𝑀⟩)    &   (𝜑𝐴 ∈ (𝐹(𝐶 Nat 𝐷)𝑀))    &   (𝜑𝐵 ∈ (𝐾(𝐷 Nat 𝐸)𝑅))       (𝜑 → (𝐵(𝑈𝑃𝑉)𝐴) = (𝑥 ∈ (Base‘𝐶) ↦ ((𝐵‘((1st𝑀)‘𝑥))(⟨((1st𝐾)‘((1st𝐹)‘𝑥)), ((1st𝐾)‘((1st𝑀)‘𝑥))⟩(comp‘𝐸)((1st𝑅)‘((1st𝑀)‘𝑥)))((((1st𝐹)‘𝑥)(2nd𝐾)((1st𝑀)‘𝑥))‘(𝐴𝑥)))))
 
1-Oct-2025xpcfucco3 48937 Value of composition in the binary product of categories of functors; expressed explicitly. (Contributed by Zhi Wang, 1-Oct-2025.)
𝑇 = ((𝐵 FuncCat 𝐶) ×c (𝐷 FuncCat 𝐸))    &   𝑂 = (comp‘𝑇)    &   (𝜑𝐹 ∈ (𝑀(𝐵 Nat 𝐶)𝑃))    &   (𝜑𝐺 ∈ (𝑁(𝐷 Nat 𝐸)𝑄))    &   (𝜑𝐾 ∈ (𝑃(𝐵 Nat 𝐶)𝑅))    &   (𝜑𝐿 ∈ (𝑄(𝐷 Nat 𝐸)𝑆))    &   𝑋 = (Base‘𝐵)    &   𝑌 = (Base‘𝐷)    &    · = (comp‘𝐶)    &    = (comp‘𝐸)       (𝜑 → (⟨𝐾, 𝐿⟩(⟨⟨𝑀, 𝑁⟩, ⟨𝑃, 𝑄⟩⟩𝑂𝑅, 𝑆⟩)⟨𝐹, 𝐺⟩) = ⟨(𝑥𝑋 ↦ ((𝐾𝑥)(⟨((1st𝑀)‘𝑥), ((1st𝑃)‘𝑥)⟩ · ((1st𝑅)‘𝑥))(𝐹𝑥))), (𝑦𝑌 ↦ ((𝐿𝑦)(⟨((1st𝑁)‘𝑦), ((1st𝑄)‘𝑦)⟩ ((1st𝑆)‘𝑦))(𝐺𝑦)))⟩)
 
1-Oct-2025xpcfuccocl 48936 The composition of two natural transformations is a natural transformation. (Contributed by Zhi Wang, 1-Oct-2025.)
𝑇 = ((𝐵 FuncCat 𝐶) ×c (𝐷 FuncCat 𝐸))    &   𝑂 = (comp‘𝑇)    &   (𝜑𝐹 ∈ (𝑀(𝐵 Nat 𝐶)𝑃))    &   (𝜑𝐺 ∈ (𝑁(𝐷 Nat 𝐸)𝑄))    &   (𝜑𝐾 ∈ (𝑃(𝐵 Nat 𝐶)𝑅))    &   (𝜑𝐿 ∈ (𝑄(𝐷 Nat 𝐸)𝑆))       (𝜑 → (⟨𝐾, 𝐿⟩(⟨⟨𝑀, 𝑁⟩, ⟨𝑃, 𝑄⟩⟩𝑂𝑅, 𝑆⟩)⟨𝐹, 𝐺⟩) ∈ ((𝑀(𝐵 Nat 𝐶)𝑅) × (𝑁(𝐷 Nat 𝐸)𝑆)))
 
1-Oct-2025xpcfucco2 48935 Value of composition in the binary product of categories of functors. (Contributed by Zhi Wang, 1-Oct-2025.)
𝑇 = ((𝐵 FuncCat 𝐶) ×c (𝐷 FuncCat 𝐸))    &   𝑂 = (comp‘𝑇)    &   (𝜑𝐹 ∈ (𝑀(𝐵 Nat 𝐶)𝑃))    &   (𝜑𝐺 ∈ (𝑁(𝐷 Nat 𝐸)𝑄))    &   (𝜑𝐾 ∈ (𝑃(𝐵 Nat 𝐶)𝑅))    &   (𝜑𝐿 ∈ (𝑄(𝐷 Nat 𝐸)𝑆))       (𝜑 → (⟨𝐾, 𝐿⟩(⟨⟨𝑀, 𝑁⟩, ⟨𝑃, 𝑄⟩⟩𝑂𝑅, 𝑆⟩)⟨𝐹, 𝐺⟩) = ⟨(𝐾(⟨𝑀, 𝑃⟩(comp‘(𝐵 FuncCat 𝐶))𝑅)𝐹), (𝐿(⟨𝑁, 𝑄⟩(comp‘(𝐷 FuncCat 𝐸))𝑆)𝐺)⟩)
 
1-Oct-2025xpcfuchom2 48934 Value of the set of morphisms in the binary product of categories of functors. (Contributed by Zhi Wang, 1-Oct-2025.)
𝑇 = ((𝐵 FuncCat 𝐶) ×c (𝐷 FuncCat 𝐸))    &   (𝜑𝑀 ∈ (𝐵 Func 𝐶))    &   (𝜑𝑁 ∈ (𝐷 Func 𝐸))    &   (𝜑𝑃 ∈ (𝐵 Func 𝐶))    &   (𝜑𝑄 ∈ (𝐷 Func 𝐸))    &   𝐾 = (Hom ‘𝑇)       (𝜑 → (⟨𝑀, 𝑁𝐾𝑃, 𝑄⟩) = ((𝑀(𝐵 Nat 𝐶)𝑃) × (𝑁(𝐷 Nat 𝐸)𝑄)))
 
1-Oct-2025xpcfuchom 48933 Set of morphisms of the binary product of categories of functors. (Contributed by Zhi Wang, 1-Oct-2025.)
𝑇 = ((𝐵 FuncCat 𝐶) ×c (𝐷 FuncCat 𝐸))    &   𝐴 = (Base‘𝑇)    &   𝐾 = (Hom ‘𝑇)    &   (𝜑𝑋𝐴)    &   (𝜑𝑌𝐴)       (𝜑 → (𝑋𝐾𝑌) = (((1st𝑋)(𝐵 Nat 𝐶)(1st𝑌)) × ((2nd𝑋)(𝐷 Nat 𝐸)(2nd𝑌))))
 
1-Oct-2025xpcfuchomfval 48932 Set of morphisms of the binary product of categories of functors. (Contributed by Zhi Wang, 1-Oct-2025.)
𝑇 = ((𝐵 FuncCat 𝐶) ×c (𝐷 FuncCat 𝐸))    &   𝐴 = (Base‘𝑇)    &   𝐾 = (Hom ‘𝑇)       𝐾 = (𝑢𝐴, 𝑣𝐴 ↦ (((1st𝑢)(𝐵 Nat 𝐶)(1st𝑣)) × ((2nd𝑢)(𝐷 Nat 𝐸)(2nd𝑣))))
 
1-Oct-2025xpcfucbas 48931 The base set of the product of two categories of functors. (Contributed by Zhi Wang, 1-Oct-2025.)
𝑇 = ((𝐵 FuncCat 𝐶) ×c (𝐷 FuncCat 𝐸))       ((𝐵 Func 𝐶) × (𝐷 Func 𝐸)) = (Base‘𝑇)
 
1-Oct-2025natrcl3 48924 Reverse closure for a natural transformation. (Contributed by Zhi Wang, 1-Oct-2025.)
𝑁 = (𝐶 Nat 𝐷)    &   (𝜑𝐴 ∈ (⟨𝐹, 𝐺𝑁𝐾, 𝐿⟩))       (𝜑𝐾(𝐶 Func 𝐷)𝐿)
 
1-Oct-2025natrcl2 48923 Reverse closure for a natural transformation. (Contributed by Zhi Wang, 1-Oct-2025.)
𝑁 = (𝐶 Nat 𝐷)    &   (𝜑𝐴 ∈ (⟨𝐹, 𝐺𝑁𝐾, 𝐿⟩))       (𝜑𝐹(𝐶 Func 𝐷)𝐺)
 
1-Oct-2025gpg3kgrtriex 48018 All generalized Petersen graphs G(N,K) with 𝑁 = 3 · 𝐾 contain triangles. (Contributed by AV, 1-Oct-2025.)
𝑁 = (3 · 𝐾)    &   𝐺 = (𝑁 gPetersenGr 𝐾)       (𝐾 ∈ ℕ → ∃𝑡 𝑡 ∈ (GrTriangles‘𝐺))
 
1-Oct-2025gpg3kgrtriexlem6 48017 Lemma 6 for gpg3kgrtriex 48018: 𝐸 is an edge in the generalized Petersen graph G(N,K) with 𝑁 = 3 · 𝐾. (Contributed by AV, 1-Oct-2025.)
𝑁 = (3 · 𝐾)    &   𝐺 = (𝑁 gPetersenGr 𝐾)    &   𝐸 = {⟨1, (𝐾 mod 𝑁)⟩, ⟨1, (-𝐾 mod 𝑁)⟩}       (𝐾 ∈ ℕ → 𝐸 ∈ (Edg‘𝐺))
 
1-Oct-2025gpg3kgrtriexlem5 48016 Lemma 5 for gpg3kgrtriex 48018. (Contributed by AV, 1-Oct-2025.)
𝑁 = (3 · 𝐾)       (𝐾 ∈ ℕ → (𝐾 mod 𝑁) ≠ (-𝐾 mod 𝑁))
 
1-Oct-2025gpg3kgrtriexlem4 48015 Lemma 4 for gpg3kgrtriex 48018. (Contributed by AV, 1-Oct-2025.)
𝑁 = (3 · 𝐾)       (𝐾 ∈ ℕ → 𝐾 ∈ (1..^(⌈‘(𝑁 / 2))))
 
1-Oct-2025gpg3kgrtriexlem3 48014 Lemma 3 for gpg3kgrtriex 48018. (Contributed by AV, 1-Oct-2025.)
𝑁 = (3 · 𝐾)       (𝐾 ∈ ℕ → 𝑁 ∈ (ℤ‘3))
 
1-Oct-2025gpg3kgrtriexlem2 48013 Lemma 2 for gpg3kgrtriex 48018. (Contributed by AV, 1-Oct-2025.)
𝑁 = (3 · 𝐾)       (𝐾 ∈ ℕ → (-𝐾 mod 𝑁) = (((𝐾 mod 𝑁) + 𝐾) mod 𝑁))
 
1-Oct-2025gpg3kgrtriexlem1 48012 Lemma 1 for gpg3kgrtriex 48018. (Contributed by AV, 1-Oct-2025.)
(𝐾 ∈ ℕ → 𝐾 < (⌈‘((3 · 𝐾) / 2)))
 
1-Oct-2025opgpgvtx 47983 A vertex in a generalized Petersen graph 𝐺 as ordered pair. (Contributed by AV, 1-Oct-2025.)
𝐼 = (0..^𝑁)    &   𝐽 = (1..^(⌈‘(𝑁 / 2)))    &   𝐺 = (𝑁 gPetersenGr 𝐾)    &   𝑉 = (Vtx‘𝐺)       ((𝑁 ∈ (ℤ‘3) ∧ 𝐾𝐽) → (⟨𝑋, 𝑌⟩ ∈ 𝑉 ↔ ((𝑋 = 0 ∨ 𝑋 = 1) ∧ 𝑌𝐼)))
 
1-Oct-2025uniclaxun 44976 A class that is closed under the union operation models the Axiom of Union ax-un 7751. Lemma II.2.4(5) of [Kunen2] p. 111. (Contributed by Eric Schmidt, 1-Oct-2025.)
(∀𝑥𝑀 𝑥𝑀 → ∀𝑥𝑀𝑦𝑀𝑧𝑀 (∃𝑤𝑀 (𝑧𝑤𝑤𝑥) → 𝑧𝑦))
 
1-Oct-2025readvrec2 42369 The antiderivative of 1/x in real numbers, without using the absolute value function. (Contributed by SN, 1-Oct-2025.)
𝐷 = (ℝ ∖ {0})       (ℝ D (𝑥𝐷 ↦ ((log‘(𝑥↑2)) / 2))) = (𝑥𝐷 ↦ (1 / 𝑥))
 
1-Oct-2025rpabsid 42334 A positive real is its own absolute value. (Contributed by SN, 1-Oct-2025.)
(𝑅 ∈ ℝ+ → (abs‘𝑅) = 𝑅)
 
1-Oct-2025iocioodisjd 42333 Adjacent intervals where the lower interval is right-closed and the upper interval is open are disjoint. (Contributed by SN, 1-Oct-2025.)
(𝜑𝐴 ∈ ℝ*)    &   (𝜑𝐵 ∈ ℝ*)    &   (𝜑𝐶 ∈ ℝ*)       (𝜑 → ((𝐴(,]𝐵) ∩ (𝐵(,)𝐶)) = ∅)
 
1-Oct-2025rpsscn 42311 The positive reals are a subset of the complex numbers. (Contributed by SN, 1-Oct-2025.)
+ ⊆ ℂ
 
30-Sep-2025fucoid2 49017 Each identity morphism in the source category is mapped to the corresponding identity morphism in the target category. See also fucoid 49016. (Contributed by Zhi Wang, 30-Sep-2025.)
(𝜑 → (⟨𝐶, 𝐷⟩ ∘F 𝐸) = ⟨𝑂, 𝑃⟩)    &   𝑇 = ((𝐷 FuncCat 𝐸) ×c (𝐶 FuncCat 𝐷))    &    1 = (Id‘𝑇)    &   𝑄 = (𝐶 FuncCat 𝐸)    &   𝐼 = (Id‘𝑄)    &   (𝜑𝑊 = ((𝐷 Func 𝐸) × (𝐶 Func 𝐷)))    &   (𝜑𝑈𝑊)       (𝜑 → ((𝑈𝑃𝑈)‘( 1𝑈)) = (𝐼‘(𝑂𝑈)))
 
30-Sep-2025fucoid 49016 Each identity morphism in the source category is mapped to the corresponding identity morphism in the target category. See also fucoid2 49017. (Contributed by Zhi Wang, 30-Sep-2025.)
(𝜑 → (⟨𝐶, 𝐷⟩ ∘F 𝐸) = ⟨𝑂, 𝑃⟩)    &   𝑇 = ((𝐷 FuncCat 𝐸) ×c (𝐶 FuncCat 𝐷))    &    1 = (Id‘𝑇)    &   𝑄 = (𝐶 FuncCat 𝐸)    &   𝐼 = (Id‘𝑄)    &   (𝜑𝐹(𝐶 Func 𝐷)𝐺)    &   (𝜑𝐾(𝐷 Func 𝐸)𝐿)    &   (𝜑𝑈 = ⟨⟨𝐾, 𝐿⟩, ⟨𝐹, 𝐺⟩⟩)       (𝜑 → ((𝑈𝑃𝑈)‘( 1𝑈)) = (𝐼‘(𝑂𝑈)))
 
30-Sep-2025fucof21 49015 The morphism part of the functor composition bifunctor maps a hom-set of the product category into a set of natural transformations. (Contributed by Zhi Wang, 30-Sep-2025.)
(𝜑 → (⟨𝐶, 𝐷⟩ ∘F 𝐸) = ⟨𝑂, 𝑃⟩)    &   𝑇 = ((𝐷 FuncCat 𝐸) ×c (𝐶 FuncCat 𝐷))    &   𝐽 = (Hom ‘𝑇)    &   (𝜑𝑊 = ((𝐷 Func 𝐸) × (𝐶 Func 𝐷)))    &   (𝜑𝑈𝑊)    &   (𝜑𝑉𝑊)       (𝜑 → (𝑈𝑃𝑉):(𝑈𝐽𝑉)⟶((𝑂𝑈)(𝐶 Nat 𝐸)(𝑂𝑉)))
 
30-Sep-2025fuco22natlem 49013 The composed natural transformation is a natural transformation. Use fuco22nat 49014 instead. (New usage is discouraged.) (Contributed by Zhi Wang, 30-Sep-2025.)
(𝜑 → (⟨𝐶, 𝐷⟩ ∘F 𝐸) = ⟨𝑂, 𝑃⟩)    &   (𝜑𝐴 ∈ (⟨𝐹, 𝐺⟩(𝐶 Nat 𝐷)⟨𝑀, 𝑁⟩))    &   (𝜑𝐵 ∈ (⟨𝐾, 𝐿⟩(𝐷 Nat 𝐸)⟨𝑅, 𝑆⟩))    &   (𝜑𝑈 = ⟨⟨𝐾, 𝐿⟩, ⟨𝐹, 𝐺⟩⟩)    &   (𝜑𝑉 = ⟨⟨𝑅, 𝑆⟩, ⟨𝑀, 𝑁⟩⟩)       (𝜑 → (𝐵(𝑈𝑃𝑉)𝐴) ∈ ((𝑂𝑈)(𝐶 Nat 𝐸)(𝑂𝑉)))
 
30-Sep-2025fuco22natlem3 49012 Combine fuco22natlem2 49011 with fuco23 49009. (Contributed by Zhi Wang, 30-Sep-2025.)
(𝜑𝑋 ∈ (Base‘𝐶))    &   (𝜑𝑌 ∈ (Base‘𝐶))    &   (𝜑𝐴 ∈ (⟨𝐹, 𝐺⟩(𝐶 Nat 𝐷)⟨𝑀, 𝑁⟩))    &   (𝜑𝐻 ∈ (𝑋(Hom ‘𝐶)𝑌))    &   (𝜑𝐵 ∈ (⟨𝐾, 𝐿⟩(𝐷 Nat 𝐸)⟨𝑅, 𝑆⟩))    &   (𝜑 → (⟨𝐶, 𝐷⟩ ∘F 𝐸) = ⟨𝑂, 𝑃⟩)    &   (𝜑𝑈 = ⟨⟨𝐾, 𝐿⟩, ⟨𝐹, 𝐺⟩⟩)    &   (𝜑𝑉 = ⟨⟨𝑅, 𝑆⟩, ⟨𝑀, 𝑁⟩⟩)       (𝜑 → (((𝐵(𝑈𝑃𝑉)𝐴)‘𝑌)(⟨((𝐾𝐹)‘𝑋), ((𝐾𝐹)‘𝑌)⟩(comp‘𝐸)((𝑅𝑀)‘𝑌))((((𝐹𝑋)𝐿(𝐹𝑌)) ∘ (𝑋𝐺𝑌))‘𝐻)) = (((((𝑀𝑋)𝑆(𝑀𝑌)) ∘ (𝑋𝑁𝑌))‘𝐻)(⟨((𝐾𝐹)‘𝑋), ((𝑅𝑀)‘𝑋)⟩(comp‘𝐸)((𝑅𝑀)‘𝑌))((𝐵(𝑈𝑃𝑉)𝐴)‘𝑋)))
 
30-Sep-2025fuco22natlem2 49011 Lemma for fuco22nat 49014. The commutative square of natural transformation 𝐵 in category 𝐸, combined with the commutative square of fuco22natlem1 49010. (Contributed by Zhi Wang, 30-Sep-2025.)
(𝜑𝑋 ∈ (Base‘𝐶))    &   (𝜑𝑌 ∈ (Base‘𝐶))    &   (𝜑𝐴 ∈ (⟨𝐹, 𝐺⟩(𝐶 Nat 𝐷)⟨𝑀, 𝑁⟩))    &   (𝜑𝐻 ∈ (𝑋(Hom ‘𝐶)𝑌))    &   (𝜑𝐵 ∈ (⟨𝐾, 𝐿⟩(𝐷 Nat 𝐸)⟨𝑅, 𝑆⟩))       (𝜑 → (((𝐵‘(𝑀𝑌))(⟨(𝐾‘(𝐹𝑌)), (𝐾‘(𝑀𝑌))⟩(comp‘𝐸)(𝑅‘(𝑀𝑌)))(((𝐹𝑌)𝐿(𝑀𝑌))‘(𝐴𝑌)))(⟨(𝐾‘(𝐹𝑋)), (𝐾‘(𝐹𝑌))⟩(comp‘𝐸)(𝑅‘(𝑀𝑌)))(((𝐹𝑋)𝐿(𝐹𝑌))‘((𝑋𝐺𝑌)‘𝐻))) = ((((𝑀𝑋)𝑆(𝑀𝑌))‘((𝑋𝑁𝑌)‘𝐻))(⟨(𝐾‘(𝐹𝑋)), (𝑅‘(𝑀𝑋))⟩(comp‘𝐸)(𝑅‘(𝑀𝑌)))((𝐵‘(𝑀𝑋))(⟨(𝐾‘(𝐹𝑋)), (𝐾‘(𝑀𝑋))⟩(comp‘𝐸)(𝑅‘(𝑀𝑋)))(((𝐹𝑋)𝐿(𝑀𝑋))‘(𝐴𝑋)))))
 
30-Sep-2025fuco22natlem1 49010 Lemma for fuco22nat 49014. The commutative square of natural transformation 𝐴 in category 𝐷, mapped to category 𝐸 by the morphism part 𝐿 of the functor. (Contributed by Zhi Wang, 30-Sep-2025.)
(𝜑𝑋 ∈ (Base‘𝐶))    &   (𝜑𝑌 ∈ (Base‘𝐶))    &   (𝜑𝐴 ∈ (⟨𝐹, 𝐺⟩(𝐶 Nat 𝐷)⟨𝑀, 𝑁⟩))    &   (𝜑𝐻 ∈ (𝑋(Hom ‘𝐶)𝑌))    &   (𝜑𝐾(𝐷 Func 𝐸)𝐿)       (𝜑 → ((((𝐹𝑌)𝐿(𝑀𝑌))‘(𝐴𝑌))(⟨(𝐾‘(𝐹𝑋)), (𝐾‘(𝐹𝑌))⟩(comp‘𝐸)(𝐾‘(𝑀𝑌)))(((𝐹𝑋)𝐿(𝐹𝑌))‘((𝑋𝐺𝑌)‘𝐻))) = ((((𝑀𝑋)𝐿(𝑀𝑌))‘((𝑋𝑁𝑌)‘𝐻))(⟨(𝐾‘(𝐹𝑋)), (𝐾‘(𝑀𝑋))⟩(comp‘𝐸)(𝐾‘(𝑀𝑌)))(((𝐹𝑋)𝐿(𝑀𝑋))‘(𝐴𝑋))))
 
30-Sep-2025fucofn22 49008 The morphism part of the functor composition bifunctor maps two natural transformations to a function on a base set. (Contributed by Zhi Wang, 30-Sep-2025.)
(𝜑 → (⟨𝐶, 𝐷⟩ ∘F 𝐸) = ⟨𝑂, 𝑃⟩)    &   (𝜑𝑈 = ⟨⟨𝐾, 𝐿⟩, ⟨𝐹, 𝐺⟩⟩)    &   (𝜑𝑉 = ⟨⟨𝑅, 𝑆⟩, ⟨𝑀, 𝑁⟩⟩)    &   (𝜑𝐴 ∈ (⟨𝐹, 𝐺⟩(𝐶 Nat 𝐷)⟨𝑀, 𝑁⟩))    &   (𝜑𝐵 ∈ (⟨𝐾, 𝐿⟩(𝐷 Nat 𝐸)⟨𝑅, 𝑆⟩))       (𝜑 → (𝐵(𝑈𝑃𝑉)𝐴) Fn (Base‘𝐶))
 
30-Sep-2025fuco11id 49002 The identity morphism of the mapped object. (Contributed by Zhi Wang, 30-Sep-2025.)
(𝜑 → (⟨𝐶, 𝐷⟩ ∘F 𝐸) = ⟨𝑂, 𝑃⟩)    &   (𝜑𝐹(𝐶 Func 𝐷)𝐺)    &   (𝜑𝐾(𝐷 Func 𝐸)𝐿)    &   (𝜑𝑈 = ⟨⟨𝐾, 𝐿⟩, ⟨𝐹, 𝐺⟩⟩)    &   𝑄 = (𝐶 FuncCat 𝐸)    &   𝐼 = (Id‘𝑄)    &    1 = (Id‘𝐸)       (𝜑 → (𝐼‘(𝑂𝑈)) = ( 1 ∘ (𝐾𝐹)))
 
30-Sep-2025fuco11a 48996 The object part of the functor composition bifunctor maps two functors to their composition, expressed explicitly. (Contributed by Zhi Wang, 30-Sep-2025.)
(𝜑 → (⟨𝐶, 𝐷⟩ ∘F 𝐸) = ⟨𝑂, 𝑃⟩)    &   (𝜑𝐹(𝐶 Func 𝐷)𝐺)    &   (𝜑𝐾(𝐷 Func 𝐸)𝐿)    &   (𝜑𝑈 = ⟨⟨𝐾, 𝐿⟩, ⟨𝐹, 𝐺⟩⟩)    &   𝐵 = (Base‘𝐶)       (𝜑 → (𝑂𝑈) = ⟨(𝐾𝐹), (𝑥𝐵, 𝑦𝐵 ↦ (((𝐹𝑥)𝐿(𝐹𝑦)) ∘ (𝑥𝐺𝑦)))⟩)
 
30-Sep-2025fuco11cl 48995 The object part of the functor composition bifunctor maps into (𝐶 Func 𝐸). (Contributed by Zhi Wang, 30-Sep-2025.)
(𝜑 → (⟨𝐶, 𝐷⟩ ∘F 𝐸) = ⟨𝑂, 𝑃⟩)    &   (𝜑𝐹(𝐶 Func 𝐷)𝐺)    &   (𝜑𝐾(𝐷 Func 𝐸)𝐿)    &   (𝜑𝑈 = ⟨⟨𝐾, 𝐿⟩, ⟨𝐹, 𝐺⟩⟩)       (𝜑 → (𝑂𝑈) ∈ (𝐶 Func 𝐸))
 
30-Sep-2025fuco11 48994 The object part of the functor composition bifunctor maps two functors to their composition. (Contributed by Zhi Wang, 30-Sep-2025.)
(𝜑 → (⟨𝐶, 𝐷⟩ ∘F 𝐸) = ⟨𝑂, 𝑃⟩)    &   (𝜑𝐹(𝐶 Func 𝐷)𝐺)    &   (𝜑𝐾(𝐷 Func 𝐸)𝐿)    &   (𝜑𝑈 = ⟨⟨𝐾, 𝐿⟩, ⟨𝐹, 𝐺⟩⟩)       (𝜑 → (𝑂𝑈) = (⟨𝐾, 𝐿⟩ ∘func𝐹, 𝐺⟩))
 
30-Sep-2025fmpod 48743 Domain and codomain of the mapping operation; deduction form. (Contributed by Zhi Wang, 30-Sep-2025.)
(𝜑𝐹 = (𝑥𝐴, 𝑦𝐵𝐶))    &   ((𝜑 ∧ (𝑥𝐴𝑦𝐵)) → 𝐶𝑆)       (𝜑𝐹:(𝐴 × 𝐵)⟶𝑆)
 
30-Sep-2025readvrec 42370 For real numbers, the antiderivative of 1/x is ln|x|. (Contributed by SN, 30-Sep-2025.)
𝐷 = (ℝ ∖ {0})       (ℝ D (𝑥𝐷 ↦ (log‘(abs‘𝑥)))) = (𝑥𝐷 ↦ (1 / 𝑥))
 
30-Sep-2025redvmptabs 42368 The derivative of the absolute value, for real numbers. (Contributed by SN, 30-Sep-2025.)
𝐷 = (ℝ ∖ {0})       (ℝ D (𝑥𝐷 ↦ (abs‘𝑥))) = (𝑥𝐷 ↦ if(𝑥 < 0, -1, 1))
 
30-Sep-2025dvun 42367 Condition for the union of the derivatives of two disjoint functions to be equal to the derivative of the union of the two functions. If 𝐴 and 𝐵 are open sets, this condition (dvun.n) is satisfied by isopn3i 23080. (Contributed by SN, 30-Sep-2025.)
𝐽 = (𝐾t 𝑆)    &   𝐾 = (TopOpen‘ℂfld)    &   (𝜑𝑆 ⊆ ℂ)    &   (𝜑𝐹:𝐴⟶ℂ)    &   (𝜑𝐺:𝐵⟶ℂ)    &   (𝜑𝐴𝑆)    &   (𝜑𝐵𝑆)    &   (𝜑 → (𝐴𝐵) = ∅)    &   (𝜑 → (((int‘𝐽)‘𝐴) ∪ ((int‘𝐽)‘𝐵)) = ((int‘𝐽)‘(𝐴𝐵)))       (𝜑 → ((𝑆 D 𝐹) ∪ (𝑆 D 𝐺)) = (𝑆 D (𝐹𝐺)))
 
29-Sep-2025fuco23 49009 The morphism part of the functor composition bifunctor. See also fuco23a 49020. (Contributed by Zhi Wang, 29-Sep-2025.)
(𝜑 → (⟨𝐶, 𝐷⟩ ∘F 𝐸) = ⟨𝑂, 𝑃⟩)    &   (𝜑𝑈 = ⟨⟨𝐾, 𝐿⟩, ⟨𝐹, 𝐺⟩⟩)    &   (𝜑𝑉 = ⟨⟨𝑅, 𝑆⟩, ⟨𝑀, 𝑁⟩⟩)    &   (𝜑𝐴 ∈ (⟨𝐹, 𝐺⟩(𝐶 Nat 𝐷)⟨𝑀, 𝑁⟩))    &   (𝜑𝐵 ∈ (⟨𝐾, 𝐿⟩(𝐷 Nat 𝐸)⟨𝑅, 𝑆⟩))    &   (𝜑𝑋 ∈ (Base‘𝐶))    &   (𝜑 = (⟨(𝐾‘(𝐹𝑋)), (𝐾‘(𝑀𝑋))⟩(comp‘𝐸)(𝑅‘(𝑀𝑋))))       (𝜑 → ((𝐵(𝑈𝑃𝑉)𝐴)‘𝑋) = ((𝐵‘(𝑀𝑋)) (((𝐹𝑋)𝐿(𝑀𝑋))‘(𝐴𝑋))))
 
29-Sep-2025fuco22 49007 The morphism part of the functor composition bifunctor. See also fuco22a 49018. (Contributed by Zhi Wang, 29-Sep-2025.)
(𝜑 → (⟨𝐶, 𝐷⟩ ∘F 𝐸) = ⟨𝑂, 𝑃⟩)    &   (𝜑𝑈 = ⟨⟨𝐾, 𝐿⟩, ⟨𝐹, 𝐺⟩⟩)    &   (𝜑𝑉 = ⟨⟨𝑅, 𝑆⟩, ⟨𝑀, 𝑁⟩⟩)    &   (𝜑𝐴 ∈ (⟨𝐹, 𝐺⟩(𝐶 Nat 𝐷)⟨𝑀, 𝑁⟩))    &   (𝜑𝐵 ∈ (⟨𝐾, 𝐿⟩(𝐷 Nat 𝐸)⟨𝑅, 𝑆⟩))       (𝜑 → (𝐵(𝑈𝑃𝑉)𝐴) = (𝑥 ∈ (Base‘𝐶) ↦ ((𝐵‘(𝑀𝑥))(⟨(𝐾‘(𝐹𝑥)), (𝐾‘(𝑀𝑥))⟩(comp‘𝐸)(𝑅‘(𝑀𝑥)))(((𝐹𝑥)𝐿(𝑀𝑥))‘(𝐴𝑥)))))
 
29-Sep-2025fuco21 49004 The morphism part of the functor composition bifunctor. (Contributed by Zhi Wang, 29-Sep-2025.)
(𝜑 → (⟨𝐶, 𝐷⟩ ∘F 𝐸) = ⟨𝑂, 𝑃⟩)    &   (𝜑𝐹(𝐶 Func 𝐷)𝐺)    &   (𝜑𝐾(𝐷 Func 𝐸)𝐿)    &   (𝜑𝑈 = ⟨⟨𝐾, 𝐿⟩, ⟨𝐹, 𝐺⟩⟩)    &   (𝜑𝑀(𝐶 Func 𝐷)𝑁)    &   (𝜑𝑅(𝐷 Func 𝐸)𝑆)    &   (𝜑𝑉 = ⟨⟨𝑅, 𝑆⟩, ⟨𝑀, 𝑁⟩⟩)       (𝜑 → (𝑈𝑃𝑉) = (𝑏 ∈ (⟨𝐾, 𝐿⟩(𝐷 Nat 𝐸)⟨𝑅, 𝑆⟩), 𝑎 ∈ (⟨𝐹, 𝐺⟩(𝐶 Nat 𝐷)⟨𝑀, 𝑁⟩) ↦ (𝑥 ∈ (Base‘𝐶) ↦ ((𝑏‘(𝑀𝑥))(⟨(𝐾‘(𝐹𝑥)), (𝐾‘(𝑀𝑥))⟩(comp‘𝐸)(𝑅‘(𝑀𝑥)))(((𝐹𝑥)𝐿(𝑀𝑥))‘(𝑎𝑥))))))
 
29-Sep-2025fucofn2 48992 The morphism part of the functor composition bifunctor is a function on the Cartesian square of the base set. (Contributed by Zhi Wang, 29-Sep-2025.)
(𝜑𝐶𝑇)    &   (𝜑𝐷𝑈)    &   (𝜑𝐸𝑉)    &   (𝜑 → (⟨𝐶, 𝐷⟩ ∘F 𝐸) = ⟨𝑂, 𝑃⟩)    &   (𝜑𝑊 = ((𝐷 Func 𝐸) × (𝐶 Func 𝐷)))       (𝜑𝑃 Fn (𝑊 × 𝑊))
 
29-Sep-2025fuco2 48991 The morphism part of the functor composition bifunctor. (Contributed by Zhi Wang, 29-Sep-2025.)
(𝜑𝐶𝑇)    &   (𝜑𝐷𝑈)    &   (𝜑𝐸𝑉)    &   (𝜑 → (⟨𝐶, 𝐷⟩ ∘F 𝐸) = ⟨𝑂, 𝑃⟩)    &   (𝜑𝑊 = ((𝐷 Func 𝐸) × (𝐶 Func 𝐷)))       (𝜑𝑃 = (𝑢𝑊, 𝑣𝑊(1st ‘(2nd𝑢)) / 𝑓(1st ‘(1st𝑢)) / 𝑘(2nd ‘(1st𝑢)) / 𝑙(1st ‘(2nd𝑣)) / 𝑚(1st ‘(1st𝑣)) / 𝑟(𝑏 ∈ ((1st𝑢)(𝐷 Nat 𝐸)(1st𝑣)), 𝑎 ∈ ((2nd𝑢)(𝐶 Nat 𝐷)(2nd𝑣)) ↦ (𝑥 ∈ (Base‘𝐶) ↦ ((𝑏‘(𝑚𝑥))(⟨(𝑘‘(𝑓𝑥)), (𝑘‘(𝑚𝑥))⟩(comp‘𝐸)(𝑟‘(𝑚𝑥)))(((𝑓𝑥)𝑙(𝑚𝑥))‘(𝑎𝑥)))))))
 
29-Sep-2025fucof1 48990 The object part of the functor composition bifunctor maps ((𝐷 Func 𝐸) × (𝐶 Func 𝐷)) into (𝐶 Func 𝐸). (Contributed by Zhi Wang, 29-Sep-2025.)
(𝜑𝐶𝑇)    &   (𝜑𝐷𝑈)    &   (𝜑𝐸𝑉)    &   (𝜑 → (⟨𝐶, 𝐷⟩ ∘F 𝐸) = ⟨𝑂, 𝑃⟩)    &   (𝜑𝑊 = ((𝐷 Func 𝐸) × (𝐶 Func 𝐷)))       (𝜑𝑂:𝑊⟶(𝐶 Func 𝐸))
 
29-Sep-2025fuco1 48989 The object part of the functor composition bifunctor. (Contributed by Zhi Wang, 29-Sep-2025.)
(𝜑𝐶𝑇)    &   (𝜑𝐷𝑈)    &   (𝜑𝐸𝑉)    &   (𝜑 → (⟨𝐶, 𝐷⟩ ∘F 𝐸) = ⟨𝑂, 𝑃⟩)    &   (𝜑𝑊 = ((𝐷 Func 𝐸) × (𝐶 Func 𝐷)))       (𝜑𝑂 = ( ∘func𝑊))
 
29-Sep-2025fucoelvv 48988 A functor composition bifunctor is an ordered pair. Enables 1st2ndb 8050. (Contributed by Zhi Wang, 29-Sep-2025.)
(𝜑𝐶𝑇)    &   (𝜑𝐷𝑈)    &   (𝜑𝐸𝑉)    &   (𝜑 → (⟨𝐶, 𝐷⟩ ∘F 𝐸) = )       (𝜑 ∈ (V × V))
 
29-Sep-2025fucofval 48987 Value of the function giving the functor composition bifunctor. Hypotheses fucofval.c and fucofval.d are not redundant (fucofvalne 48993). (Contributed by Zhi Wang, 29-Sep-2025.)
(𝜑𝐶𝑇)    &   (𝜑𝐷𝑈)    &   (𝜑𝐸𝑉)    &   (𝜑 → (⟨𝐶, 𝐷⟩ ∘F 𝐸) = )    &   (𝜑𝑊 = ((𝐷 Func 𝐸) × (𝐶 Func 𝐷)))       (𝜑 = ⟨( ∘func𝑊), (𝑢𝑊, 𝑣𝑊(1st ‘(2nd𝑢)) / 𝑓(1st ‘(1st𝑢)) / 𝑘(2nd ‘(1st𝑢)) / 𝑙(1st ‘(2nd𝑣)) / 𝑚(1st ‘(1st𝑣)) / 𝑟(𝑏 ∈ ((1st𝑢)(𝐷 Nat 𝐸)(1st𝑣)), 𝑎 ∈ ((2nd𝑢)(𝐶 Nat 𝐷)(2nd𝑣)) ↦ (𝑥 ∈ (Base‘𝐶) ↦ ((𝑏‘(𝑚𝑥))(⟨(𝑘‘(𝑓𝑥)), (𝑘‘(𝑚𝑥))⟩(comp‘𝐸)(𝑟‘(𝑚𝑥)))(((𝑓𝑥)𝑙(𝑚𝑥))‘(𝑎𝑥))))))⟩)
 
29-Sep-2025df-fuco 48985 Definition of functor composition bifunctors. Given three categories 𝐶, 𝐷, and 𝐸, (⟨𝐶, 𝐷⟩ ∘F 𝐸) is a functor from the product category of two categories of functors to a category of functors (fucofunc 49027). The object part maps two functors to their composition (fuco11 48994 and fuco11b 49005). The morphism part defines the "composition" of two natural transformations (fuco22 49007) into another natural transformation (fuco22nat 49014) such that a "cube-like" diagram commutes. The naturality property also gives an alternate definition (fuco23a 49020). Note that such "composition" is different from fucco 18006 because they "compose" along different "axes". (Contributed by Zhi Wang, 29-Sep-2025.)
F = (𝑝 ∈ V, 𝑒 ∈ V ↦ (1st𝑝) / 𝑐(2nd𝑝) / 𝑑((𝑑 Func 𝑒) × (𝑐 Func 𝑑)) / 𝑤⟨( ∘func𝑤), (𝑢𝑤, 𝑣𝑤(1st ‘(2nd𝑢)) / 𝑓(1st ‘(1st𝑢)) / 𝑘(2nd ‘(1st𝑢)) / 𝑙(1st ‘(2nd𝑣)) / 𝑚(1st ‘(1st𝑣)) / 𝑟(𝑏 ∈ ((1st𝑢)(𝑑 Nat 𝑒)(1st𝑣)), 𝑎 ∈ ((2nd𝑢)(𝑐 Nat 𝑑)(2nd𝑣)) ↦ (𝑥 ∈ (Base‘𝑐) ↦ ((𝑏‘(𝑚𝑥))(⟨(𝑘‘(𝑓𝑥)), (𝑘‘(𝑚𝑥))⟩(comp‘𝑒)(𝑟‘(𝑚𝑥)))(((𝑓𝑥)𝑙(𝑚𝑥))‘(𝑎𝑥))))))⟩)
 
29-Sep-2025fuco2eld3 48983 Equivalence of product functor. (Contributed by Zhi Wang, 29-Sep-2025.)
(𝜑𝑊 = (𝑆 × 𝑅))    &   (𝜑𝑈𝑊)    &   Rel 𝑆    &   Rel 𝑅       (𝜑 → ((1st ‘(1st𝑈))𝑆(2nd ‘(1st𝑈)) ∧ (1st ‘(2nd𝑈))𝑅(2nd ‘(2nd𝑈))))
 
29-Sep-2025fuco2eld2 48982 Equivalence of product functor. (Contributed by Zhi Wang, 29-Sep-2025.)
(𝜑𝑊 = (𝑆 × 𝑅))    &   (𝜑𝑈𝑊)    &   Rel 𝑆    &   Rel 𝑅       (𝜑𝑈 = ⟨⟨(1st ‘(1st𝑈)), (2nd ‘(1st𝑈))⟩, ⟨(1st ‘(2nd𝑈)), (2nd ‘(2nd𝑈))⟩⟩)
 
29-Sep-2025fuco2eld 48981 Equivalence of product functor. (Contributed by Zhi Wang, 29-Sep-2025.)
(𝜑𝑊 = (𝑆 × 𝑅))    &   (𝜑𝑈 = ⟨⟨𝐾, 𝐿⟩, ⟨𝐹, 𝐺⟩⟩)    &   (𝜑𝐾𝑆𝐿)    &   (𝜑𝐹𝑅𝐺)       (𝜑𝑈𝑊)
 
29-Sep-2025fuco2el 48980 Equivalence of product functor. (Contributed by Zhi Wang, 29-Sep-2025.)
(⟨⟨𝐾, 𝐿⟩, ⟨𝐹, 𝐺⟩⟩ ∈ (𝑆 × 𝑅) ↔ (𝐾𝑆𝐿𝐹𝑅𝐺))
 
29-Sep-2025isnatd 48922 Property of being a natural transformation; deduction form. (Contributed by Zhi Wang, 29-Sep-2025.)
𝑁 = (𝐶 Nat 𝐷)    &   𝐵 = (Base‘𝐶)    &   𝐻 = (Hom ‘𝐶)    &   𝐽 = (Hom ‘𝐷)    &    · = (comp‘𝐷)    &   (𝜑𝐹(𝐶 Func 𝐷)𝐺)    &   (𝜑𝐾(𝐶 Func 𝐷)𝐿)    &   (𝜑𝐴 Fn 𝐵)    &   ((𝜑𝑥𝐵) → (𝐴𝑥) ∈ ((𝐹𝑥)𝐽(𝐾𝑥)))    &   (((𝜑 ∧ (𝑥𝐵𝑦𝐵)) ∧ ∈ (𝑥𝐻𝑦)) → ((𝐴𝑦)(⟨(𝐹𝑥), (𝐹𝑦)⟩ · (𝐾𝑦))((𝑥𝐺𝑦)‘)) = (((𝑥𝐿𝑦)‘)(⟨(𝐹𝑥), (𝐾𝑥)⟩ · (𝐾𝑦))(𝐴𝑥)))       (𝜑𝐴 ∈ (⟨𝐹, 𝐺𝑁𝐾, 𝐿⟩))
 
29-Sep-2025fmpodg 48742 Domain and codomain of the mapping operation; deduction form. (Contributed by Zhi Wang, 29-Sep-2025.)
(𝜑𝐹 = (𝑥𝐴, 𝑦𝐵𝐶))    &   ((𝜑 ∧ (𝑥𝐴𝑦𝐵)) → 𝐶𝑆)    &   (𝜑𝑅 = (𝐴 × 𝐵))       (𝜑𝐹:𝑅𝑆)
 
29-Sep-2025gpg5grlic 48020 The two generalized Petersen graphs G(N,K) of order 10 (𝑁 = 5), which are the Petersen graph G(5,2) and the 5-prism G(5,1), are locally isomorphic. (Contributed by AV, 29-Sep-2025.)
(5 gPetersenGr 1) ≃𝑙𝑔𝑟 (5 gPetersenGr 2)
 
29-Sep-2025gpgorder 47986 The order of the generalized Petersen graph GPG(N,K). (Contributed by AV, 29-Sep-2025.)
𝐽 = (1..^(⌈‘(𝑁 / 2)))       ((𝑁 ∈ ℕ ∧ 𝐾𝐽) → (♯‘(Vtx‘(𝑁 gPetersenGr 𝐾))) = (2 · 𝑁))
 
29-Sep-2025clnbgr3stgrgrlic 47952 If all (closed) neighborhoods of the vertices in two simple graphs with the same order induce a subgraph which is isomorphic to an 𝑁-star, then the two graphs are locally isomorphic. (Contributed by AV, 29-Sep-2025.)
𝑁 ∈ ℕ0    &   𝑉 = (Vtx‘𝐺)    &   𝑊 = (Vtx‘𝐻)       (((𝐺 ∈ USGraph ∧ 𝐻 ∈ USGraph ∧ 𝑉𝑊) ∧ ∀𝑥𝑉 (𝐺 ISubGr (𝐺 ClNeighbVtx 𝑥)) ≃𝑔𝑟 (StarGr‘𝑁) ∧ ∀𝑦𝑊 (𝐻 ISubGr (𝐻 ClNeighbVtx 𝑦)) ≃𝑔𝑟 (StarGr‘𝑁)) → 𝐺𝑙𝑔𝑟 𝐻)
 
29-Sep-2025isubgr3stgr 47915 If a vertex of a simple graph has exactly 𝑁 (different) neighbors, and none of these neighbors are connected by an edge, then the (closed) neighborhood of this vertex induces a subgraph which is isomorphic to an 𝑁-star. (Contributed by AV, 29-Sep-2025.)
𝑉 = (Vtx‘𝐺)    &   𝑈 = (𝐺 NeighbVtx 𝑋)    &   𝐶 = (𝐺 ClNeighbVtx 𝑋)    &   𝑁 ∈ ℕ0    &   𝑆 = (StarGr‘𝑁)    &   𝑊 = (Vtx‘𝑆)    &   𝐸 = (Edg‘𝐺)       ((𝐺 ∈ USGraph ∧ 𝑋𝑉) → (((♯‘𝑈) = 𝑁 ∧ ∀𝑥𝑈𝑦𝑈 {𝑥, 𝑦} ∉ 𝐸) → (𝐺 ISubGr 𝐶) ≃𝑔𝑟 (StarGr‘𝑁)))
 
29-Sep-2025isubgr3stgrlem9 47914 Lemma 9 for isubgr3stgr 47915. (Contributed by AV, 29-Sep-2025.)
𝑉 = (Vtx‘𝐺)    &   𝑈 = (𝐺 NeighbVtx 𝑋)    &   𝐶 = (𝐺 ClNeighbVtx 𝑋)    &   𝑁 ∈ ℕ0    &   𝑆 = (StarGr‘𝑁)    &   𝑊 = (Vtx‘𝑆)    &   𝐸 = (Edg‘𝐺)    &   𝐼 = (Edg‘(𝐺 ISubGr 𝐶))    &   𝐻 = (𝑖𝐼 ↦ (𝐹𝑖))       ((((𝐺 ∈ USGraph ∧ 𝑋𝑉) ∧ ((♯‘𝑈) = 𝑁 ∧ ∀𝑥𝑈𝑦𝑈 {𝑥, 𝑦} ∉ 𝐸)) ∧ (𝐹:𝐶1-1-onto𝑊 ∧ (𝐹𝑋) = 0)) → (𝐻:𝐼1-1-onto→(Edg‘(StarGr‘𝑁)) ∧ ∀𝑒𝐼 (𝐹𝑒) = (𝐻𝑒)))
 
29-Sep-2025isubgr3stgrlem8 47913 Lemma 8 for isubgr3stgr 47915. (Contributed by AV, 29-Sep-2025.)
𝑉 = (Vtx‘𝐺)    &   𝑈 = (𝐺 NeighbVtx 𝑋)    &   𝐶 = (𝐺 ClNeighbVtx 𝑋)    &   𝑁 ∈ ℕ0    &   𝑆 = (StarGr‘𝑁)    &   𝑊 = (Vtx‘𝑆)    &   𝐸 = (Edg‘𝐺)    &   𝐼 = (Edg‘(𝐺 ISubGr 𝐶))    &   𝐻 = (𝑖𝐼 ↦ (𝐹𝑖))       ((((𝐺 ∈ USGraph ∧ 𝑋𝑉) ∧ ((♯‘𝑈) = 𝑁 ∧ ∀𝑥𝑈𝑦𝑈 {𝑥, 𝑦} ∉ 𝐸)) ∧ (𝐹:𝐶1-1-onto𝑊 ∧ (𝐹𝑋) = 0)) → 𝐻:𝐼1-1-onto→(Edg‘(StarGr‘𝑁)))
 
29-Sep-2025isubgr3stgrlem7 47912 Lemma 7 for isubgr3stgr 47915. (Contributed by AV, 29-Sep-2025.)
𝑉 = (Vtx‘𝐺)    &   𝑈 = (𝐺 NeighbVtx 𝑋)    &   𝐶 = (𝐺 ClNeighbVtx 𝑋)    &   𝑁 ∈ ℕ0    &   𝑆 = (StarGr‘𝑁)    &   𝑊 = (Vtx‘𝑆)    &   𝐸 = (Edg‘𝐺)    &   𝐼 = (Edg‘(𝐺 ISubGr 𝐶))    &   𝐻 = (𝑖𝐼 ↦ (𝐹𝑖))       (((𝐺 ∈ USGraph ∧ 𝑋𝑉) ∧ (𝐹:𝐶1-1-onto𝑊 ∧ (𝐹𝑋) = 0) ∧ 𝐽 ∈ (Edg‘(StarGr‘𝑁))) → (𝐹𝐽) ∈ 𝐼)
 
29-Sep-2025stgredgiun 47898 The edges of the star graph SN as indexed union. (Contributed by AV, 29-Sep-2025.)
(𝑁 ∈ ℕ0 → (Edg‘(StarGr‘𝑁)) = 𝑥 ∈ (1...𝑁){{0, 𝑥}})
 
29-Sep-2025wfaxpr 44988 The class of well-founded sets models the Axiom of Pairing ax-pr 5430. Part of Corollary II.2.5 of [Kunen2] p. 112. (Contributed by Eric Schmidt, 29-Sep-2025.)
𝑊 = (𝑅1 “ On)       𝑥𝑊𝑦𝑊𝑧𝑊𝑤𝑊 ((𝑤 = 𝑥𝑤 = 𝑦) → 𝑤𝑧)
 
29-Sep-2025wfaxsep 44985 The class of well-founded sets models the Axiom of Separation ax-sep 5294. Actually, our statement is stronger, since it is an instance of Separation only when all quantifiers in 𝜑 are relativized to 𝑊. Part of Corollary II.2.5 of [Kunen2] p. 112. (Contributed by Eric Schmidt, 29-Sep-2025.)
𝑊 = (𝑅1 “ On)       𝑧𝑊𝑦𝑊𝑥𝑊 (𝑥𝑦 ↔ (𝑥𝑧𝜑))
 
29-Sep-2025wfaxrep 44984 The class of well-founded sets models the Axiom of Replacement ax-rep 5277. Actually, our statement is stronger, since it is an instance of Replacement only when all quantifiers in 𝑦𝜑 are relativized to 𝑊. Essentially part of Corollary II.2.5 of [Kunen2] p. 112, but note that our Replacement is different from Kunen's. (Contributed by Eric Schmidt, 29-Sep-2025.)
𝑊 = (𝑅1 “ On)       𝑥𝑊 (∀𝑤𝑊𝑦𝑊𝑧𝑊 (∀𝑦𝜑𝑧 = 𝑦) → ∃𝑦𝑊𝑧𝑊 (𝑧𝑦 ↔ ∃𝑤𝑊 (𝑤𝑥 ∧ ∀𝑦𝜑)))
 
29-Sep-2025wfaxext 44983 The class of well-founded sets models the Axiom of Extensionality ax-ext 2707. Part of Corollary II.2.5 of [Kunen2] p. 112.

This is the first of a series of theorems showing that all the axioms of ZFC hold in the class of well-founded sets, which we here denote by 𝑊. More precisely, for each axiom of ZFC, we obtain a provable statement if we restrict all quantifiers to 𝑊 (including implicit universal quantifiers on free variables).

None of these proofs use the Axiom of Regularity. In particular, the Axiom of Regularity itself is proved to hold in 𝑊 without using Regularity. Further, the Axiom of Choice is used only in the proof that Choice holds in 𝑊. This has the consequence that any theorem of ZF (possibly proved using Regularity) can be proved, without using Regularity, to hold in 𝑊. This gives us a relative consistency result: If ZF without Regularity is consistent, so is ZF itself. Similarly, if ZFC without Regularity is consistent, so is ZFC itself. These consistency results are metatheorems and are part of Theorem II.2.13 of [Kunen2] p. 114.

(Contributed by Eric Schmidt, 11-Sep-2025.) (Revised by Eric Schmidt, 29-Sep-2025.)

𝑊 = (𝑅1 “ On)       𝑥𝑊𝑦𝑊 (∀𝑧𝑊 (𝑧𝑥𝑧𝑦) → 𝑥 = 𝑦)
 
29-Sep-2025prclaxpr 44975 A class that is closed under the pairing operation models the Axiom of Pairing ax-pr 5430. Lemma II.2.4(4) of [Kunen2] p. 111. (Contributed by Eric Schmidt, 29-Sep-2025.)
(∀𝑥𝑀𝑦𝑀 {𝑥, 𝑦} ∈ 𝑀 → ∀𝑥𝑀𝑦𝑀𝑧𝑀𝑤𝑀 ((𝑤 = 𝑥𝑤 = 𝑦) → 𝑤𝑧))
 
29-Sep-2025ssclaxsep 44972 A class that is closed under subsets models the Axiom of Separation ax-sep 5294. Lemma II.2.4(3) of [Kunen2] p. 111.

Note that, to obtain the relativization of an instance of Separation to 𝑀, the formula 𝜑 would need to be replaced with its relativization to 𝑀. However, this new formula is a valid substitution for 𝜑, so this theorem does establish that all instances of Separation hold in 𝑀. (Contributed by Eric Schmidt, 29-Sep-2025.)

(∀𝑧𝑀 𝒫 𝑧𝑀 → ∀𝑧𝑀𝑦𝑀𝑥𝑀 (𝑥𝑦 ↔ (𝑥𝑧𝜑)))
 
29-Sep-2025modelaxrep 44971 Conditions which guarantee that a class models the Axiom of Replacement ax-rep 5277. Similar to Lemma II.2.4(6) of [Kunen2] p. 111. The first two hypotheses are those in Kunen. The reason for the third hypothesis that our version of Replacement is different from Kunen's (which is zfrep6 7975). If we assumed Regularity, we could eliminate this extra hypothesis, since under Regularity, the empty set is a member of every non-empty transitive class.

Note that, to obtain the relativization of an instance of Replacement to 𝑀, the formula 𝑦𝜑 would need to be replaced with 𝑦𝑀𝜒, where 𝜒 is 𝜑 with all quantifiers relativized to 𝑀. However, we can obtain this by using 𝑦𝑀𝜒 for 𝜑 in this theorem, so it does establish that all instances of Replacement hold in 𝑀. (Contributed by Eric Schmidt, 29-Sep-2025.)

(𝜓 → Tr 𝑀)    &   (𝜓 → ∀𝑓((Fun 𝑓 ∧ dom 𝑓𝑀 ∧ ran 𝑓𝑀) → ran 𝑓𝑀))    &   (𝜓 → ∅ ∈ 𝑀)       (𝜓 → ∀𝑥𝑀 (∀𝑤𝑀𝑦𝑀𝑧𝑀 (∀𝑦𝜑𝑧 = 𝑦) → ∃𝑦𝑀𝑧𝑀 (𝑧𝑦 ↔ ∃𝑤𝑀 (𝑤𝑥 ∧ ∀𝑦𝜑))))
 
29-Sep-2025modelaxreplem3 44970 Lemma for modelaxrep 44971. We show that the consequent of Replacement is satisfied with ran 𝐹 as the value of 𝑦. (Contributed by Eric Schmidt, 29-Sep-2025.)
(𝜓𝑥𝑀)    &   (𝜓 → ∀𝑓((Fun 𝑓 ∧ dom 𝑓𝑀 ∧ ran 𝑓𝑀) → ran 𝑓𝑀))    &   (𝜓 → ∅ ∈ 𝑀)    &   (𝜓𝑥𝑀)    &   𝑤𝜓    &   𝑧𝜓    &   𝑧𝐹    &   𝐹 = {⟨𝑤, 𝑧⟩ ∣ (𝑤𝑥 ∧ (𝑧𝑀 ∧ ∀𝑦𝜑))}    &   (𝜓 → (𝑤𝑀 → ∃𝑦𝑀𝑧𝑀 (∀𝑦𝜑𝑧 = 𝑦)))       (𝜓 → ∃𝑦𝑀𝑧𝑀 (𝑧𝑦 ↔ ∃𝑤𝑀 (𝑤𝑥 ∧ ∀𝑦𝜑)))
 
29-Sep-2025modelaxreplem2 44969 Lemma for modelaxrep 44971. We define a class 𝐹 and show that the antecedent of Replacement implies that 𝐹 is a function. We use Replacement (in the form of funex 7237) to show that 𝐹 exists. Then we show that, under our hypotheses, the range of 𝐹 is a member of 𝑀. (Contributed by Eric Schmidt, 29-Sep-2025.)
(𝜓𝑥𝑀)    &   (𝜓 → ∀𝑓((Fun 𝑓 ∧ dom 𝑓𝑀 ∧ ran 𝑓𝑀) → ran 𝑓𝑀))    &   (𝜓 → ∅ ∈ 𝑀)    &   (𝜓𝑥𝑀)    &   𝑤𝜓    &   𝑧𝜓    &   𝑧𝐹    &   𝐹 = {⟨𝑤, 𝑧⟩ ∣ (𝑤𝑥 ∧ (𝑧𝑀 ∧ ∀𝑦𝜑))}    &   (𝜓 → (𝑤𝑀 → ∃𝑦𝑀𝑧𝑀 (∀𝑦𝜑𝑧 = 𝑦)))       (𝜓 → ran 𝐹𝑀)
 
29-Sep-2025modelaxreplem1 44968 Lemma for modelaxrep 44971. We show that 𝑀 is closed under taking subsets. (Contributed by Eric Schmidt, 29-Sep-2025.)
(𝜓𝑥𝑀)    &   (𝜓 → ∀𝑓((Fun 𝑓 ∧ dom 𝑓𝑀 ∧ ran 𝑓𝑀) → ran 𝑓𝑀))    &   (𝜓 → ∅ ∈ 𝑀)    &   (𝜓𝑥𝑀)    &   𝐴𝑥       (𝜓𝐴𝑀)
 
29-Sep-2025relwf 44957 A relation is a well-founded set iff its domain and range are. (Contributed by Eric Schmidt, 29-Sep-2025.)
(Rel 𝑅 → (𝑅 (𝑅1 “ On) ↔ (dom 𝑅 (𝑅1 “ On) ∧ ran 𝑅 (𝑅1 “ On))))
 
29-Sep-2025rspesbcd 44936 Restricted quantifier version of spesbcd 3882. (Contributed by Eric Schmidt, 29-Sep-2025.)
(𝜑𝐴𝐵)    &   (𝜑[𝐴 / 𝑥]𝜓)       (𝜑 → ∃𝑥𝐵 𝜓)
 
28-Sep-2025wl-cleq-0 37474
Disclaimer: The material presented here is just my (WL's) personal perception. I am not an expert in this field, so some or all of the text here can be misleading, or outright wrong. This and the following texts should be read as explorations rather than as definite statements, open to doubt, alternatives, and reinterpretation.

Preface

Three specific theorems are under focus in the following pages: df-cleq 2728, df-clel 2815, and df-clab 2714. Only technical concepts necessary to explain these will be introduced, along with a selection of supporting theorems. The three theorems are central to a bootstrapping process that introduces objects into set.mm. We will first examine how Metamath in general creates basic new ideas from scratch, and then look at how these methods are applied specifically to classes, capable of representing objects in set theory.

In Zermelo-Fraenkel set theory with the axiom of choice (ZFC), these three theorems are (more or less) independent of each other, which means they can be introduced in different orders. From my own experience, another order has pedagogical advantages: it helps grasping not only the overall concept better, but also the intricate details that I first found difficult to comprehend. Reordering theorems, though syntactically possible, sometimes may cause doubts when intermediate results are not strictly tied to ZFC only.

The purpose of set.mm is to provide a formal framework capable of proving the results of ZFC, provided that formulas are properly interpreted. In fact, there is freedom of interpretation. The database set.mm develops from the very beginning, where nothing is assumed or fixed, and gradually builts up to the full abstraction of ZFC. Along the way, results are only preliminary, and one may at any point branch off and pursue a different path toward another variant of set theory. This openess is already visible in axiom ax-mp 5, where the symbol can be understood as as implication, bi-conditional, or conjunction. The notation and symbol shapes are suggestive, but their interpretation is not mandatory. The point here is that Metamath, as a purely syntactic system, can sometimes allow freedoms, unavailable to semantically fixed systems, which presuppose only a single ultimate goal.

(Contributed by Wolf Lammen, 28-Sep-2025.)

(𝐴 = 𝐵 ↔ ∀𝑥(𝑥𝐴𝑥𝐵))
 
27-Sep-2025ad11antr 32456 Deduction adding 11 conjuncts to antecedent. (Contributed by Thierry Arnoux, 27-Sep-2025.)
(𝜑𝜓)       ((((((((((((𝜑𝜒) ∧ 𝜃) ∧ 𝜏) ∧ 𝜂) ∧ 𝜁) ∧ 𝜎) ∧ 𝜌) ∧ 𝜇) ∧ 𝜆) ∧ 𝜅) ∧ 𝜈) → 𝜓)
 
25-Sep-2025fucofulem2 48979 Lemma for proving functor theorems. Maybe consider eufnfv 7247 to prove the uniqueness of a functor. (Contributed by Zhi Wang, 25-Sep-2025.)
𝐵 = ((𝐷 Func 𝐸) × (𝐶 Func 𝐷))    &   𝐻 = (Hom ‘((𝐷 FuncCat 𝐸) ×c (𝐶 FuncCat 𝐷)))       (𝐺X𝑧 ∈ (𝐵 × 𝐵)(((𝐹‘(1st𝑧))(𝐶 Nat 𝐸)(𝐹‘(2nd𝑧))) ↑m (𝐻𝑧)) ↔ (𝐺 = (𝑢𝐵, 𝑣𝐵 ↦ (𝑢𝐺𝑣)) ∧ ∀𝑚𝐵𝑛𝐵 ((𝑚𝐺𝑛) = (𝑏 ∈ ((1st𝑚)(𝐷 Nat 𝐸)(1st𝑛)), 𝑎 ∈ ((2nd𝑚)(𝐶 Nat 𝐷)(2nd𝑛)) ↦ (𝑏(𝑚𝐺𝑛)𝑎)) ∧ ∀𝑝 ∈ ((1st𝑚)(𝐷 Nat 𝐸)(1st𝑛))∀𝑞 ∈ ((2nd𝑚)(𝐶 Nat 𝐷)(2nd𝑛))(𝑝(𝑚𝐺𝑛)𝑞) ∈ ((𝐹𝑚)(𝐶 Nat 𝐸)(𝐹𝑛)))))
 
25-Sep-2025fucofulem1 48978 Lemma for proving functor theorems. (Contributed by Zhi Wang, 25-Sep-2025.)
(𝜑 → (𝜓 ↔ (𝜒𝜃𝜏)))    &   ((𝜑 ∧ (𝜃𝜏)) → 𝜂)    &   𝜒    &   ((𝜑𝜂) → 𝜃)    &   ((𝜑𝜂) → 𝜏)       (𝜑 → (𝜓𝜂))
 
25-Sep-2025upeu4 48920 Generate a new universal morphism through an isomorphism from an existing universal object, and pair with the codomain of the isomorphism to form a universal pair. (Contributed by Zhi Wang, 25-Sep-2025.)
(𝜑𝐼 = (Iso‘𝐷))    &   (𝜑 = (⟨𝑊, (𝐹𝑋)⟩(comp‘𝐸)(𝐹𝑌)))    &   (𝜑𝑋(⟨𝐹, 𝐺⟩(𝐷UP𝐸)𝑊)𝑀)    &   (𝜑𝐾 ∈ (𝑋𝐼𝑌))    &   (𝜑𝑁 = (((𝑋𝐺𝑌)‘𝐾) 𝑀))       (𝜑𝑌(⟨𝐹, 𝐺⟩(𝐷UP𝐸)𝑊)𝑁)
 
25-Sep-2025uprcl5 48917 Reverse closure for the class of universal property. (Contributed by Zhi Wang, 25-Sep-2025.)
(𝜑𝑋(⟨𝐹, 𝐺⟩(𝐷UP𝐸)𝑊)𝑀)    &   𝐽 = (Hom ‘𝐸)       (𝜑𝑀 ∈ (𝑊𝐽(𝐹𝑋)))
 
25-Sep-2025uprcl4 48916 Reverse closure for the class of universal property. (Contributed by Zhi Wang, 25-Sep-2025.)
(𝜑𝑋(⟨𝐹, 𝐺⟩(𝐷UP𝐸)𝑊)𝑀)    &   𝐵 = (Base‘𝐷)       (𝜑𝑋𝐵)
 
25-Sep-2025uprcl3 48915 Reverse closure for the class of universal property. (Contributed by Zhi Wang, 25-Sep-2025.)
(𝜑𝑋(⟨𝐹, 𝐺⟩(𝐷UP𝐸)𝑊)𝑀)    &   𝐶 = (Base‘𝐸)       (𝜑𝑊𝐶)
 
25-Sep-2025uprcl2 48914 Reverse closure for the class of universal property. (Contributed by Zhi Wang, 25-Sep-2025.)
(𝜑𝑋(⟨𝐹, 𝐺⟩(𝐷UP𝐸)𝑊)𝑀)       (𝜑𝐹(𝐷 Func 𝐸)𝐺)
 
25-Sep-2025uprcl 48913 Reverse closure for the class of universal property. (Contributed by Zhi Wang, 25-Sep-2025.)
𝐶 = (Base‘𝐸)       (𝑋 ∈ (𝐹(𝐷UP𝐸)𝑊) → (𝐹 ∈ (𝐷 Func 𝐸) ∧ 𝑊𝐶))
 
25-Sep-2025relup 48912 The set of universal pairs is a relation. (Contributed by Zhi Wang, 25-Sep-2025.)
Rel (𝐹(𝐷UP𝐸)𝑊)
 
25-Sep-2025isuplem 48909 Lemma for isup 48910 and other theorems. (Contributed by Zhi Wang, 25-Sep-2025.)
𝐵 = (Base‘𝐷)    &   𝐶 = (Base‘𝐸)    &   𝐻 = (Hom ‘𝐷)    &   𝐽 = (Hom ‘𝐸)    &   𝑂 = (comp‘𝐸)    &   (𝜑𝑊𝐶)    &   (𝜑𝐹(𝐷 Func 𝐸)𝐺)       (𝜑 → (𝑋(⟨𝐹, 𝐺⟩(𝐷UP𝐸)𝑊)𝑀 ↔ ((𝑋𝐵𝑀 ∈ (𝑊𝐽(𝐹𝑋))) ∧ ∀𝑦𝐵𝑔 ∈ (𝑊𝐽(𝐹𝑦))∃!𝑘 ∈ (𝑋𝐻𝑦)𝑔 = (((𝑋𝐺𝑦)‘𝑘)(⟨𝑊, (𝐹𝑋)⟩𝑂(𝐹𝑦))𝑀))))
 
25-Sep-2025reldmup 48905 The domain of UP is a relation. (Contributed by Zhi Wang, 25-Sep-2025.)
Rel dom UP
 
25-Sep-2025rescofuf 48895 The restriction of functor composition is a function from product functor space to functor space. (Contributed by Zhi Wang, 25-Sep-2025.)
( ∘func ↾ ((𝐷 Func 𝐸) × (𝐶 Func 𝐷))):((𝐷 Func 𝐸) × (𝐶 Func 𝐷))⟶(𝐶 Func 𝐸)
 
25-Sep-2025funcf2lem2 48888 A utility theorem for proving equivalence of "is a functor". (Contributed by Zhi Wang, 25-Sep-2025.)
𝐵 = (𝐸𝐶)       (𝐺X𝑧 ∈ (𝐵 × 𝐵)(((𝐹‘(1st𝑧))𝐽(𝐹‘(2nd𝑧))) ↑m (𝐻𝑧)) ↔ (𝐺 Fn (𝐵 × 𝐵) ∧ ∀𝑥𝐵𝑦𝐵 (𝑥𝐺𝑦):(𝑥𝐻𝑦)⟶((𝐹𝑥)𝐽(𝐹𝑦))))
 
24-Sep-2025oppcup 48921 The universal pair 𝑋, 𝑀 from a functor to an object is universal from an object to a functor in the opposite category. (Contributed by Zhi Wang, 24-Sep-2025.)
𝐵 = (Base‘𝐷)    &   𝐶 = (Base‘𝐸)    &   𝐻 = (Hom ‘𝐷)    &   𝐽 = (Hom ‘𝐸)    &    = (comp‘𝐸)    &   (𝜑𝑊𝐶)    &   (𝜑𝐹(𝐷 Func 𝐸)𝐺)    &   (𝜑𝑋𝐵)    &   (𝜑𝑀 ∈ ((𝐹𝑋)𝐽𝑊))    &   𝑂 = (oppCat‘𝐷)    &   𝑃 = (oppCat‘𝐸)       (𝜑 → (𝑋(⟨𝐹, tpos 𝐺⟩(𝑂UP𝑃)𝑊)𝑀 ↔ ∀𝑦𝐵𝑔 ∈ ((𝐹𝑦)𝐽𝑊)∃!𝑘 ∈ (𝑦𝐻𝑋)𝑔 = (𝑀(⟨(𝐹𝑦), (𝐹𝑋)⟩ 𝑊)((𝑦𝐺𝑋)‘𝑘))))
 
24-Sep-2025upeu3 48919 The universal pair 𝑋, 𝑀 from object 𝑊 to functor 𝐹, 𝐺 is essentially unique (strong form) if it exists. (Contributed by Zhi Wang, 24-Sep-2025.)
(𝜑𝐼 = (Iso‘𝐷))    &   (𝜑 = (⟨𝑊, (𝐹𝑋)⟩(comp‘𝐸)(𝐹𝑌)))    &   (𝜑𝑋(⟨𝐹, 𝐺⟩(𝐷UP𝐸)𝑊)𝑀)    &   (𝜑𝑌(⟨𝐹, 𝐺⟩(𝐷UP𝐸)𝑊)𝑁)       (𝜑 → ∃!𝑟 ∈ (𝑋𝐼𝑌)𝑁 = (((𝑋𝐺𝑌)‘𝑟) 𝑀))
 
24-Sep-2025isup2 48918 The universal property of a universal pair. (Contributed by Zhi Wang, 24-Sep-2025.)
𝐵 = (Base‘𝐷)    &   𝐻 = (Hom ‘𝐷)    &   𝐽 = (Hom ‘𝐸)    &   𝑂 = (comp‘𝐸)    &   (𝜑𝑋(⟨𝐹, 𝐺⟩(𝐷UP𝐸)𝑊)𝑀)       (𝜑 → ∀𝑦𝐵𝑔 ∈ (𝑊𝐽(𝐹𝑦))∃!𝑘 ∈ (𝑋𝐻𝑦)𝑔 = (((𝑋𝐺𝑦)‘𝑘)(⟨𝑊, (𝐹𝑋)⟩𝑂(𝐹𝑦))𝑀))
 
24-Sep-2025isup 48910 The predicate "is a universal pair". (Contributed by Zhi Wang, 24-Sep-2025.)
𝐵 = (Base‘𝐷)    &   𝐶 = (Base‘𝐸)    &   𝐻 = (Hom ‘𝐷)    &   𝐽 = (Hom ‘𝐸)    &   𝑂 = (comp‘𝐸)    &   (𝜑𝑊𝐶)    &   (𝜑𝐹(𝐷 Func 𝐸)𝐺)    &   (𝜑𝑋𝐵)    &   (𝜑𝑀 ∈ (𝑊𝐽(𝐹𝑋)))       (𝜑 → (𝑋(⟨𝐹, 𝐺⟩(𝐷UP𝐸)𝑊)𝑀 ↔ ∀𝑦𝐵𝑔 ∈ (𝑊𝐽(𝐹𝑦))∃!𝑘 ∈ (𝑋𝐻𝑦)𝑔 = (((𝑋𝐺𝑦)‘𝑘)(⟨𝑊, (𝐹𝑋)⟩𝑂(𝐹𝑦))𝑀)))
 
24-Sep-2025upfval3 48908 Function value of the class of universal properties. (Contributed by Zhi Wang, 24-Sep-2025.)
𝐵 = (Base‘𝐷)    &   𝐶 = (Base‘𝐸)    &   𝐻 = (Hom ‘𝐷)    &   𝐽 = (Hom ‘𝐸)    &   𝑂 = (comp‘𝐸)    &   (𝜑𝑊𝐶)    &   (𝜑𝐹(𝐷 Func 𝐸)𝐺)       (𝜑 → (⟨𝐹, 𝐺⟩(𝐷UP𝐸)𝑊) = {⟨𝑥, 𝑚⟩ ∣ ((𝑥𝐵𝑚 ∈ (𝑊𝐽(𝐹𝑥))) ∧ ∀𝑦𝐵𝑔 ∈ (𝑊𝐽(𝐹𝑦))∃!𝑘 ∈ (𝑥𝐻𝑦)𝑔 = (((𝑥𝐺𝑦)‘𝑘)(⟨𝑊, (𝐹𝑥)⟩𝑂(𝐹𝑦))𝑚))})
 
24-Sep-2025upfval2 48907 Function value of the class of universal properties. (Contributed by Zhi Wang, 24-Sep-2025.)
𝐵 = (Base‘𝐷)    &   𝐶 = (Base‘𝐸)    &   𝐻 = (Hom ‘𝐷)    &   𝐽 = (Hom ‘𝐸)    &   𝑂 = (comp‘𝐸)    &   (𝜑𝑊𝐶)    &   (𝜑𝐹 ∈ (𝐷 Func 𝐸))       (𝜑 → (𝐹(𝐷UP𝐸)𝑊) = {⟨𝑥, 𝑚⟩ ∣ ((𝑥𝐵𝑚 ∈ (𝑊𝐽((1st𝐹)‘𝑥))) ∧ ∀𝑦𝐵𝑔 ∈ (𝑊𝐽((1st𝐹)‘𝑦))∃!𝑘 ∈ (𝑥𝐻𝑦)𝑔 = (((𝑥(2nd𝐹)𝑦)‘𝑘)(⟨𝑊, ((1st𝐹)‘𝑥)⟩𝑂((1st𝐹)‘𝑦))𝑚))})
 
24-Sep-2025upfval 48906 Function value of the class of universal properties. (Contributed by Zhi Wang, 24-Sep-2025.)
𝐵 = (Base‘𝐷)    &   𝐶 = (Base‘𝐸)    &   𝐻 = (Hom ‘𝐷)    &   𝐽 = (Hom ‘𝐸)    &   𝑂 = (comp‘𝐸)       (𝐷UP𝐸) = (𝑓 ∈ (𝐷 Func 𝐸), 𝑤𝐶 ↦ {⟨𝑥, 𝑚⟩ ∣ ((𝑥𝐵𝑚 ∈ (𝑤𝐽((1st𝑓)‘𝑥))) ∧ ∀𝑦𝐵𝑔 ∈ (𝑤𝐽((1st𝑓)‘𝑦))∃!𝑘 ∈ (𝑥𝐻𝑦)𝑔 = (((𝑥(2nd𝑓)𝑦)‘𝑘)(⟨𝑤, ((1st𝑓)‘𝑥)⟩𝑂((1st𝑓)‘𝑦))𝑚))})
 
24-Sep-2025df-up 48904 Definition of the class of universal properties.

Given categories 𝐷 and 𝐸, if 𝐹:𝐷𝐸 is a functor and 𝑊 an object of 𝐸, a universal pair from 𝑊 to 𝐹 is a pair 𝑋, 𝑀 consisting of an object 𝑋 of 𝐷 and a morphism 𝑀:𝑊𝐹𝑋 of 𝐸, such that to every pair 𝑦, 𝑔 with 𝑦 an object of 𝐷 and 𝑔:𝑊𝐹𝑦 a morphism of 𝐸, there is a unique morphism 𝑘:𝑋𝑦 of 𝐷 with 𝐹𝑘 𝑀 = 𝑔. Such property is commonly referred to as a universal property. In our definition, it is denoted as 𝑋(𝐹(𝐷UP𝐸)𝑊)𝑀.

Note that the universal pair is termed differently as "universal arrow" in p. 55 of Mac Lane, Saunders, Categories for the Working Mathematician, 2nd Edition, Springer Science+Business Media, New York, (1998) [QA169.M33 1998]; available at https://math.mit.edu/~hrm/palestine/maclane-categories.pdf (retrieved 6 Oct 2025). Interestingly, the "universal arrow" is referring to the morphism 𝑀 instead of the pair near the end of the same piece of the text, causing name collision. The name "universal arrow" is also adopted in papers such as https://arxiv.org/pdf/2212.08981. Alternatively, the universal pair is called the "universal morphism" in Wikipedia (https://en.wikipedia.org/wiki/Universal_property) as well as published works, e.g., https://arxiv.org/pdf/2412.12179. But the pair 𝑋, 𝑀 should be named differently as the morphism 𝑀, and thus we call 𝑋 the universal object, 𝑀 the universal morphism, and 𝑋, 𝑀 the universal pair.

Given its existence, such universal pair is essentially unique (upeu3 48919), and can be generated from an existing universal pair by isomorphisms (upeu4 48920). See also oppcup 48921 for the dual concept.

(Contributed by Zhi Wang, 24-Sep-2025.)

UP = (𝑑 ∈ V, 𝑒 ∈ V ↦ (Base‘𝑑) / 𝑏(Base‘𝑒) / 𝑐(Hom ‘𝑑) / (Hom ‘𝑒) / 𝑗(comp‘𝑒) / 𝑜(𝑓 ∈ (𝑑 Func 𝑒), 𝑤𝑐 ↦ {⟨𝑥, 𝑚⟩ ∣ ((𝑥𝑏𝑚 ∈ (𝑤𝑗((1st𝑓)‘𝑥))) ∧ ∀𝑦𝑏𝑔 ∈ (𝑤𝑗((1st𝑓)‘𝑦))∃!𝑘 ∈ (𝑥𝑦)𝑔 = (((𝑥(2nd𝑓)𝑦)‘𝑘)(⟨𝑤, ((1st𝑓)‘𝑥)⟩𝑜((1st𝑓)‘𝑦))𝑚))}))
 
24-Sep-2025brab2ddw2 48716 Expressing that two sets are related by a binary relation which is expressed as a class abstraction of ordered pairs. (Contributed by Zhi Wang, 24-Sep-2025.)
(𝜑𝑅 = {⟨𝑥, 𝑦⟩ ∣ ((𝑥𝐶𝑦𝐷) ∧ 𝜓)})    &   (𝑥 = 𝐴 → (𝜓𝜃))    &   (𝑦 = 𝐵 → (𝜃𝜒))    &   (𝑥 = 𝐴𝐶 = 𝑈)    &   (𝑦 = 𝐵𝐷 = 𝑉)       (𝜑 → (𝐴𝑅𝐵 ↔ ((𝐴𝑈𝐵𝑉) ∧ 𝜒)))
 
24-Sep-2025brab2ddw 48715 Expressing that two sets are related by a binary relation which is expressed as a class abstraction of ordered pairs. (Contributed by Zhi Wang, 24-Sep-2025.)
(𝜑𝑅 = {⟨𝑥, 𝑦⟩ ∣ ((𝑥𝐶𝑦𝐷) ∧ 𝜓)})    &   (𝑥 = 𝐴 → (𝜓𝜃))    &   (𝑦 = 𝐵 → (𝜃𝜒))    &   ((𝑥 = 𝐴𝑦 = 𝐵) → 𝐶 = 𝑈)    &   ((𝑥 = 𝐴𝑦 = 𝐵) → 𝐷 = 𝑉)       (𝜑 → (𝐴𝑅𝐵 ↔ ((𝐴𝑈𝐵𝑉) ∧ 𝜒)))
 
24-Sep-2025brab2dd 48714 Expressing that two sets are related by a binary relation which is expressed as a class abstraction of ordered pairs. (Contributed by Zhi Wang, 24-Sep-2025.)
(𝜑𝑅 = {⟨𝑥, 𝑦⟩ ∣ ((𝑥𝐶𝑦𝐷) ∧ 𝜓)})    &   ((𝜑 ∧ (𝑥 = 𝐴𝑦 = 𝐵)) → (𝜓𝜒))    &   ((𝜑 ∧ (𝑥 = 𝐴𝑦 = 𝐵)) → ((𝑥𝐶𝑦𝐷) ↔ (𝐴𝑈𝐵𝑉)))       (𝜑 → (𝐴𝑅𝐵 ↔ ((𝐴𝑈𝐵𝑉) ∧ 𝜒)))
 
24-Sep-2025isubgr3stgrlem6 47911 Lemma 6 for isubgr3stgr 47915. (Contributed by AV, 24-Sep-2025.)
𝑉 = (Vtx‘𝐺)    &   𝑈 = (𝐺 NeighbVtx 𝑋)    &   𝐶 = (𝐺 ClNeighbVtx 𝑋)    &   𝑁 ∈ ℕ0    &   𝑆 = (StarGr‘𝑁)    &   𝑊 = (Vtx‘𝑆)    &   𝐸 = (Edg‘𝐺)    &   𝐼 = (Edg‘(𝐺 ISubGr 𝐶))    &   𝐻 = (𝑖𝐼 ↦ (𝐹𝑖))       ((((𝐺 ∈ USGraph ∧ 𝑋𝑉) ∧ ((♯‘𝑈) = 𝑁 ∧ ∀𝑥𝑈𝑦𝑈 {𝑥, 𝑦} ∉ 𝐸)) ∧ (𝐹:𝐶1-1-onto𝑊 ∧ (𝐹𝑋) = 0)) → 𝐻:𝐼⟶(Edg‘(StarGr‘𝑁)))
 
24-Sep-2025isubgr3stgrlem5 47910 Lemma 5 for isubgr3stgr 47915. (Contributed by AV, 24-Sep-2025.)
𝑉 = (Vtx‘𝐺)    &   𝑈 = (𝐺 NeighbVtx 𝑋)    &   𝐶 = (𝐺 ClNeighbVtx 𝑋)    &   𝑁 ∈ ℕ0    &   𝑆 = (StarGr‘𝑁)    &   𝑊 = (Vtx‘𝑆)    &   𝐸 = (Edg‘𝐺)    &   𝐼 = (Edg‘(𝐺 ISubGr 𝐶))    &   𝐻 = (𝑖𝐼 ↦ (𝐹𝑖))       ((𝐹:𝐶𝑊𝑌𝐼) → (𝐻𝑌) = (𝐹𝑌))
 
24-Sep-2025isubgr3stgrlem4 47909 Lemma 4 for isubgr3stgr 47915. (Contributed by AV, 24-Sep-2025.)
𝑉 = (Vtx‘𝐺)    &   𝑈 = (𝐺 NeighbVtx 𝑋)    &   𝐶 = (𝐺 ClNeighbVtx 𝑋)    &   𝑁 ∈ ℕ0    &   𝑆 = (StarGr‘𝑁)    &   𝑊 = (Vtx‘𝑆)    &   𝐸 = (Edg‘𝐺)       ((𝐴 = 𝑋 ∧ (𝐹:𝐶1-1-onto𝑊 ∧ (𝐹𝑋) = 0) ∧ (𝐴𝐵𝐴𝐶𝐵𝐶)) → ∃𝑧 ∈ (1...𝑁)(𝐹 “ {𝐴, 𝐵}) = {0, 𝑧})
 
24-Sep-2025isubgredg 47825 An edge of an induced subgraph of a hypergraph is an edge of the hypergraph connecting vertices of the subgraph. (Contributed by AV, 24-Sep-2025.)
𝑉 = (Vtx‘𝐺)    &   𝐸 = (Edg‘𝐺)    &   𝐻 = (𝐺 ISubGr 𝑆)    &   𝐼 = (Edg‘𝐻)       ((𝐺 ∈ UHGraph ∧ 𝑆𝑉) → (𝐾𝐼 ↔ (𝐾𝐸𝐾𝑆)))
 
24-Sep-2025isubgredgss 47824 The edges of an induced subgraph of a graph are edges of the graph. (Contributed by AV, 24-Sep-2025.)
𝑉 = (Vtx‘𝐺)    &   𝐸 = (Edg‘𝐺)    &   𝐻 = (𝐺 ISubGr 𝑆)    &   𝐼 = (Edg‘𝐻)       ((𝐺𝑊𝑆𝑉) → 𝐼𝐸)
 
24-Sep-2025elclnbgrelnbgr 47785 An element of the closed neighborhood of a vertex which is not the vertex itself is an element of the open neighborhood of the vertex. (Contributed by AV, 24-Sep-2025.)
((𝑋 ∈ (𝐺 ClNeighbVtx 𝑁) ∧ 𝑋𝑁) → 𝑋 ∈ (𝐺 NeighbVtx 𝑁))
 
23-Sep-2025elfzoext 13757 Membership of an integer in an extended open range of integers, extension added to the right. (Contributed by AV, 30-Apr-2020.) (Proof shortened by AV, 23-Sep-2025.)
((𝑍 ∈ (𝑀..^𝑁) ∧ 𝐼 ∈ ℕ0) → 𝑍 ∈ (𝑀..^(𝑁 + 𝐼)))
 
22-Sep-2025oppgoppcid 49162 The converted opposite monoid has the same identity morphism as that of the opposite category. Example 3.6(2) of [Adamek] p. 25. (Contributed by Zhi Wang, 22-Sep-2025.)
(𝜑𝐶 = (MndToCat‘𝑀))    &   (𝜑𝑀 ∈ Mnd)    &   (𝜑𝐷 = (MndToCat‘(oppg𝑀)))    &   𝑂 = (oppCat‘𝐶)    &   (𝜑𝑋 ∈ (Base‘𝐷))    &   (𝜑𝑌 ∈ (Base‘𝑂))       (𝜑 → ((Id‘𝐷)‘𝑋) = ((Id‘𝑂)‘𝑌))
 
22-Sep-2025oppgoppcco 49161 The converted opposite monoid has the same composition as that of the opposite category. Example 3.6(2) of [Adamek] p. 25. (Contributed by Zhi Wang, 22-Sep-2025.)
(𝜑𝐶 = (MndToCat‘𝑀))    &   (𝜑𝑀 ∈ Mnd)    &   (𝜑𝐷 = (MndToCat‘(oppg𝑀)))    &   𝑂 = (oppCat‘𝐶)    &   (𝜑𝑋 ∈ (Base‘𝐷))    &   (𝜑𝑌 ∈ (Base‘𝑂))    &   (𝜑· = (comp‘𝐷))    &   (𝜑 = (comp‘𝑂))       (𝜑 → (⟨𝑋, 𝑋· 𝑋) = (⟨𝑌, 𝑌 𝑌))
 
22-Sep-2025oduoppcciso 49143 The dual of a preordered set and the opposite category are category-isomorphic. Example 3.6(1) of [Adamek] p. 25. (Contributed by Zhi Wang, 22-Sep-2025.)
(𝜑𝐶 = (ProsetToCat‘𝐾))    &   (𝜑𝐾 ∈ Proset )    &   (𝜑𝐷 = (ProsetToCat‘(ODual‘𝐾)))    &   𝑂 = (oppCat‘𝐶)    &   (𝜑𝑈𝑉)    &   (𝜑𝐷𝑈)    &   (𝜑𝑂𝑈)       (𝜑𝐷( ≃𝑐 ‘(CatCat‘𝑈))𝑂)
 
22-Sep-2025oduoppcbas 49142 The dual of a preordered set and the opposite category have the same set of objects. (Contributed by Zhi Wang, 22-Sep-2025.)
(𝜑𝐶 = (ProsetToCat‘𝐾))    &   (𝜑𝐾 ∈ Proset )    &   (𝜑𝐷 = (ProsetToCat‘(ODual‘𝐾)))    &   𝑂 = (oppCat‘𝐶)       (𝜑 → (Base‘𝐷) = (Base‘𝑂))
 
22-Sep-2025thinccisod 49076 Two thin categories are isomorphic if the induced preorders are order-isomorphic (deduction form). Example 3.26(2) of [Adamek] p. 33. (Contributed by Zhi Wang, 22-Sep-2025.)
𝐶 = (CatCat‘𝑈)    &   𝑅 = (Base‘𝑋)    &   𝑆 = (Base‘𝑌)    &   𝐻 = (Hom ‘𝑋)    &   𝐽 = (Hom ‘𝑌)    &   (𝜑𝑈𝑉)    &   (𝜑𝑋𝑈)    &   (𝜑𝑌𝑈)    &   (𝜑𝑋 ∈ ThinCat)    &   (𝜑𝑌 ∈ ThinCat)    &   (𝜑𝐹:𝑅1-1-onto𝑆)    &   ((𝜑 ∧ (𝑥𝑅𝑦𝑅)) → ((𝑥𝐻𝑦) = ∅ ↔ ((𝐹𝑥)𝐽(𝐹𝑦)) = ∅))       (𝜑𝑋( ≃𝑐𝐶)𝑌)
 
22-Sep-2025asclelbas 48868 Lifted scalars are in the base set of the algebra. (Contributed by Zhi Wang, 11-Sep-2025.) (Proof shortened by Thierry Arnoux, 22-Sep-2025.)
𝐴 = (algSc‘𝑊)    &   𝐹 = (Scalar‘𝑊)    &   𝐵 = (Base‘𝐹)    &   (𝜑𝑊 ∈ AssAlg)    &   (𝜑𝐶𝐵)       (𝜑 → (𝐴𝐶) ∈ (Base‘𝑊))
 
21-Sep-2025oppgoppchom 49160 The converted opposite monoid has the same hom-set as that of the opposite category. Example 3.6(2) of [Adamek] p. 25. (Contributed by Zhi Wang, 21-Sep-2025.)
(𝜑𝐶 = (MndToCat‘𝑀))    &   (𝜑𝑀 ∈ Mnd)    &   (𝜑𝐷 = (MndToCat‘(oppg𝑀)))    &   𝑂 = (oppCat‘𝐶)    &   (𝜑𝑋 ∈ (Base‘𝐷))    &   (𝜑𝑌 ∈ (Base‘𝑂))    &   (𝜑𝐻 = (Hom ‘𝐷))    &   (𝜑𝐽 = (Hom ‘𝑂))       (𝜑 → (𝑋𝐻𝑋) = (𝑌𝐽𝑌))
 
20-Sep-2025upeu2 48902 Generate new universal morphism through isomorphism from existing universal object. (Contributed by Zhi Wang, 20-Sep-2025.)
𝐵 = (Base‘𝐷)    &   𝐶 = (Base‘𝐸)    &   𝐻 = (Hom ‘𝐷)    &   𝐽 = (Hom ‘𝐸)    &   𝑂 = (comp‘𝐸)    &   (𝜑𝐹(𝐷 Func 𝐸)𝐺)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)    &   (𝜑𝑍𝐶)    &   (𝜑𝑀 ∈ (𝑍𝐽(𝐹𝑋)))    &   (𝜑 → ∀𝑤𝐵𝑓 ∈ (𝑍𝐽(𝐹𝑤))∃!𝑘 ∈ (𝑋𝐻𝑤)𝑓 = (((𝑋𝐺𝑤)‘𝑘)(⟨𝑍, (𝐹𝑋)⟩𝑂(𝐹𝑤))𝑀))    &   𝐼 = (Iso‘𝐷)    &   (𝜑𝐾 ∈ (𝑋𝐼𝑌))    &   (𝜑𝑁 = (((𝑋𝐺𝑌)‘𝐾)(⟨𝑍, (𝐹𝑋)⟩𝑂(𝐹𝑌))𝑀))       (𝜑 → (𝑁 ∈ (𝑍𝐽(𝐹𝑌)) ∧ ∀𝑣𝐵𝑔 ∈ (𝑍𝐽(𝐹𝑣))∃!𝑙 ∈ (𝑌𝐻𝑣)𝑔 = (((𝑌𝐺𝑣)‘𝑙)(⟨𝑍, (𝐹𝑌)⟩𝑂(𝐹𝑣))𝑁)))
 
20-Sep-2025upeu2lem 48884 Lemma for upeu2 48902. There exists a unique morphism from 𝑌 to 𝑍 that commutes if 𝐹:𝑋𝑌 is an isomorphism. (Contributed by Zhi Wang, 20-Sep-2025.)
𝐵 = (Base‘𝐶)    &   𝐻 = (Hom ‘𝐶)    &    · = (comp‘𝐶)    &   𝐼 = (Iso‘𝐶)    &   (𝜑𝐶 ∈ Cat)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)    &   (𝜑𝑍𝐵)    &   (𝜑𝐹 ∈ (𝑋𝐼𝑌))    &   (𝜑𝐺 ∈ (𝑋𝐻𝑍))       (𝜑 → ∃!𝑘 ∈ (𝑌𝐻𝑍)𝐺 = (𝑘(⟨𝑋, 𝑌· 𝑍)𝐹))
 
20-Sep-2025reuxfr1dd 48699 Transfer existential uniqueness from a variable 𝑥 to another variable 𝑦 contained in expression 𝐴. Simplifies reuxfr1d 3755. (Contributed by Zhi Wang, 20-Sep-2025.)
((𝜑𝑦𝐶) → 𝐴𝐵)    &   ((𝜑𝑥𝐵) → ∃!𝑦𝐶 𝑥 = 𝐴)    &   ((𝜑 ∧ (𝑦𝐶𝑥 = 𝐴)) → (𝜓𝜒))       (𝜑 → (∃!𝑥𝐵 𝜓 ↔ ∃!𝑦𝐶 𝜒))
 
19-Sep-2025upeu 48901 A universal property defines an essentially unique (strong form) pair of object 𝑋 and morphism 𝑀 if it exists. (Contributed by Zhi Wang, 19-Sep-2025.)
𝐵 = (Base‘𝐷)    &   𝐶 = (Base‘𝐸)    &   𝐻 = (Hom ‘𝐷)    &   𝐽 = (Hom ‘𝐸)    &   𝑂 = (comp‘𝐸)    &   (𝜑𝐹(𝐷 Func 𝐸)𝐺)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)    &   (𝜑𝑍𝐶)    &   (𝜑𝑀 ∈ (𝑍𝐽(𝐹𝑋)))    &   (𝜑 → ∀𝑤𝐵𝑓 ∈ (𝑍𝐽(𝐹𝑤))∃!𝑘 ∈ (𝑋𝐻𝑤)𝑓 = (((𝑋𝐺𝑤)‘𝑘)(⟨𝑍, (𝐹𝑋)⟩𝑂(𝐹𝑤))𝑀))    &   (𝜑𝑁 ∈ (𝑍𝐽(𝐹𝑌)))    &   (𝜑 → ∀𝑣𝐵𝑔 ∈ (𝑍𝐽(𝐹𝑣))∃!𝑙 ∈ (𝑌𝐻𝑣)𝑔 = (((𝑌𝐺𝑣)‘𝑙)(⟨𝑍, (𝐹𝑌)⟩𝑂(𝐹𝑣))𝑁))       (𝜑 → ∃!𝑟 ∈ (𝑋(Iso‘𝐷)𝑌)𝑁 = (((𝑋𝐺𝑌)‘𝑟)(⟨𝑍, (𝐹𝑋)⟩𝑂(𝐹𝑌))𝑀))
 
19-Sep-2025upciclem4 48899 Lemma for upcic 48900 and upeu 48901. (Contributed by Zhi Wang, 19-Sep-2025.)
𝐵 = (Base‘𝐷)    &   𝐶 = (Base‘𝐸)    &   𝐻 = (Hom ‘𝐷)    &   𝐽 = (Hom ‘𝐸)    &   𝑂 = (comp‘𝐸)    &   (𝜑𝐹(𝐷 Func 𝐸)𝐺)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)    &   (𝜑𝑍𝐶)    &   (𝜑𝑀 ∈ (𝑍𝐽(𝐹𝑋)))    &   (𝜑 → ∀𝑤𝐵𝑓 ∈ (𝑍𝐽(𝐹𝑤))∃!𝑘 ∈ (𝑋𝐻𝑤)𝑓 = (((𝑋𝐺𝑤)‘𝑘)(⟨𝑍, (𝐹𝑋)⟩𝑂(𝐹𝑤))𝑀))    &   (𝜑𝑁 ∈ (𝑍𝐽(𝐹𝑌)))    &   (𝜑 → ∀𝑣𝐵𝑔 ∈ (𝑍𝐽(𝐹𝑣))∃!𝑙 ∈ (𝑌𝐻𝑣)𝑔 = (((𝑌𝐺𝑣)‘𝑙)(⟨𝑍, (𝐹𝑌)⟩𝑂(𝐹𝑣))𝑁))       (𝜑 → (𝑋( ≃𝑐𝐷)𝑌 ∧ ∃𝑟 ∈ (𝑋(Iso‘𝐷)𝑌)𝑁 = (((𝑋𝐺𝑌)‘𝑟)(⟨𝑍, (𝐹𝑋)⟩𝑂(𝐹𝑌))𝑀)))
 
19-Sep-2025upciclem2 48897 Lemma for upciclem3 48898 and upeu2 48902. (Contributed by Zhi Wang, 19-Sep-2025.)
𝐵 = (Base‘𝐷)    &   𝐶 = (Base‘𝐸)    &   𝐻 = (Hom ‘𝐷)    &   𝐽 = (Hom ‘𝐸)    &   𝑂 = (comp‘𝐸)    &   (𝜑𝐹(𝐷 Func 𝐸)𝐺)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)    &   (𝜑𝑍𝐵)    &   (𝜑𝑊𝐶)    &   (𝜑𝑀 ∈ (𝑊𝐽(𝐹𝑋)))    &    · = (comp‘𝐷)    &   (𝜑𝐾 ∈ (𝑋𝐻𝑌))    &   (𝜑𝐿 ∈ (𝑌𝐻𝑍))    &   (𝜑𝑁 = (((𝑋𝐺𝑌)‘𝐾)(⟨𝑊, (𝐹𝑋)⟩𝑂(𝐹𝑌))𝑀))       (𝜑 → (((𝑋𝐺𝑍)‘(𝐿(⟨𝑋, 𝑌· 𝑍)𝐾))(⟨𝑊, (𝐹𝑋)⟩𝑂(𝐹𝑍))𝑀) = (((𝑌𝐺𝑍)‘𝐿)(⟨𝑊, (𝐹𝑌)⟩𝑂(𝐹𝑍))𝑁))
 
19-Sep-2025sepexi 5299 Convert implication to equivalence within an existence statement using the Separation Scheme (Aussonderung) ax-sep 5294. Inference associated with sepex 5298. (Contributed by NM, 21-Jun-1993.) Generalize conclusion, extract closed form, and avoid ax-9 2118. (Revised by Matthew House, 19-Sep-2025.)
𝑦𝑥(𝜑𝑥𝑦)       𝑧𝑥(𝑥𝑧𝜑)
 
19-Sep-2025sepex 5298 Convert implication to equivalence within an existence statement using the Separation Scheme (Aussonderung) ax-sep 5294. Similar to Theorem 1.3(ii) of [BellMachover] p. 463. (Contributed by Matthew House, 19-Sep-2025.)
(∃𝑦𝑥(𝜑𝑥𝑦) → ∃𝑧𝑥(𝑥𝑧𝜑))
 
19-Sep-2025sepexlem 5297 Lemma for sepex 5298. Use sepex 5298 instead. (Contributed by Matthew House, 19-Sep-2025.) (New usage is discouraged.)
(∃𝑦𝑥(𝜑𝑥𝑦) → ∃𝑧𝑥(𝑥𝑧𝜑))
 
18-Sep-2025wl-cleq-5 37479
Disclaimer: The material presented here is just my (WL's) personal perception. I am not an expert in this field, so some or all of the text here can be misleading, or outright wrong. This text should be read as an exploration rather than as definite statements, open to doubt, alternatives, and reinterpretation.

Semantics of Equality

There is a broadly shared understanding of what equality between objects expresses, extending beyond mathematics or set theory. Equality constitutes an equivalence relation among objects 𝑥, 𝑦, and 𝑧 within the universe under consideration:

1. Reflexivity 𝑥 = 𝑥

2. Symmetry (𝑥 = 𝑦𝑦 = 𝑥)

3. Transitivity ((𝑥 = 𝑦𝑥 = 𝑧) → 𝑦 = 𝑧)

4. Identity of Indiscernables (Leibniz's Law): distinct (i.e., unequal), objects cannot share all the same properties (or attributes).

In formal theories using variables, the attributes of a variable are assumed to mirror those of the instance it denotes. For both variables and objects, items (1) - (4) must either be derived or postulated as axioms.

If the theory allows substituting instances for variables, then the equality rules for objects follow directly from those governing variables. However, if variables and instances are formally distinguished, this distinction introduces an additional metatheoretical attribute, relevant for (4).

A similar issue arises when equality is considered between different types of variables sharing properties. Such mixed-type equalities are subject to restrictions: reflexivity does not apply, since the two sides represent different kinds of entities. Nevertheless, symmetry and various forms of transitivity typically remain valid, and must be proven or established within the theory.

In set.mm formulas express attributes. Therefore, equal instances must behave identically, yielding the same results when substituted into any formula. To verify equality, it suffices to consider only primitive operations involving free variables, since all formulas - once definitions are eliminated - reduce to these. Equality itself introduces no new attribute (an object is always different from all others), and can thus be excluded from this examination.

Equality in First Order Logic (FOL)

In the FOL component of set.mm, the notion of an "object" is absent. Only set variables are used to formulate theorems, and their attributes - expressed through an unspecified membership operator - are addressed at a later stage.

Instead, several axioms address equality directly: ax-6 1967, ax-7 2007, ax-8 2110, ax-9 2118 and ax-12 2177, and ax-13 2376. In practice, restricted versions with distinct variable conditions are used (ax6v 1968, ax12v 2178). The unrestricted forms together with axiom ax-13 2376, allow for the elimination of distinct variable conditions, this benefit is considered too minor for routine use.

Equality in FOL is formalized as follows:

2a. Equivalence Relation. Essentially covered by ax-7 2007, with some support of ax-6 1967.

2b. Leibniz's Law for the primitive operator. Captured by ax-8 2110 and ax-9 2118.

2c. General formulation. Given in sbequ12 2251.

2d. Implicit substitution. Assuming Leibniz's Law holds for a particular expression, various theorems extend its validity to other, derived expressions, often introducing quantification (see for example cbvalvw 2035).

The auxiliary axioms ax-10 2141, ax-11 2157, ax-12 are provable (see ax10w 2129, for example) if you can substitute 𝑦 for 𝑥 in a formula 𝜑 that contains no occurrence of 𝑦 and leaves no remaining trace of 𝑥 after substitution. An implicit substitution is then established by setting the resulting formula equivalent to 𝜑 under the assumption 𝑥 = 𝑦. Ordinary FOL substitution [𝑦 / 𝑥]𝜑 is insufficient in this context, since 𝑥 still occurs in the substituted formula. A simple textual replacement of the token 𝑥 by 𝑦 in 𝜑 might seem an intuitive solution, but such operations are out of the formal scope of Metamath.

2e. Axiom of Extensionality. In its elaborated form (axextb 2710), it states that the determining attributes of a set 𝑥 are the elements 𝑧 it contains, as expressed by 𝑧𝑥. This is the only primitive operation relevant for equality between set variables.

Equality between classes

In set.mm class variables of type "class" are introduced analoguously to set variables. Besides the primitive operations equality and membership, class builders allow other syntactical constructs to substitute for class variables, enabling them to represent class instances.

One such builder (cv 1539) allows set variables to replace class variables. Another (df-clab 2714) introduces a class instance, known as class abstraction. Since a class abstraction can freely substitute for a class variable, formulas hold for both alike. Hence, there is no need to distinguish between class variables and abstractions; the term class will denote "class variable or class abstraction".

Set variables, however, are treated separately, as they are not of type "class".

3a. Equivalence Relation. Axiom df-cleq 2728, from which class versions of (1a) - (1c) can be derived, guarantees that equality between class variables form an equivalence relation. Since both class abstractions and set variables can substitute for class variables, this equivalence extends to all mixed equalities, including those with set variables, since they automatically convert to classes upon substitution.

3b. Attributes. The primitive operation of membership constitutes the fundamental attributes of a class. Axiom df-clel 2815 reduces possible membership relations between class variables to those between a set variable and a class variable. Axiom df-cleq 2728 extends axextb 2710 to classes, stating that classes are fully determined by their set members.

A class builder may introduce a new attribute for classes. An equation involving such a class instance may express this attribute. In the case of the class builder cv 1539, an attribute called sethood is in fact introduced: A class is a set if it can be equated with some set variable.

Class abstractions supported by class builder df-clab 2714 also formally introduce attributes. Whether a class can be expressed as an abstraction with a specific predicate may be relevant in analysis. However, since theorem df-clab 2714 is a definition (and hence eliminable), these attributes can also be expressed in other ways.

3c. Conservativity. Because set variables can substitute for class variables, all axioms and definitions must be consistent with theorems in FOL. To ensure this, hypotheses are added to axioms and definitions that mirror the structure of their statement, but with class variables replaced by set variables. Since theorems cannot be applied without first proving their hypotheses, conservativity thus is enforced.

3d. Leibniz's Law. Besides equality membership is (and remains) the only primitive operator between classes. Axioms df-cleq 2728 and df-clel 2815 provide class versions of ax-8 2110 and ax-9 2118, ensuring that membership is consistent with Leibniz's Law.

Sethood, being based on mixed-type equality, preserves its value among equal classes.

As long as additional class builders beyond those mentioned are only defined, the reasoning given for class abstraction above applies generally, and Leibniz's Law continues to hold.

3e. Backward Compatability. A class 𝐴 equal to a set should be substitutable for a free set variable 𝑥 in any theorem, yielding a valid result, provided 𝑥 and 𝐴 are distinct. Sethood is conveniently expressed by 𝑧𝑧 = 𝐴; this assumption is added as an antecedent to the corresponding FOL theorem.

However, since direct substitution is disallowed, a deduction version of an FOL theorem cannot be simply converted. Instead, the proof must be replayed, consistently replacing 𝑥 with 𝐴. Ultimately, this process reduces to the FOL axioms, or their deduction form.

If these axioms hold when 𝐴 replaces 𝑥- under the above assumptions - then the replacement can be considered generally valid. The affected FOL axioms are ax-6 1967 (in the form ax6ev 1969), ax-7 2007, ax-8 2110, ax-9 2118, ax-12 2177 (ax12v2 2179), and to some extent ax-13 2376 (ax13v 2377). Since ZF (Zermelo-Fraenkel) set theory does not allow quantifification over class variables, no similar class-based versions of the quantified FOL axioms exist.

(Contributed by Wolf Lammen, 18-Sep-2025.)

(𝐴 = 𝐵 ↔ ∀𝑥(𝑥𝐴𝑥𝐵))
 
18-Sep-2025elfzoextl 13756 Membership of an integer in an extended open range of integers, extension added to the left. (Contributed by AV, 31-Aug-2025.) Generalized by replacing the left border of the ranges. (Revised by SN, 18-Sep-2025.)
((𝑍 ∈ (𝑀..^𝑁) ∧ 𝐼 ∈ ℕ0) → 𝑍 ∈ (𝑀..^(𝐼 + 𝑁)))
 
18-Sep-2025elfzo0suble 13742 The difference of the upper bound of a half-open range of nonnegative integers and an element of this range is less than or equal to the upper bound. (Contributed by AV, 1-Sep-2025.) (Proof shortened by SN, 18-Sep-2025.)
(𝐴 ∈ (0..^𝐵) → (𝐵𝐴) ≤ 𝐵)
 
18-Sep-2025elfzo0subge1 13741 The difference of the upper bound of a half-open range of nonnegative integers and an element of this range is greater than or equal to 1. (Contributed by AV, 1-Sep-2025.) (Proof shortened by SN, 18-Sep-2025.)
(𝐴 ∈ (0..^𝐵) → 1 ≤ (𝐵𝐴))
 
18-Sep-2025axpr 5425 Unabbreviated version of the Axiom of Pairing of ZF set theory, derived as a theorem from the other axioms.

This theorem should not be referenced by any proof. Instead, use ax-pr 5430 below so that the uses of the Axiom of Pairing can be more easily identified.

For a shorter proof using ax-ext 2707, see axprALT 5420. (Contributed by NM, 14-Nov-2006.) Remove dependency on ax-ext 2707. (Revised by Rohan Ridenour, 10-Aug-2023.) (Proof shortened by BJ, 13-Aug-2023.) (Proof shortened by Matthew House, 18-Sep-2025.) Use ax-pr 5430 instead. (New usage is discouraged.)

𝑧𝑤((𝑤 = 𝑥𝑤 = 𝑦) → 𝑤𝑧)
 
18-Sep-2025axprlem4 5424 Lemma for axpr 5425. If an existing set of empty sets corresponds to one element of the pair, then the element is included in any superset of the set whose existence is asserted by the axiom of replacement. (Contributed by Rohan Ridenour, 10-Aug-2023.) (Revised by BJ, 13-Aug-2023.) (Revised by Matthew House, 18-Sep-2025.)
𝑠𝑛𝜑    &   (𝜑 → (𝑛𝑠 → ∀𝑡 ¬ 𝑡𝑛))    &   (∀𝑛𝜑 → (if-(∃𝑛 𝑛𝑠, 𝑤 = 𝑥, 𝑤 = 𝑦) ↔ 𝑤 = 𝑣))       (∀𝑠(∀𝑛𝑠𝑡 ¬ 𝑡𝑛𝑠𝑝) → (𝑤 = 𝑣 → ∃𝑠(𝑠𝑝 ∧ if-(∃𝑛 𝑛𝑠, 𝑤 = 𝑥, 𝑤 = 𝑦))))
 
18-Sep-2025axprlem3 5423 Lemma for axpr 5425. Eliminate the antecedent of the relevant replacement instance. (Contributed by Rohan Ridenour, 10-Aug-2023.) (Proof shortened by Matthew House, 18-Sep-2025.)
𝑧𝑤(𝑤𝑧 ↔ ∃𝑠(𝑠𝑝 ∧ if-(∃𝑛 𝑛𝑠, 𝑤 = 𝑥, 𝑤 = 𝑦)))
 
18-Sep-2025axrep6 5286 A condensed form of ax-rep 5277. (Contributed by SN, 18-Sep-2023.) (Proof shortened by Matthew House, 18-Sep-2025.)
(∀𝑤∃*𝑧𝜑 → ∃𝑦𝑧(𝑧𝑦 ↔ ∃𝑤𝑥 𝜑))
 
18-Sep-2025axrep4 5283 A more traditional version of the Axiom of Replacement. (Contributed by NM, 14-Aug-1994.) (Proof shortened by Matthew House, 18-Sep-2025.)
𝑧𝜑       (∀𝑥𝑧𝑦(𝜑𝑦 = 𝑧) → ∃𝑧𝑦(𝑦𝑧 ↔ ∃𝑥(𝑥𝑤𝜑)))
 
18-Sep-2025axrep4v 5282 Version of axrep4 5283 with a disjoint variable condition, requiring fewer axioms. (Contributed by Matthew House, 18-Sep-2025.)
(∀𝑥𝑧𝑦(𝜑𝑦 = 𝑧) → ∃𝑧𝑦(𝑦𝑧 ↔ ∃𝑥(𝑥𝑤𝜑)))
 
17-Sep-2025upcic 48900 A universal property defines an object up to isomorphism given its existence. (Contributed by Zhi Wang, 17-Sep-2025.)
𝐵 = (Base‘𝐷)    &   𝐶 = (Base‘𝐸)    &   𝐻 = (Hom ‘𝐷)    &   𝐽 = (Hom ‘𝐸)    &   𝑂 = (comp‘𝐸)    &   (𝜑𝐹(𝐷 Func 𝐸)𝐺)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)    &   (𝜑𝑍𝐶)    &   (𝜑𝑀 ∈ (𝑍𝐽(𝐹𝑋)))    &   (𝜑 → ∀𝑤𝐵𝑓 ∈ (𝑍𝐽(𝐹𝑤))∃!𝑘 ∈ (𝑋𝐻𝑤)𝑓 = (((𝑋𝐺𝑤)‘𝑘)(⟨𝑍, (𝐹𝑋)⟩𝑂(𝐹𝑤))𝑀))    &   (𝜑𝑁 ∈ (𝑍𝐽(𝐹𝑌)))    &   (𝜑 → ∀𝑣𝐵𝑔 ∈ (𝑍𝐽(𝐹𝑣))∃!𝑙 ∈ (𝑌𝐻𝑣)𝑔 = (((𝑌𝐺𝑣)‘𝑙)(⟨𝑍, (𝐹𝑌)⟩𝑂(𝐹𝑣))𝑁))       (𝜑𝑋( ≃𝑐𝐷)𝑌)
 
17-Sep-2025upciclem3 48898 Lemma for upciclem4 48899. (Contributed by Zhi Wang, 17-Sep-2025.)
𝐵 = (Base‘𝐷)    &   𝐶 = (Base‘𝐸)    &   𝐻 = (Hom ‘𝐷)    &   𝐽 = (Hom ‘𝐸)    &   𝑂 = (comp‘𝐸)    &   (𝜑𝐹(𝐷 Func 𝐸)𝐺)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)    &   (𝜑𝑍𝐶)    &   (𝜑𝑀 ∈ (𝑍𝐽(𝐹𝑋)))    &   (𝜑 → ∀𝑤𝐵𝑓 ∈ (𝑍𝐽(𝐹𝑤))∃!𝑘 ∈ (𝑋𝐻𝑤)𝑓 = (((𝑋𝐺𝑤)‘𝑘)(⟨𝑍, (𝐹𝑋)⟩𝑂(𝐹𝑤))𝑀))    &    · = (comp‘𝐷)    &   (𝜑𝐾 ∈ (𝑋𝐻𝑌))    &   (𝜑𝐿 ∈ (𝑌𝐻𝑋))    &   (𝜑𝑀 = (((𝑌𝐺𝑋)‘𝐿)(⟨𝑍, (𝐹𝑌)⟩𝑂(𝐹𝑋))𝑁))    &   (𝜑𝑁 = (((𝑋𝐺𝑌)‘𝐾)(⟨𝑍, (𝐹𝑋)⟩𝑂(𝐹𝑌))𝑀))       (𝜑 → (𝐿(⟨𝑋, 𝑌· 𝑋)𝐾) = ((Id‘𝐷)‘𝑋))
 
17-Sep-2025funcrcl3 48886 Reverse closure for a functor. (Contributed by Zhi Wang, 17-Sep-2025.)
(𝜑𝐹(𝐷 Func 𝐸)𝐺)       (𝜑𝐸 ∈ Cat)
 
17-Sep-2025funcrcl2 48885 Reverse closure for a functor. (Contributed by Zhi Wang, 17-Sep-2025.)
(𝜑𝐹(𝐷 Func 𝐸)𝐺)       (𝜑𝐷 ∈ Cat)
 
17-Sep-2025isubgr3stgrlem3 47908 Lemma 3 for isubgr3stgr 47915. (Contributed by AV, 17-Sep-2025.)
𝑉 = (Vtx‘𝐺)    &   𝑈 = (𝐺 NeighbVtx 𝑋)    &   𝐶 = (𝐺 ClNeighbVtx 𝑋)    &   𝑁 ∈ ℕ0    &   𝑆 = (StarGr‘𝑁)    &   𝑊 = (Vtx‘𝑆)       ((𝐺 ∈ USGraph ∧ 𝑋𝑉 ∧ (♯‘𝑈) = 𝑁) → ∃𝑔(𝑔:𝐶1-1-onto𝑊 ∧ (𝑔𝑋) = 0))
 
16-Sep-2025upciclem1 48896 Lemma for upcic 48900, upeu 48901, and upeu2 48902. (Contributed by Zhi Wang, 16-Sep-2025.)
(𝜑 → ∀𝑦𝐵𝑛 ∈ (𝑍𝐽(𝐹𝑦))∃!𝑘 ∈ (𝑋𝐻𝑦)𝑛 = (((𝑋𝐺𝑦)‘𝑘)(⟨𝑍, (𝐹𝑋)⟩𝑂(𝐹𝑦))𝑀))    &   (𝜑𝑌𝐵)    &   (𝜑𝑁 ∈ (𝑍𝐽(𝐹𝑌)))       (𝜑 → ∃!𝑙 ∈ (𝑋𝐻𝑌)𝑁 = (((𝑋𝐺𝑌)‘𝑙)(⟨𝑍, (𝐹𝑋)⟩𝑂(𝐹𝑌))𝑀))
 
16-Sep-2025isisod 48883 The predicate "is an isomorphism" (deduction form). (Contributed by Zhi Wang, 16-Sep-2025.)
𝐵 = (Base‘𝐶)    &   𝐻 = (Hom ‘𝐶)    &    · = (comp‘𝐶)    &   𝐼 = (Iso‘𝐶)    &    1 = (Id‘𝐶)    &   (𝜑𝐶 ∈ Cat)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)    &   (𝜑𝐹 ∈ (𝑋𝐻𝑌))    &   (𝜑𝐺 ∈ (𝑌𝐻𝑋))    &   (𝜑 → (𝐺(⟨𝑋, 𝑌· 𝑋)𝐹) = ( 1𝑋))    &   (𝜑 → (𝐹(⟨𝑌, 𝑋· 𝑌)𝐺) = ( 1𝑌))       (𝜑𝐹 ∈ (𝑋𝐼𝑌))
 
16-Sep-2025isubgr3stgrlem2 47907 Lemma 2 for isubgr3stgr 47915. (Contributed by AV, 16-Sep-2025.)
𝑉 = (Vtx‘𝐺)    &   𝑈 = (𝐺 NeighbVtx 𝑋)    &   𝐶 = (𝐺 ClNeighbVtx 𝑋)    &   𝑁 ∈ ℕ0    &   𝑆 = (StarGr‘𝑁)    &   𝑊 = (Vtx‘𝑆)       ((𝐺 ∈ USGraph ∧ 𝑋𝑉 ∧ (♯‘𝑈) = 𝑁) → ∃𝑓 𝑓:𝑈1-1-onto→(𝑊 ∖ {0}))
 
16-Sep-2025isubgr3stgrlem1 47906 Lemma 1 for isubgr3stgr 47915. (Contributed by AV, 16-Sep-2025.)
𝑉 = (Vtx‘𝐺)    &   𝑈 = (𝐺 NeighbVtx 𝑋)    &   𝐶 = (𝐺 ClNeighbVtx 𝑋)    &   𝐹 = (𝐻 ∪ {⟨𝑋, 𝑌⟩})       ((𝐻:𝑈1-1-onto𝑅𝑋𝑉 ∧ (𝑌𝑊𝑌𝑅)) → 𝐹:𝐶1-1-onto→(𝑅 ∪ {𝑌}))
 
16-Sep-2025sn-base0 42483 Avoid axioms in base0 17248 by using the discouraged df-base 17244. This kind of axiom save is probably not worth it. (Contributed by SN, 16-Sep-2025.) (Proof modification is discouraged.) (New usage is discouraged.)
∅ = (Base‘∅)
 
16-Sep-2025rnopab3 5965 The range of a restricted class of ordered pairs. (Contributed by Eric Schmidt, 16-Sep-2025.)
(∀𝑦𝐴𝑥𝜑 ↔ ran {⟨𝑥, 𝑦⟩ ∣ (𝑦𝐴𝜑)} = 𝐴)
 
16-Sep-2025rnopabss 5964 Upper bound for the range of a restricted class of ordered pairs. (Contributed by Eric Schmidt, 16-Sep-2025.)
ran {⟨𝑥, 𝑦⟩ ∣ (𝑦𝐴𝜑)} ⊆ 𝐴
 
15-Sep-2025f1ounsn 7290 Extension of a bijection by an ordered pair. (Contributed by AV, 15-Sep-2025.)
𝐹 = (𝐺 ∪ {⟨𝑋, 𝑌⟩})       ((𝐺:𝐴1-1-onto𝐵 ∧ (𝑋𝑉𝑌𝑊) ∧ (𝑋𝐴𝑌𝐵)) → 𝐹:(𝐴 ∪ {𝑋})–1-1-onto→(𝐵 ∪ {𝑌}))
 
13-Sep-2025gpg5gricstgr3 48019 Each closed neighborhood in a generalized Petersen graph G(N,K) of order 10 (𝑁 = 5), which is either the Petersen graph G(5,2) or the 5-prism G(5,1), is isomorphic to a 3-star. (Contributed by AV, 13-Sep-2025.)
𝐺 = (5 gPetersenGr 𝐾)       ((𝐾 ∈ (1...2) ∧ 𝑉 ∈ (Vtx‘𝐺)) → (𝐺 ISubGr (𝐺 ClNeighbVtx 𝑉)) ≃𝑔𝑟 (StarGr‘3))
 
12-Sep-2025stgrclnbgr0 47905 All vertices of a star graph SN are in the closed neighborhood of the center. (Contributed by AV, 12-Sep-2025.)
𝐺 = (StarGr‘𝑁)    &   𝑉 = (Vtx‘𝐺)       (𝑁 ∈ ℕ0 → (𝐺 ClNeighbVtx 0) = 𝑉)
 
12-Sep-2025stgrnbgr0 47904 All vertices of a star graph SN except the center are in the (open) neighborhood of the center. (Contributed by AV, 12-Sep-2025.)
𝐺 = (StarGr‘𝑁)    &   𝑉 = (Vtx‘𝐺)       (𝑁 ∈ ℕ0 → (𝐺 NeighbVtx 0) = (𝑉 ∖ {0}))
 
12-Sep-2025stgrorder 47903 The order of a star graph SN. (Contributed by AV, 12-Sep-2025.)
𝐺 = (StarGr‘𝑁)    &   𝑉 = (Vtx‘𝐺)       (𝑁 ∈ ℕ0 → (♯‘𝑉) = (𝑁 + 1))
 
12-Sep-2025stgrvtx0 47902 The center ("internal node") of a star graph SN. (Contributed by AV, 12-Sep-2025.)
𝐺 = (StarGr‘𝑁)    &   𝑉 = (Vtx‘𝐺)       (𝑁 ∈ ℕ0 → 0 ∈ 𝑉)
 
12-Sep-2025rnwf 44956 The range of a well-founded set is well-founded. (Contributed by Eric Schmidt, 12-Sep-2025.)
(𝐴 (𝑅1 “ On) → ran 𝐴 (𝑅1 “ On))
 
12-Sep-2025dmwf 44955 The domain of a well-founded set is well-founded. (Contributed by Eric Schmidt, 12-Sep-2025.)
(𝐴 (𝑅1 “ On) → dom 𝐴 (𝑅1 “ On))
 
12-Sep-2025xpwf 44954 The Cartesian product of two well-founded sets is well-founded. (Contributed by Eric Schmidt, 12-Sep-2025.)
((𝐴 (𝑅1 “ On) ∧ 𝐵 (𝑅1 “ On)) → (𝐴 × 𝐵) ∈ (𝑅1 “ On))
 
12-Sep-2025fz0dif1 13642 Split the first element of a finite set of sequential nonnegative integers. (Contributed by AV, 12-Sep-2025.)
(𝑁 ∈ ℕ0 → ((0...𝑁) ∖ {0}) = (1...𝑁))
 
12-Sep-2025fzdif1 13641 Split the first element of a finite set of sequential integers. More generic than fzpred 13608. Analogous to fzdif2 32781. (Contributed by AV, 12-Sep-2025.)
(𝑁 ∈ (ℤ𝑀) → ((𝑀...𝑁) ∖ {𝑀}) = ((𝑀 + 1)...𝑁))
 
11-Sep-2025asclcom 48871 Scalars are commutative after being lifted.

However, the scalars themselves are not necessarily commutative if the algebra is not a faithful module. For example, Let 𝐹 be the 2 by 2 upper triangular matrix algebra over a commutative ring 𝑊. It is provable that 𝐹 is in general non-commutative. Define scalar multiplication 𝐶 · 𝑋 as multipying the top-left entry, which is a "vector" element of 𝑊, of the "scalar" 𝐶, which is now an upper triangular matrix, with the "vector" 𝑋 ∈ (Base‘𝑊).

Equivalently, the algebra scalar lifting function is not necessarily injective unless the algebra is faithful. Therefore, all "scalar injection" was renamed.

Alternate proof involves assa2ass 21875, assa2ass2 21876, and asclval 21892, by setting 𝑋 and 𝑌 the multiplicative identity of the algebra.

(Contributed by Zhi Wang, 11-Sep-2025.)

𝐴 = (algSc‘𝑊)    &   𝐹 = (Scalar‘𝑊)    &   𝐵 = (Base‘𝐹)    &   (𝜑𝑊 ∈ AssAlg)    &   (𝜑𝐶𝐵)    &    = (.r𝐹)    &   (𝜑𝐷𝐵)       (𝜑 → (𝐴‘(𝐶 𝐷)) = (𝐴‘(𝐷 𝐶)))
 
11-Sep-2025asclcntr 48870 The algebra scalar lifting function maps into the center of the algebra. Equivalently, a lifted scalar is a center of the algebra. (Contributed by Zhi Wang, 11-Sep-2025.)
𝐴 = (algSc‘𝑊)    &   𝐹 = (Scalar‘𝑊)    &   𝐵 = (Base‘𝐹)    &   (𝜑𝑊 ∈ AssAlg)    &   (𝜑𝐶𝐵)    &   𝑀 = (mulGrp‘𝑊)       (𝜑 → (𝐴𝐶) ∈ (Cntr‘𝑀))
 
11-Sep-2025asclelbasALT 48869 Alternate proof of asclelbas 48868. (Contributed by Zhi Wang, 11-Sep-2025.) (Proof modification is discouraged.) (New usage is discouraged.)
𝐴 = (algSc‘𝑊)    &   𝐹 = (Scalar‘𝑊)    &   𝐵 = (Base‘𝐹)    &   (𝜑𝑊 ∈ AssAlg)    &   (𝜑𝐶𝐵)       (𝜑 → (𝐴𝐶) ∈ (Base‘𝑊))
 
11-Sep-2025elmgpcntrd 48867 The center of a ring. (Contributed by Zhi Wang, 11-Sep-2025.)
𝐵 = (Base‘𝑅)    &   𝑀 = (mulGrp‘𝑅)    &   𝑍 = (Cntr‘𝑀)    &   (𝜑𝑋𝐵)    &   ((𝜑𝑦𝐵) → (𝑋(.r𝑅)𝑦) = (𝑦(.r𝑅)𝑋))       (𝜑𝑋𝑍)
 
11-Sep-2025stgr1 47901 The star graph S1 consists of a single simple edge. (Contributed by AV, 11-Sep-2025.)
(StarGr‘1) = {⟨(Base‘ndx), {0, 1}⟩, ⟨(.ef‘ndx), ( I ↾ {{0, 1}})⟩}
 
11-Sep-2025stgr0 47900 The star graph S0 consists of a single vertex without edges. (Contributed by AV, 11-Sep-2025.)
(StarGr‘0) = {⟨(Base‘ndx), {0}⟩, ⟨(.ef‘ndx), ∅⟩}
 
11-Sep-2025stgrusgra 47899 The star graph SN is a simple graph. (Contributed by AV, 11-Sep-2025.)
(𝑁 ∈ ℕ0 → (StarGr‘𝑁) ∈ USGraph)
 
11-Sep-2025stgredgel 47897 An edge of the star graph SN. (Contributed by AV, 11-Sep-2025.)
(𝑁 ∈ ℕ0 → (𝐸 ∈ (Edg‘(StarGr‘𝑁)) ↔ (𝐸 ⊆ (0...𝑁) ∧ ∃𝑥 ∈ (1...𝑁)𝐸 = {0, 𝑥})))
 
11-Sep-2025stgredg 47896 The edges of the star graph SN. (Contributed by AV, 11-Sep-2025.)
(𝑁 ∈ ℕ0 → (Edg‘(StarGr‘𝑁)) = {𝑒 ∈ 𝒫 (0...𝑁) ∣ ∃𝑥 ∈ (1...𝑁)𝑒 = {0, 𝑥}})
 
11-Sep-2025stgriedg 47895 The indexed edges of the star graph SN. (Contributed by AV, 11-Sep-2025.)
(𝑁 ∈ ℕ0 → (iEdg‘(StarGr‘𝑁)) = ( I ↾ {𝑒 ∈ 𝒫 (0...𝑁) ∣ ∃𝑥 ∈ (1...𝑁)𝑒 = {0, 𝑥}}))
 
11-Sep-2025stgrvtx 47894 The vertices of the star graph SN. (Contributed by AV, 11-Sep-2025.)
(𝑁 ∈ ℕ0 → (Vtx‘(StarGr‘𝑁)) = (0...𝑁))
 
11-Sep-2025traxext 44967 A transitive class models the Axiom of Extensionality ax-ext 2707. Lemma II.2.4(1) of [Kunen2] p. 111. (Contributed by Eric Schmidt, 11-Sep-2025.)
(Tr 𝑀 → ∀𝑥𝑀𝑦𝑀 (∀𝑧𝑀 (𝑧𝑥𝑧𝑦) → 𝑥 = 𝑦))
 
11-Sep-2025assa2ass2 21876 Left- and right-associative property of an associative algebra. Notice that the scalars are not commuted! (Contributed by Zhi Wang, 11-Sep-2025.)
𝑉 = (Base‘𝑊)    &   𝐹 = (Scalar‘𝑊)    &   𝐵 = (Base‘𝐹)    &    = (.r𝐹)    &    · = ( ·𝑠𝑊)    &    × = (.r𝑊)       ((𝑊 ∈ AssAlg ∧ (𝐴𝐵𝐶𝐵) ∧ (𝑋𝑉𝑌𝑉)) → ((𝐴 · 𝑋) × (𝐶 · 𝑌)) = ((𝐴 𝐶) · (𝑋 × 𝑌)))
 
11-Sep-2025assa2ass 21875 Left- and right-associative property of an associative algebra. Notice that the scalars are commuted! (Contributed by AV, 14-Aug-2019.) (Proof shortened by Zhi Wang, 11-Sep-2025.)
𝑉 = (Base‘𝑊)    &   𝐹 = (Scalar‘𝑊)    &   𝐵 = (Base‘𝐹)    &    = (.r𝐹)    &    · = ( ·𝑠𝑊)    &    × = (.r𝑊)       ((𝑊 ∈ AssAlg ∧ (𝐴𝐵𝐶𝐵) ∧ (𝑋𝑉𝑌𝑉)) → ((𝐴 · 𝑋) × (𝐶 · 𝑌)) = ((𝐶 𝐴) · (𝑋 × 𝑌)))
 
11-Sep-2025fz01pr 13786 An integer range between 0 and 1 is a pair. (Contributed by AV, 11-Sep-2025.)
(0...1) = {0, 1}
 
10-Sep-2025stgrfv 47893 The star graph SN. (Contributed by AV, 10-Sep-2025.)
(𝑁 ∈ ℕ0 → (StarGr‘𝑁) = {⟨(Base‘ndx), (0...𝑁)⟩, ⟨(.ef‘ndx), ( I ↾ {𝑒 ∈ 𝒫 (0...𝑁) ∣ ∃𝑥 ∈ (1...𝑁)𝑒 = {0, 𝑥}})⟩})
 
10-Sep-2025df-stgr 47892 Definition of star graphs according to the first definition in Wikipedia, so that (StarGr‘𝑁) has size 𝑁, and order 𝑁 + 1: (StarGr‘0) will be a single vertex (graph without edges), see stgr0 47900, (StarGr‘1) will be a single edge (graph with two vertices connected by an edge), see stgr1 47901, and (StarGr‘3) will be a 3-star or "claw" (a star with 3 edges). (Contributed by AV, 10-Sep-2025.)
StarGr = (𝑛 ∈ ℕ0 ↦ {⟨(Base‘ndx), (0...𝑛)⟩, ⟨(.ef‘ndx), ( I ↾ {𝑒 ∈ 𝒫 (0...𝑛) ∣ ∃𝑥 ∈ (1...𝑛)𝑒 = {0, 𝑥}})⟩})
 
10-Sep-2025pwfseqlem4 10698 Lemma for pwfseq 10700. Derive a final contradiction from the function 𝐹 in pwfseqlem3 10696. Applying fpwwe2 10679 to it, we get a certain maximal well-ordered subset 𝑍, but the defining property (𝑍𝐹(𝑊𝑍)) ∈ 𝑍 contradicts our assumption on 𝐹, so we are reduced to the case of 𝑍 finite. This too is a contradiction, though, because 𝑍 and its preimage under (𝑊𝑍) are distinct sets of the same cardinality and in a subset relation, which is impossible for finite sets. (Contributed by Mario Carneiro, 31-May-2015.) (Proof shortened by Matthew House, 10-Sep-2025.)
(𝜑𝐺:𝒫 𝐴1-1 𝑛 ∈ ω (𝐴m 𝑛))    &   (𝜑𝑋𝐴)    &   (𝜑𝐻:ω–1-1-onto𝑋)    &   (𝜓 ↔ ((𝑥𝐴𝑟 ⊆ (𝑥 × 𝑥) ∧ 𝑟 We 𝑥) ∧ ω ≼ 𝑥))    &   ((𝜑𝜓) → 𝐾: 𝑛 ∈ ω (𝑥m 𝑛)–1-1𝑥)    &   𝐷 = (𝐺‘{𝑤𝑥 ∣ ((𝐾𝑤) ∈ ran 𝐺 ∧ ¬ 𝑤 ∈ (𝐺‘(𝐾𝑤)))})    &   𝐹 = (𝑥 ∈ V, 𝑟 ∈ V ↦ if(𝑥 ∈ Fin, (𝐻‘(card‘𝑥)), (𝐷 {𝑧 ∈ ω ∣ ¬ (𝐷𝑧) ∈ 𝑥})))    &   𝑊 = {⟨𝑎, 𝑠⟩ ∣ ((𝑎𝐴𝑠 ⊆ (𝑎 × 𝑎)) ∧ (𝑠 We 𝑎 ∧ ∀𝑏𝑎 [(𝑠 “ {𝑏}) / 𝑣](𝑣𝐹(𝑠 ∩ (𝑣 × 𝑣))) = 𝑏))}    &   𝑍 = dom 𝑊        ¬ 𝜑
 
10-Sep-2025fpwwe2lem4 10670 Lemma for fpwwe2 10679. (Contributed by Mario Carneiro, 15-May-2015.) (Revised by AV, 20-Jul-2024.) (Proof shortened by Matthew House, 10-Sep-2025.)
𝑊 = {⟨𝑥, 𝑟⟩ ∣ ((𝑥𝐴𝑟 ⊆ (𝑥 × 𝑥)) ∧ (𝑟 We 𝑥 ∧ ∀𝑦𝑥 [(𝑟 “ {𝑦}) / 𝑢](𝑢𝐹(𝑟 ∩ (𝑢 × 𝑢))) = 𝑦))}    &   (𝜑𝐴𝑉)    &   ((𝜑 ∧ (𝑥𝐴𝑟 ⊆ (𝑥 × 𝑥) ∧ 𝑟 We 𝑥)) → (𝑥𝐹𝑟) ∈ 𝐴)       ((𝜑 ∧ (𝑋𝐴𝑅 ⊆ (𝑋 × 𝑋) ∧ 𝑅 We 𝑋)) → (𝑋𝐹𝑅) ∈ 𝐴)
 
10-Sep-2025weeq12d 5672 Equality deduction for well-orderings. (Contributed by Stefan O'Rear, 19-Jan-2015.) (Proof shortened by Matthew House, 10-Sep-2025.)
(𝜑𝑅 = 𝑆)    &   (𝜑𝐴 = 𝐵)       (𝜑 → (𝑅 We 𝐴𝑆 We 𝐵))
 
10-Sep-2025seeq12d 5655 Equality deduction for the set-like predicate. (Contributed by Matthew House, 10-Sep-2025.)
(𝜑𝑅 = 𝑆)    &   (𝜑𝐴 = 𝐵)       (𝜑 → (𝑅 Se 𝐴𝑆 Se 𝐵))
 
10-Sep-2025freq12d 5652 Equality deduction for well-founded relations. (Contributed by Stefan O'Rear, 19-Jan-2015.) (Proof shortened by Matthew House, 10-Sep-2025.)
(𝜑𝑅 = 𝑆)    &   (𝜑𝐴 = 𝐵)       (𝜑 → (𝑅 Fr 𝐴𝑆 Fr 𝐵))
 
10-Sep-2025soeq12d 5613 Equality deduction for total orderings. (Contributed by Stefan O'Rear, 19-Jan-2015.) (Proof shortened by Matthew House, 10-Sep-2025.)
(𝜑𝑅 = 𝑆)    &   (𝜑𝐴 = 𝐵)       (𝜑 → (𝑅 Or 𝐴𝑆 Or 𝐵))
 
10-Sep-2025poeq12d 5595 Equality deduction for partial orderings. (Contributed by Matthew House, 10-Sep-2025.)
(𝜑𝑅 = 𝑆)    &   (𝜑𝐴 = 𝐵)       (𝜑 → (𝑅 Po 𝐴𝑆 Po 𝐵))
 
9-Sep-2025gpg3nbgrvtxlem 47996 Lemma for gpg3nbgrvtx0ALT 48006 and gpg3nbgrvtx1 48007. For this theorem, it is essential that 2 < 𝑁 and 𝐾 < (𝑁 / 2)! (Contributed by AV, 3-Sep-2025.) (Proof shortened by AV, 9-Sep-2025.)
((𝑁 ∈ (ℤ‘3) ∧ 𝐾 ∈ (1..^(⌈‘(𝑁 / 2))) ∧ 𝐴 ∈ (0..^𝑁)) → ((𝐴 + 𝐾) mod 𝑁) ≠ ((𝐴𝐾) mod 𝑁))
 
9-Sep-20252tceilhalfelfzo1 47991 Two times a positive integer less than (the ceiling of) half of another integer is less than the other integer. This theorem would hold even for integers less than 3, but then a corresponding 𝐾 would not exist. (Contributed by AV, 9-Sep-2025.)
((𝑁 ∈ (ℤ‘3) ∧ 𝐾 ∈ (1..^(⌈‘(𝑁 / 2)))) → (2 · 𝐾) < 𝑁)
 
9-Sep-2025trwf 44951 The class of well-founded sets is transitive. (Contributed by Eric Schmidt, 9-Sep-2025.)
Tr (𝑅1 “ On)
 
9-Sep-2025nn0le2xi 12577 A nonnegative integer is less than or equal to twice itself. (Contributed by Raph Levien, 10-Dec-2002.) (Proof shortened by AV, 9-Sep-2025.)
𝑁 ∈ ℕ0       𝑁 ≤ (2 · 𝑁)
 
9-Sep-2025nn0le2x 12576 A nonnegative integer is less than or equal to twice itself. Generalization of nn0le2xi 12577. (Contributed by Raph Levien, 10-Dec-2002.) (Revised by AV, 9-Sep-2025.)
(𝑁 ∈ ℕ0𝑁 ≤ (2 · 𝑁))
 
8-Sep-2025gpg5nbgr3star 48010 In a generalized Petersen graph G(N,K) of order 10 (𝑁 = 5), these are the Petersen graph G(5,2) and the 5-prism G(5,1), every vertex has exactly three (different) neighbors, and none of these neighbors are connected by an edge (i.e., the (closed) neighborhood of every vertex induces a subgraph which is isomorphic to a 3-star). This does not hold for every generalized Petersen graph: for example, in the 3-prism G(3,1) (see gpg31grim3prism TODO) and the Dürer graph G(6,2) there are vertices which have neighborhoods containing triangles. In general, all generalized Peterson graphs G(N,K) with 𝑁 = 3 · 𝐾 contain triangles, see gpg3kgrtriex 48018. (Contributed by AV, 8-Sep-2025.)
𝐽 = (1..^(⌈‘(𝑁 / 2)))    &   𝐺 = (𝑁 gPetersenGr 𝐾)    &   𝑉 = (Vtx‘𝐺)    &   𝑈 = (𝐺 NeighbVtx 𝑋)    &   𝐸 = (Edg‘𝐺)       ((𝑁 = 5 ∧ 𝐾𝐽𝑋𝑉) → ((♯‘𝑈) = 3 ∧ ∀𝑥𝑈𝑦𝑈 {𝑥, 𝑦} ∉ 𝐸))
 
8-Sep-2025gpg5nbgrvtx13starlem3 48002 Lemma 3 for gpg5nbgr3star 48010. (Contributed by AV, 8-Sep-2025.)
𝐽 = (1..^(⌈‘(𝑁 / 2)))    &   𝐺 = (𝑁 gPetersenGr 𝐾)    &   𝑉 = (Vtx‘𝐺)    &   𝐸 = (Edg‘𝐺)       (((𝑁 = 5 ∧ 𝐾𝐽) ∧ 𝑋𝑊) → {⟨0, 𝑋⟩, ⟨1, ((𝑋𝐾) mod 𝑁)⟩} ∉ 𝐸)
 
8-Sep-2025gpg5nbgrvtx13starlem2 48001 Lemma 2 for gpg5nbgr3star 48010. (Contributed by AV, 8-Sep-2025.)
𝐽 = (1..^(⌈‘(𝑁 / 2)))    &   𝐺 = (𝑁 gPetersenGr 𝐾)    &   𝑉 = (Vtx‘𝐺)    &   𝐸 = (Edg‘𝐺)       (((𝑁 = 5 ∧ 𝐾𝐽) ∧ 𝑋 ∈ ℤ) → {⟨1, ((𝑋 + 𝐾) mod 𝑁)⟩, ⟨1, ((𝑋𝐾) mod 𝑁)⟩} ∉ 𝐸)
 
8-Sep-2025gpgedgvtx1lem 47990 Lemma for gpgedgvtx1 47993. (Contributed by AV, 1-Sep-2025.) (Proof shortened by AV, 8-Sep-2025.)
𝐽 = (1..^(⌈‘(𝑁 / 2)))    &   𝐼 = (0..^𝑁)       ((𝑁 ∈ (ℤ‘3) ∧ 𝑋𝐽) → 𝑋𝐼)
 
8-Sep-2025minusmodnep2tmod 47328 A nonnegative integer minus a positive integer 1 or 2 is not itself plus 2 times the positive integer modulo 5. (Contributed by AV, 8-Sep-2025.)
((𝐴 ∈ ℤ ∧ 𝐵 ∈ (1..^3)) → ((𝐴𝐵) mod 5) ≠ ((𝐴 + (2 · 𝐵)) mod 5))
 
8-Sep-2025weiunlem1 36441 Lemma for weiunpo 36444, weiunso 36445, weiunfr 36446, and weiunse 36447. (Contributed by Matthew House, 8-Sep-2025.)
𝐹 = (𝑤 𝑥𝐴 𝐵 ↦ (𝑢 ∈ {𝑥𝐴𝑤𝐵}∀𝑣 ∈ {𝑥𝐴𝑤𝐵} ¬ 𝑣𝑅𝑢))    &   𝑇 = {⟨𝑦, 𝑧⟩ ∣ ((𝑦 𝑥𝐴 𝐵𝑧 𝑥𝐴 𝐵) ∧ ((𝐹𝑦)𝑅(𝐹𝑧) ∨ ((𝐹𝑦) = (𝐹𝑧) ∧ 𝑦(𝐹𝑦) / 𝑥𝑆𝑧)))}       (𝐶𝑇𝐷 ↔ ((𝐶 𝑥𝐴 𝐵𝐷 𝑥𝐴 𝐵) ∧ ((𝐹𝐶)𝑅(𝐹𝐷) ∨ ((𝐹𝐶) = (𝐹𝐷) ∧ 𝐶(𝐹𝐶) / 𝑥𝑆𝐷))))
 
8-Sep-20255ndvds6 16447 5 does not divide 6. (Contributed by AV, 8-Sep-2025.)
¬ 5 ∥ 6
 
8-Sep-20255ndvds3 16446 5 does not divide 3. (Contributed by AV, 8-Sep-2025.)
¬ 5 ∥ 3
 
8-Sep-2025addmulmodb 16299 An integer plus a product is itself modulo a positive integer iff the product is divisible by the positive integer. (Contributed by AV, 8-Sep-2025.)
((𝑁 ∈ ℕ ∧ (𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝐶 ∈ ℤ)) → (𝑁 ∥ (𝐵 · 𝐶) ↔ ((𝐴 + (𝐵 · 𝐶)) mod 𝑁) = (𝐴 mod 𝑁)))
 
7-Sep-2025gpg5nbgrvtx13starlem1 48000 Lemma 1 for gpg5nbgr3star 48010. (Contributed by AV, 7-Sep-2025.)
𝐽 = (1..^(⌈‘(𝑁 / 2)))    &   𝐺 = (𝑁 gPetersenGr 𝐾)    &   𝑉 = (Vtx‘𝐺)    &   𝐸 = (Edg‘𝐺)       (((𝑁 = 5 ∧ 𝐾𝐽) ∧ 𝑋𝑊) → {⟨1, ((𝑋 + 𝐾) mod 𝑁)⟩, ⟨0, 𝑋⟩} ∉ 𝐸)
 
7-Sep-2025ceilhalfelfzo1 47989 A positive integer less than (the ceiling of) half of another integer is in the half-open range of positive integers up to the other integer. (Contributed by AV, 7-Sep-2025.)
𝐽 = (1..^(⌈‘(𝑁 / 2)))       (𝑁 ∈ ℕ → (𝐾𝐽𝐾 ∈ (1..^𝑁)))
 
7-Sep-2025minusmod5ne 47324 A nonnegative integer is not itself minus a positive integer less than 5 modulo 5. (Contributed by AV, 7-Sep-2025.)
((𝐴 ∈ (0..^5) ∧ 𝐾 ∈ (1..^5)) → ((𝐴𝐾) mod 5) ≠ 𝐴)
 
7-Sep-2025submodaddmod 47316 Subtraction and addition modulo a positive integer. (Contributed by AV, 7-Sep-2025.)
((𝑁 ∈ ℕ ∧ (𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝐶 ∈ ℤ)) → (((𝐴 + 𝐵) mod 𝑁) = ((𝐴𝐶) mod 𝑁) ↔ ((𝐴 + (𝐵 + 𝐶)) mod 𝑁) = (𝐴 mod 𝑁)))
 
7-Sep-2025ceil5half3 47315 The ceiling of half of 5 is 3. (Contributed by AV, 7-Sep-2025.)
(⌈‘(5 / 2)) = 3
 
7-Sep-2025ceildivmod 47314 Expressing the ceiling of a division by the modulo operator. (Contributed by AV, 7-Sep-2025.)
((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) → (⌈‘(𝐴 / 𝐵)) = ((𝐴 + ((𝐵𝐴) mod 𝐵)) / 𝐵))
 
7-Sep-2025wl-isseteq 37484 A class equal to a set variable implies it is a set. Note that 𝐴 may be dependent on 𝑥. The consequent, resembling ax6ev 1969, is the accepted expression for the idea of a class being a set. Sometimes a simpler expression like the antecedent here, or in elisset 2822, is already sufficient to mark a class variable as a set. (Contributed by Wolf Lammen, 7-Sep-2025.)
(𝑥 = 𝐴 → ∃𝑦 𝑦 = 𝐴)
 
7-Sep-2025muladdmod 13949 A real number is the sum of the number and a multiple of a positive real number modulo the positive real number. (Contributed by AV, 7-Sep-2025.)
((𝐴 ∈ ℝ ∧ 𝑀 ∈ ℝ+𝑁 ∈ ℤ) → (((𝑁 · 𝑀) + 𝐴) mod 𝑀) = (𝐴 mod 𝑀))
 
7-Sep-20255eluz3 12923 5 is an integer greater than or equal to 3. (Contributed by AV, 7-Sep-2025.)
5 ∈ (ℤ‘3)
 
6-Sep-2025gpg5nbgrvtx03starlem2 47998 Lemma 2 for gpg5nbgrvtx03star 48009. (Contributed by AV, 6-Sep-2025.)
𝐽 = (1..^(⌈‘(𝑁 / 2)))    &   𝐺 = (𝑁 gPetersenGr 𝐾)    &   𝑉 = (Vtx‘𝐺)    &   𝐸 = (Edg‘𝐺)       ((𝑁 ∈ (ℤ‘4) ∧ 𝐾𝐽𝑋 ∈ ℤ) → {⟨0, ((𝑋 + 1) mod 𝑁)⟩, ⟨0, ((𝑋 − 1) mod 𝑁)⟩} ∉ 𝐸)
 
6-Sep-2025gpgusgralem 47984 Lemma for gpgusgra 47985. (Contributed by AV, 27-Aug-2025.) (Proof shortened by AV, 6-Sep-2025.)
𝐽 = (1..^(⌈‘(𝑁 / 2)))    &   𝐼 = (0..^𝑁)       ((𝑁 ∈ (ℤ‘3) ∧ 𝐾𝐽) → {𝑒 ∈ 𝒫 ({0, 1} × 𝐼) ∣ ∃𝑥𝐼 (𝑒 = {⟨0, 𝑥⟩, ⟨0, ((𝑥 + 1) mod 𝑁)⟩} ∨ 𝑒 = {⟨0, 𝑥⟩, ⟨1, 𝑥⟩} ∨ 𝑒 = {⟨1, 𝑥⟩, ⟨1, ((𝑥 + 𝐾) mod 𝑁)⟩})} ⊆ {𝑝 ∈ 𝒫 ({0, 1} × 𝐼) ∣ (♯‘𝑝) = 2})
 
6-Sep-2025m1modnep2mod 47327 A nonnegative integer minus 1 is not itself plus 2 modulo an integer greater than 3 and the nonnegative integer. (Contributed by AV, 6-Sep-2025.)
((𝑁 ∈ (ℤ‘4) ∧ 𝐴 ∈ ℤ) → ((𝐴 − 1) mod 𝑁) ≠ ((𝐴 + 2) mod 𝑁))
 
6-Sep-2025submodneaddmod 47326 An integer minus 𝐵 is not itself plus 𝐶 modulo an integer greater than the sum of 𝐵 and 𝐶. (Contributed by AV, 6-Sep-2025.)
((𝑁 ∈ ℕ ∧ (𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝐶 ∈ ℤ) ∧ (1 ≤ (𝐵 + 𝐶) ∧ (𝐵 + 𝐶) < 𝑁)) → ((𝐴 + 𝐵) mod 𝑁) ≠ ((𝐴𝐶) mod 𝑁))
 
6-Sep-2025m1modne 47323 A nonnegative integer is not itself minus 1 modulo an integer greater than 1 and the nonnegative integer. (Contributed by AV, 6-Sep-2025.)
((𝑁 ∈ (ℤ‘2) ∧ 𝐴 ∈ (0..^𝑁)) → ((𝐴 − 1) mod 𝑁) ≠ 𝐴)
 
6-Sep-2025p1modne 47322 A nonnegative integer is not itself plus 1 modulo an integer greater than 1 and the nonnegative integer. (Contributed by AV, 6-Sep-2025.)
((𝑁 ∈ (ℤ‘2) ∧ 𝐴 ∈ (0..^𝑁)) → ((𝐴 + 1) mod 𝑁) ≠ 𝐴)
 
6-Sep-2025zp1modne 47321 An integer is not itself plus 1 modulo an integer greater than 1. (Contributed by AV, 6-Sep-2025.)
((𝑁 ∈ (ℤ‘2) ∧ 𝐴 ∈ ℤ) → ((𝐴 + 1) mod 𝑁) ≠ (𝐴 mod 𝑁))
 
6-Sep-2025plusmod5ne 47320 A nonnegative integer is not itself plus a positive integer less than 5 modulo 5. (Contributed by AV, 6-Sep-2025.)
((𝐴 ∈ (0..^5) ∧ 𝐾 ∈ (1..^5)) → ((𝐴 + 𝐾) mod 5) ≠ 𝐴)
 
6-Sep-2025addmodne 47319 The sum of a nonnegative integer and a positive integer modulo a number greater than both integers is not equal to the nonnegative integer. (Contributed by AV, 27-Aug-2025.) (Proof shortened by AV, 6-Sep-2025.)
((𝑀 ∈ ℕ ∧ (𝐴 ∈ ℕ0𝐴 < 𝑀) ∧ (𝐵 ∈ ℕ ∧ 𝐵 < 𝑀)) → ((𝐴 + 𝐵) mod 𝑀) ≠ 𝐴)
 
6-Sep-2025zplusmodne 47318 A nonnegative integer is not itself plus a positive integer modulo an integer greater than 1 and the positive integer. (Contributed by AV, 6-Sep-2025.)
((𝑁 ∈ (ℤ‘2) ∧ 𝐴 ∈ ℤ ∧ 𝐾 ∈ (1..^𝑁)) → ((𝐴 + 𝐾) mod 𝑁) ≠ (𝐴 mod 𝑁))
 
6-Sep-2025difltmodne 47317 Two nonnegative integers are not equal modulo a positive modulus if their difference is greater than 0 and less then the modulus. (Contributed by AV, 6-Sep-2025.)
((𝑁 ∈ ℕ ∧ (𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (1 ≤ (𝐴𝐵) ∧ (𝐴𝐵) < 𝑁)) → (𝐴 mod 𝑁) ≠ (𝐵 mod 𝑁))
 
5-Sep-2025gpg5nbgrvtx03starlem3 47999 Lemma 3 for gpg5nbgrvtx03star 48009. (Contributed by AV, 5-Sep-2025.)
𝐽 = (1..^(⌈‘(𝑁 / 2)))    &   𝐺 = (𝑁 gPetersenGr 𝐾)    &   𝑉 = (Vtx‘𝐺)    &   𝐸 = (Edg‘𝐺)       ((𝑁 ∈ (ℤ‘3) ∧ 𝐾𝐽𝑋𝑊) → {⟨1, 𝑋⟩, ⟨0, ((𝑋 − 1) mod 𝑁)⟩} ∉ 𝐸)
 
5-Sep-2025gpg5nbgrvtx03starlem1 47997 Lemma 1 for gpg5nbgrvtx03star 48009. (Contributed by AV, 5-Sep-2025.)
𝐽 = (1..^(⌈‘(𝑁 / 2)))    &   𝐺 = (𝑁 gPetersenGr 𝐾)    &   𝑉 = (Vtx‘𝐺)    &   𝐸 = (Edg‘𝐺)       ((𝑁 ∈ (ℤ‘3) ∧ 𝐾𝐽𝑋𝑊) → {⟨0, ((𝑋 + 1) mod 𝑁)⟩, ⟨1, 𝑋⟩} ∉ 𝐸)
 
5-Sep-2025eluz4eluz3 12922 An integer greater than or equal to 4 is an integer greater than or equal to 3. (Contributed by AV, 5-Sep-2025.)
(𝑋 ∈ (ℤ‘4) → 𝑋 ∈ (ℤ‘3))
 
5-Sep-2025prneimg2 4853 Two pairs are not equal if their counterparts are not equal. (Contributed by AV, 5-Sep-2025.)
(((𝐴𝑈𝐵𝑉) ∧ (𝐶𝑋𝐷𝑌)) → ({𝐴, 𝐵} ≠ {𝐶, 𝐷} ↔ ((𝐴𝐶𝐵𝐷) ∧ (𝐴𝐷𝐵𝐶))))
 
4-Sep-2025gpgvtxdg3 48011 Every vertex in a generalized Petersen graph has degree 3. (Contributed by AV, 4-Sep-2025.)
𝐽 = (1..^(⌈‘(𝑁 / 2)))    &   𝐺 = (𝑁 gPetersenGr 𝐾)    &   𝑉 = (Vtx‘𝐺)       ((𝑁 ∈ (ℤ‘3) ∧ 𝐾𝐽𝑋𝑉) → ((VtxDeg‘𝐺)‘𝑋) = 3)
 
4-Sep-2025gpg3nbgrvtx0ALT 48006 In a generalized Petersen graph 𝐺, every outside vertex has exactly three (different) neighbors. (Contributed by AV, 30-Aug-2025.)

The proof of gpg3nbgrvtx0 48005 can be shortened using lemma gpg3nbgrvtxlem 47996, but then theorem 2ltceilhalf 47988 is required which is based on an "example" ex-ceil 30457. If these theorems were moved to main, the "example" should also be moved up to become a full-fledged theorem. (Proof shortened by AV, 4-Sep-2025.) (Proof modification is discouraged.) (New usage is discouraged.)

𝐽 = (1..^(⌈‘(𝑁 / 2)))    &   𝐺 = (𝑁 gPetersenGr 𝐾)    &   𝑉 = (Vtx‘𝐺)    &   𝑈 = (𝐺 NeighbVtx 𝑋)       (((𝑁 ∈ (ℤ‘3) ∧ 𝐾𝐽) ∧ (𝑋𝑉 ∧ (1st𝑋) = 0)) → (♯‘𝑈) = 3)
 
4-Sep-20252ltceilhalf 47988 The ceiling of half of an integer greater than 2 is greater than or equal to 2. (Contributed by AV, 4-Sep-2025.)
(𝑁 ∈ (ℤ‘3) → 2 ≤ (⌈‘(𝑁 / 2)))
 
4-Sep-2025mhpvscacl 22150 Homogeneous polynomials are closed under scalar multiplication. (Contributed by SN, 25-Sep-2023.) Remove closure hypotheses. (Revised by SN, 4-Sep-2025.)
𝐻 = (𝐼 mHomP 𝑅)    &   𝑃 = (𝐼 mPoly 𝑅)    &    · = ( ·𝑠𝑃)    &   𝐾 = (Base‘𝑅)    &   (𝜑𝑅 ∈ Ring)    &   (𝜑𝑋𝐾)    &   (𝜑𝐹 ∈ (𝐻𝑁))       (𝜑 → (𝑋 · 𝐹) ∈ (𝐻𝑁))
 
4-Sep-2025mhpinvcl 22148 Homogeneous polynomials are closed under taking the opposite. (Contributed by SN, 12-Sep-2023.) Remove closure hypotheses. (Revised by SN, 4-Sep-2025.)
𝐻 = (𝐼 mHomP 𝑅)    &   𝑃 = (𝐼 mPoly 𝑅)    &   𝑀 = (invg𝑃)    &   (𝜑𝑅 ∈ Grp)    &   (𝜑𝑋 ∈ (𝐻𝑁))       (𝜑 → (𝑀𝑋) ∈ (𝐻𝑁))
 
4-Sep-2025mhpaddcl 22147 Homogeneous polynomials are closed under addition. (Contributed by SN, 26-Aug-2023.) Remove closure hypotheses. (Revised by SN, 4-Sep-2025.)
𝐻 = (𝐼 mHomP 𝑅)    &   𝑃 = (𝐼 mPoly 𝑅)    &    + = (+g𝑃)    &   (𝜑𝑅 ∈ Grp)    &   (𝜑𝑋 ∈ (𝐻𝑁))    &   (𝜑𝑌 ∈ (𝐻𝑁))       (𝜑 → (𝑋 + 𝑌) ∈ (𝐻𝑁))
 
4-Sep-2025mhppwdeg 22146 Degree of a homogeneous polynomial raised to a power. General version of deg1pw 26150. (Contributed by SN, 26-Jul-2024.) Remove closure hypotheses. (Revised by SN, 4-Sep-2025.)
𝐻 = (𝐼 mHomP 𝑅)    &   𝑃 = (𝐼 mPoly 𝑅)    &   𝑇 = (mulGrp‘𝑃)    &    = (.g𝑇)    &   (𝜑𝑅 ∈ Ring)    &   (𝜑𝑁 ∈ ℕ0)    &   (𝜑𝑋 ∈ (𝐻𝑀))       (𝜑 → (𝑁 𝑋) ∈ (𝐻‘(𝑀 · 𝑁)))
 
4-Sep-2025mhpmulcl 22145 A product of homogeneous polynomials is a homogeneous polynomial whose degree is the sum of the degrees of the factors. Compare mdegmulle2 26108 (which shows less-than-or-equal instead of equal). (Contributed by SN, 22-Jul-2024.) Remove closure hypotheses. (Revised by SN, 4-Sep-2025.)
𝐻 = (𝐼 mHomP 𝑅)    &   𝑌 = (𝐼 mPoly 𝑅)    &    · = (.r𝑌)    &   (𝜑𝑅 ∈ Ring)    &   (𝜑𝑃 ∈ (𝐻𝑀))    &   (𝜑𝑄 ∈ (𝐻𝑁))       (𝜑 → (𝑃 · 𝑄) ∈ (𝐻‘(𝑀 + 𝑁)))
 
4-Sep-2025fzo1lb 13749 1 is the left endpoint of a half-open integer range based at 1 iff the right endpoint is an integer greater than 1. (Contributed by AV, 4-Sep-2025.)
(1 ∈ (1..^𝑁) ↔ 𝑁 ∈ (ℤ‘2))
 
3-Sep-2025gpgcubic 48008 Every generalized Petersen graph is a cubic graph, i.e., it is a 3-regular graph, i.e., every vertex has degree 3 (see gpgvtxdg3 48011), i.e., every vertex has exactly three (different) neighbors. (Contributed by AV, 3-Sep-2025.)
𝐽 = (1..^(⌈‘(𝑁 / 2)))    &   𝐺 = (𝑁 gPetersenGr 𝐾)    &   𝑉 = (Vtx‘𝐺)    &   𝑈 = (𝐺 NeighbVtx 𝑋)       ((𝑁 ∈ (ℤ‘3) ∧ 𝐾𝐽𝑋𝑉) → (♯‘𝑈) = 3)
 
3-Sep-2025gpg3nbgrvtx1 48007 In a generalized Petersen graph 𝐺, every inside vertex has exactly three (different) neighbors. (Contributed by AV, 3-Sep-2025.)
𝐽 = (1..^(⌈‘(𝑁 / 2)))    &   𝐺 = (𝑁 gPetersenGr 𝐾)    &   𝑉 = (Vtx‘𝐺)    &   𝑈 = (𝐺 NeighbVtx 𝑋)       (((𝑁 ∈ (ℤ‘3) ∧ 𝐾𝐽) ∧ (𝑋𝑉 ∧ (1st𝑋) = 1)) → (♯‘𝑈) = 3)
 
3-Sep-2025sbco4 2102 Two ways of exchanging two variables. Both sides of the biconditional exchange 𝑥 and 𝑦, either via two temporary variables 𝑢 and 𝑣, or a single temporary 𝑤. (Contributed by Jim Kingdon, 25-Sep-2018.) Avoid ax-11 2157. (Revised by SN, 3-Sep-2025.)
([𝑦 / 𝑢][𝑥 / 𝑣][𝑢 / 𝑥][𝑣 / 𝑦]𝜑 ↔ [𝑥 / 𝑤][𝑦 / 𝑥][𝑤 / 𝑦]𝜑)
 
3-Sep-2025sbco4lem 2101 Lemma for sbco4 2102. It replaces the temporary variable 𝑣 with another temporary variable 𝑤. (Contributed by Jim Kingdon, 26-Sep-2018.) (Proof shortened by Wolf Lammen, 12-Oct-2024.) Avoid ax-11 2157. (Revised by SN, 3-Sep-2025.)
([𝑥 / 𝑣][𝑦 / 𝑥][𝑣 / 𝑦]𝜑 ↔ [𝑥 / 𝑤][𝑦 / 𝑥][𝑤 / 𝑦]𝜑)
 
2-Sep-2025gpgnbgrvtx1 48004 The (open) neighborhood of an inside vertex in a generalized Petersen graph 𝐺. (Contributed by AV, 2-Sep-2025.)
𝐽 = (1..^(⌈‘(𝑁 / 2)))    &   𝐺 = (𝑁 gPetersenGr 𝐾)    &   𝑉 = (Vtx‘𝐺)    &   𝑈 = (𝐺 NeighbVtx 𝑋)       (((𝑁 ∈ (ℤ‘3) ∧ 𝐾𝐽) ∧ (𝑋𝑉 ∧ (1st𝑋) = 1)) → 𝑈 = {⟨1, (((2nd𝑋) + 𝐾) mod 𝑁)⟩, ⟨0, (2nd𝑋)⟩, ⟨1, (((2nd𝑋) − 𝐾) mod 𝑁)⟩})
 
2-Sep-2025gpgvtxedg1 47995 The edges starting at an inside vertex 𝑋 in a generalized Petersen graph 𝐺. (Contributed by AV, 2-Sep-2025.)
𝐽 = (1..^(⌈‘(𝑁 / 2)))    &   𝐺 = (𝑁 gPetersenGr 𝐾)    &   𝑉 = (Vtx‘𝐺)    &   𝐸 = (Edg‘𝐺)       (((𝑁 ∈ (ℤ‘3) ∧ 𝐾𝐽) ∧ (1st𝑋) = 1 ∧ {𝑋, 𝑌} ∈ 𝐸) → (𝑌 = ⟨1, (((2nd𝑋) + 𝐾) mod 𝑁)⟩ ∨ 𝑌 = ⟨0, (2nd𝑋)⟩ ∨ 𝑌 = ⟨1, (((2nd𝑋) − 𝐾) mod 𝑁)⟩))
 
2-Sep-2025gpgedgvtx1 47993 The edges starting at an inside vertex in a generalized Petersen graph 𝐺. (Contributed by AV, 2-Sep-2025.)
𝐽 = (1..^(⌈‘(𝑁 / 2)))    &   𝐺 = (𝑁 gPetersenGr 𝐾)    &   𝑉 = (Vtx‘𝐺)    &   𝐸 = (Edg‘𝐺)       (((𝑁 ∈ (ℤ‘3) ∧ 𝐾𝐽) ∧ (𝑋𝑉 ∧ (1st𝑋) = 1)) → ({𝑋, ⟨1, (((2nd𝑋) + 𝐾) mod 𝑁)⟩} ∈ 𝐸 ∧ {𝑋, ⟨0, (2nd𝑋)⟩} ∈ 𝐸 ∧ {𝑋, ⟨1, (((2nd𝑋) − 𝐾) mod 𝑁)⟩} ∈ 𝐸))
 
2-Sep-2025nfa1w 42663 Replace ax-10 2141 in nfa1 2151 with a substitution hypothesis. (Contributed by SN, 2-Sep-2025.)
(𝑥 = 𝑦 → (𝜑𝜓))       𝑥𝑥𝜑
 
2-Sep-2025tan3rdpi 42364 The tangent of π / 3 is √3. (Contributed by SN, 2-Sep-2025.)
(tan‘(π / 3)) = (√‘3)
 
2-Sep-2025tanhalfpim 42363 The tangent of π / 2 minus a number is the cotangent, here represented by cos𝐴 / sin𝐴. (Contributed by SN, 2-Sep-2025.)
(𝜑𝐴 ∈ ℂ)    &   (𝜑 → (sin‘𝐴) ≠ 0)       (𝜑 → (tan‘((π / 2) − 𝐴)) = ((cos‘𝐴) / (sin‘𝐴)))
 
2-Sep-2025tan4thpi 26546 The tangent of π / 4. (Contributed by Mario Carneiro, 5-Apr-2015.) (Proof shortened by SN, 2-Sep-2025.)
(tan‘(π / 4)) = 1
 
1-Sep-2025submodlt 47325 The difference of an element of a half-open range of nonnegative integers and the upper bound of this range modulo an integer greater than the upper bound. (Contributed by AV, 1-Sep-2025.)
((𝑁 ∈ ℕ ∧ 𝐴 ∈ (0..^𝐵) ∧ 𝐵 < 𝑁) → ((𝐴𝐵) mod 𝑁) = ((𝑁 + 𝐴) − 𝐵))
 
1-Sep-2025iineq12dv 45084 Equality deduction for indexed intersection. (Contributed by Glauco Siliprandi, 26-Jun-2021.) Remove DV conditions. (Revised by GG, 1-Sep-2025.)
(𝜑𝐴 = 𝐵)    &   ((𝜑𝑥𝐵) → 𝐶 = 𝐷)       (𝜑 𝑥𝐴 𝐶 = 𝑥𝐵 𝐷)
 
1-Sep-2025iuneq1i 45063 Equality theorem for indexed union. (Contributed by Glauco Siliprandi, 3-Mar-2021.) Remove DV conditions. (Revised by GG, 1-Sep-2025.)
𝐴 = 𝐵        𝑥𝐴 𝐶 = 𝑥𝐵 𝐶
 
1-Sep-2025cbvditgvw2 36228 Change bound variable and domain in a directed integral, using implicit substitution. (Contributed by GG, 1-Sep-2025.)
𝐴 = 𝐵    &   𝐶 = 𝐷    &   (𝑥 = 𝑦𝐸 = 𝐹)       ⨜[𝐴𝐶]𝐸 d𝑥 = ⨜[𝐵𝐷]𝐹 d𝑦
 
1-Sep-2025cbvprodvw2 36226 Change bound variable and the set of integers in a product, using implicit substitution. (Contributed by GG, 1-Sep-2025.)
𝐴 = 𝐵    &   (𝑗 = 𝑘𝐶 = 𝐷)       𝑗𝐴 𝐶 = ∏𝑘𝐵 𝐷
 
1-Sep-2025cbvsumvw2 36225 Change bound variable and the set of integers in a sum, using implicit substitution. (Contributed by GG, 1-Sep-2025.)
𝐴 = 𝐵    &   (𝑗 = 𝑘𝐶 = 𝐷)       Σ𝑗𝐴 𝐶 = Σ𝑘𝐵 𝐷
 
1-Sep-2025cbvcsbvw2 36210 Change bound variable of a proper substitution into a class using implicit substitution. General version of cbvcsbv 3910. (Contributed by GG, 1-Sep-2025.)
𝐴 = 𝐵    &   (𝑥 = 𝑦𝐶 = 𝐷)       𝐴 / 𝑥𝐶 = 𝐵 / 𝑦𝐷
 
1-Sep-2025cbvsbcvw2 36209 Change bound variable of a class substitution using implicit substitution. General version of cbvsbcvw 3821. (Contributed by GG, 1-Sep-2025.)
𝐴 = 𝐵    &   (𝑥 = 𝑦 → (𝜑𝜓))       ([𝐴 / 𝑥]𝜑[𝐵 / 𝑦]𝜓)
 
1-Sep-2025ditgeq3sdv 36202 Equality theorem for the directed integral. Deduction form. (Contributed by GG, 1-Sep-2025.)
(𝜑𝐶 = 𝐷)       (𝜑 → ⨜[𝐴𝐵]𝐶 d𝑥 = ⨜[𝐴𝐵]𝐷 d𝑥)
 
1-Sep-2025ditgeq12d 36201 Equality theorem for the directed integral. Deduction form. (Contributed by GG, 1-Sep-2025.)
(𝜑𝐴 = 𝐵)    &   (𝜑𝐶 = 𝐷)       (𝜑 → ⨜[𝐴𝐶]𝐸 d𝑥 = ⨜[𝐵𝐷]𝐸 d𝑥)
 
1-Sep-2025ditgeq123dv 36200 Equality theorem for the directed integral. Deduction form. General version of ditgeq3sdv 36202. (Contributed by GG, 1-Sep-2025.)
(𝜑𝐴 = 𝐵)    &   (𝜑𝐶 = 𝐷)    &   (𝜑𝐸 = 𝐹)       (𝜑 → ⨜[𝐴𝐶]𝐸 d𝑥 = ⨜[𝐵𝐷]𝐹 d𝑥)
 
1-Sep-2025itgeq2sdv 36199 Equality theorem for an integral. Deduction form. (Contributed by GG, 1-Sep-2025.)
(𝜑𝐵 = 𝐶)       (𝜑 → ∫𝐴𝐵 d𝑥 = ∫𝐴𝐶 d𝑥)
 
1-Sep-2025itgeq12sdv 36198 Equality theorem for an integral. Deduction form. General version of itgeq1d 45945 and itgeq2sdv 36199. (Contributed by GG, 1-Sep-2025.)
(𝜑𝐴 = 𝐵)    &   (𝜑𝐶 = 𝐷)       (𝜑 → ∫𝐴𝐶 d𝑥 = ∫𝐵𝐷 d𝑥)
 
1-Sep-2025prodeq12sdv 36197 Equality deduction for product. General version of prodeq2sdv 15955. (Contributed by GG, 1-Sep-2025.)
(𝜑𝐴 = 𝐵)    &   (𝜑𝐶 = 𝐷)       (𝜑 → ∏𝑘𝐴 𝐶 = ∏𝑘𝐵 𝐷)
 
1-Sep-2025sumeq12sdv 36196 Equality deduction for sum. General version of sumeq2sdv 15735. (Contributed by GG, 1-Sep-2025.)
(𝜑𝐴 = 𝐵)    &   (𝜑𝐶 = 𝐷)       (𝜑 → Σ𝑘𝐴 𝐶 = Σ𝑘𝐵 𝐷)
 
1-Sep-2025ixpeq12dv 36195 Equality theorem for infinite Cartesian product. Deduction version. (Contributed by GG, 1-Sep-2025.)
(𝜑𝐴 = 𝐵)    &   (𝜑𝐶 = 𝐷)       (𝜑X𝑥𝐴 𝐶 = X𝑥𝐵 𝐷)
 
1-Sep-2025disjeq12dv 36194 Equality theorem for disjoint collection. Deduction version. (Contributed by GG, 1-Sep-2025.)
(𝜑𝐴 = 𝐵)    &   (𝜑𝐶 = 𝐷)       (𝜑 → (Disj 𝑥𝐴 𝐶Disj 𝑥𝐵 𝐷))
 
1-Sep-2025sbequbidv 36193 Deduction substituting both sides of a biconditional. (Contributed by GG, 1-Sep-2025.)
(𝜑𝑢 = 𝑣)    &   (𝜑 → (𝜓𝜒))       (𝜑 → ([𝑢 / 𝑥]𝜓 ↔ [𝑣 / 𝑥]𝜒))
 
1-Sep-2025rmoeqbidv 36192 Formula-building rule for restricted at-most-one quantifier. Deduction form. General version of rmobidv 3396. (Contributed by GG, 1-Sep-2025.)
(𝜑𝐴 = 𝐵)    &   (𝜑 → (𝜓𝜒))       (𝜑 → (∃*𝑥𝐴 𝜓 ↔ ∃*𝑥𝐵 𝜒))
 
1-Sep-2025rmoeqdv 36191 Formula-building rule for restricted at-most-one quantifier. Deduction form. (Contributed by GG, 1-Sep-2025.)
(𝜑𝐴 = 𝐵)       (𝜑 → (∃*𝑥𝐴 𝜓 ↔ ∃*𝑥𝐵 𝜓))
 
1-Sep-2025ditgeq3i 36190 Equality inference for the directed integral. (Contributed by GG, 1-Sep-2025.)
𝐶 = 𝐷       ⨜[𝐴𝐵]𝐶 d𝑥 = ⨜[𝐴𝐵]𝐷 d𝑥
 
1-Sep-2025ditgeq12i 36189 Equality inference for the directed integral. (Contributed by GG, 1-Sep-2025.)
𝐴 = 𝐵    &   𝐶 = 𝐷       ⨜[𝐴𝐶]𝐸 d𝑥 = ⨜[𝐵𝐷]𝐸 d𝑥
 
1-Sep-2025ditgeq123i 36188 Equality inference for the directed integral. General version of ditgeq12i 36189 and ditgeq3i 36190. (Contributed by GG, 1-Sep-2025.)
𝐴 = 𝐵    &   𝐶 = 𝐷    &   𝐸 = 𝐹       ⨜[𝐴𝐶]𝐸 d𝑥 = ⨜[𝐵𝐷]𝐹 d𝑥
 
1-Sep-2025itgeq2i 36187 Equality inference for an integral. (Contributed by GG, 1-Sep-2025.)
𝐵 = 𝐶       𝐴𝐵 d𝑥 = ∫𝐴𝐶 d𝑥
 
1-Sep-2025itgeq1i 36186 Equality inference for an integral. (Contributed by GG, 1-Sep-2025.)
𝐴 = 𝐵       𝐴𝐶 d𝑥 = ∫𝐵𝐶 d𝑥
 
1-Sep-2025itgeq12i 36185 Equality inference for an integral. General version of itgeq1i 36186 and itgeq2i 36187. (Contributed by GG, 1-Sep-2025.)
𝐴 = 𝐵    &   𝐶 = 𝐷       𝐴𝐶 d𝑥 = ∫𝐵𝐷 d𝑥
 
1-Sep-2025prodeq12si 36184 Equality inference for product. General version of prodeq2si 36183. (Contributed by GG, 1-Sep-2025.)
𝐴 = 𝐵    &   𝐶 = 𝐷       𝑥𝐴 𝐶 = ∏𝑥𝐵 𝐷
 
1-Sep-2025prodeq2si 36183 Equality inference for product. (Contributed by GG, 1-Sep-2025.)
𝐵 = 𝐶       𝑘𝐴 𝐵 = ∏𝑘𝐴 𝐶
 
1-Sep-2025sumeq12si 36182 Equality inference for sum. General version of sumeq2si 36181. (Contributed by GG, 1-Sep-2025.)
𝐴 = 𝐵    &   𝐶 = 𝐷       Σ𝑥𝐴 𝐶 = Σ𝑥𝐵 𝐷
 
1-Sep-2025sumeq2si 36181 Equality inference for sum. (Contributed by GG, 1-Sep-2025.)
𝐵 = 𝐶       Σ𝑘𝐴 𝐵 = Σ𝑘𝐴 𝐶
 
1-Sep-2025ixpeq12i 36180 Equality inference for infinite Cartesian product. (Contributed by GG, 1-Sep-2025.)
𝐴 = 𝐵    &   𝐶 = 𝐷       X𝑥𝐴 𝐶 = X𝑥𝐵 𝐷
 
1-Sep-2025ixpeq1i 36179 Equality inference for infinite Cartesian product. (Contributed by GG, 1-Sep-2025.)
𝐴 = 𝐵       X𝑥𝐴 𝐶 = X𝑥𝐵 𝐶
 
1-Sep-2025riotaeqi 36178 Equal domains yield equal restricted iotas. Inference version. (Contributed by GG, 1-Sep-2025.)
𝐴 = 𝐵       (𝑥𝐴 𝜑) = (𝑥𝐵 𝜑)
 
1-Sep-2025riotaeqbii 36177 Equivalent wff's and equal domains yield equal restricted iotas. Inference version. (Contributed by GG, 1-Sep-2025.)
𝐴 = 𝐵    &   (𝜑𝜓)       (𝑥𝐴 𝜑) = (𝑥𝐵 𝜓)
 
1-Sep-2025iineq12i 36176 Equality theorem for indexed intersection. Inference version. General version of iineq1i 36175. (Contributed by GG, 1-Sep-2025.)
𝐴 = 𝐵    &   𝐶 = 𝐷        𝑥𝐴 𝐶 = 𝑥𝐵 𝐷
 
1-Sep-2025iineq1i 36175 Equality theorem for indexed intersection. Inference version. (Contributed by GG, 1-Sep-2025.)
𝐴 = 𝐵        𝑥𝐴 𝐶 = 𝑥𝐵 𝐶
 
1-Sep-2025iuneq12i 36174 Equality theorem for indexed union. Inference version. (Contributed by GG, 1-Sep-2025.)
𝐴 = 𝐵    &   𝐶 = 𝐷        𝑥𝐴 𝐶 = 𝑥𝐵 𝐷
 
1-Sep-2025rabeqbii 36173 Equality theorem for restricted class abstractions. Inference version. (Contributed by GG, 1-Sep-2025.)
𝐴 = 𝐵    &   (𝜑𝜓)       {𝑥𝐴𝜑} = {𝑥𝐵𝜓}
 
1-Sep-2025disjeq12i 36172 Equality theorem for disjoint collection. Inference version. (Contributed by GG, 1-Sep-2025.)
𝐴 = 𝐵    &   𝐶 = 𝐷       (Disj 𝑥𝐴 𝐶Disj 𝑥𝐵 𝐷)
 
1-Sep-2025disjeq1i 36171 Equality theorem for disjoint collection. Inference version. (Contributed by GG, 1-Sep-2025.)
𝐴 = 𝐵       (Disj 𝑥𝐴 𝐶Disj 𝑥𝐵 𝐶)
 
1-Sep-2025sbceqbii 36170 Formula-building inference for class substitution. General version of sbcbii 3845. (Contributed by GG, 1-Sep-2025.)
𝐴 = 𝐵    &   (𝜑𝜓)       ([𝐴 / 𝑥]𝜑[𝐵 / 𝑥]𝜓)
 
1-Sep-2025reueqbii 36169 Equality inference for restricted existential uniqueness quantifier. (Contributed by GG, 1-Sep-2025.)
𝐴 = 𝐵    &   (𝜓𝜒)       (∃!𝑥𝐴 𝜓 ↔ ∃!𝑥𝐵 𝜒)
 
1-Sep-2025reueqi 36168 Equality inference for restricted existential uniqueness quantifier. (Contributed by GG, 1-Sep-2025.)
𝐴 = 𝐵       (∃!𝑥𝐴 𝜓 ↔ ∃!𝑥𝐵 𝜓)
 
1-Sep-2025rmoeqbii 36167 Equality inference for restricted at-most-one quantifier. (Contributed by GG, 1-Sep-2025.)
𝐴 = 𝐵    &   (𝜓𝜒)       (∃*𝑥𝐴 𝜓 ↔ ∃*𝑥𝐵 𝜒)
 
1-Sep-2025rmoeqi 36166 Equality inference for restricted at-most-one quantifier. (Contributed by GG, 1-Sep-2025.)
𝐴 = 𝐵       (∃*𝑥𝐴 𝜓 ↔ ∃*𝑥𝐵 𝜓)
 
1-Sep-2025itgeq1f 25796 Equality theorem for an integral. (Contributed by Mario Carneiro, 28-Jun-2014.) Avoid axioms. (Revised by GG, 1-Sep-2025.)
𝑥𝐴    &   𝑥𝐵       (𝐴 = 𝐵 → ∫𝐴𝐶 d𝑥 = ∫𝐵𝐶 d𝑥)
 
1-Sep-2025prodeq2sdv 15955 Equality deduction for product. (Contributed by Scott Fenton, 4-Dec-2017.) Avoid axioms. (Revised by GG, 1-Sep-2025.)
(𝜑𝐵 = 𝐶)       (𝜑 → ∏𝑘𝐴 𝐵 = ∏𝑘𝐴 𝐶)
 
1-Sep-2025prodeq1i 15948 Equality inference for product. (Contributed by Scott Fenton, 4-Dec-2017.) Remove DV conditions. (Revised by GG, 1-Sep-2025.)
𝐴 = 𝐵       𝑘𝐴 𝐶 = ∏𝑘𝐵 𝐶
 
1-Sep-2025ge2halflem1 13146 Half of an integer greater than 1 is less than or equal to the integer minus 1. (Contributed by AV, 1-Sep-2025.)
(𝑁 ∈ (ℤ‘2) → (𝑁 / 2) ≤ (𝑁 − 1))
 
1-Sep-2025iuneq12d 5019 Equality deduction for indexed union, deduction version. (Contributed by Drahflow, 22-Oct-2015.) Remove DV conditions (Revised by GG, 1-Sep-2025.)
(𝜑𝐴 = 𝐵)    &   (𝜑𝐶 = 𝐷)       (𝜑 𝑥𝐴 𝐶 = 𝑥𝐵 𝐷)
 
1-Sep-2025rabeqbidva 3452 Equality of restricted class abstractions. (Contributed by Mario Carneiro, 26-Jan-2017.) Remove DV conditions. (Revised by GG, 1-Sep-2025.)
(𝜑𝐴 = 𝐵)    &   ((𝜑𝑥𝐴) → (𝜓𝜒))       (𝜑 → {𝑥𝐴𝜓} = {𝑥𝐵𝜒})
 
1-Sep-2025reueqbidv 3422 Formula-building rule for restricted existential uniqueness quantifier. Deduction form. General version of reubidv 3397. (Contributed by GG, 1-Sep-2025.)
(𝜑𝐴 = 𝐵)    &   (𝜑 → (𝜓𝜒))       (𝜑 → (∃!𝑥𝐴 𝜓 ↔ ∃!𝑥𝐵 𝜒))
 
1-Sep-2025reueqdv 3421 Formula-building rule for restricted existential uniqueness quantifier. Deduction form. (Contributed by GG, 1-Sep-2025.)
(𝜑𝐴 = 𝐵)       (𝜑 → (∃!𝑥𝐴 𝜓 ↔ ∃!𝑥𝐵 𝜓))
 
31-Aug-2025gpg5nbgrvtx03star 48009 In a generalized Petersen graph G(N,K) of order greater than 8 (3 < 𝑁), every outside vertex has exactly three (different) neighbors, and none of these neighbors are connected by an edge (i.e., the (closed) neighborhood of every outside vertex induces a subgraph which is isomorphic to a 3-star). (Contributed by AV, 31-Aug-2025.)
𝐽 = (1..^(⌈‘(𝑁 / 2)))    &   𝐺 = (𝑁 gPetersenGr 𝐾)    &   𝑉 = (Vtx‘𝐺)    &   𝑈 = (𝐺 NeighbVtx 𝑋)    &   𝐸 = (Edg‘𝐺)       (((𝑁 ∈ (ℤ‘4) ∧ 𝐾𝐽) ∧ (𝑋𝑉 ∧ (1st𝑋) = 0)) → ((♯‘𝑈) = 3 ∧ ∀𝑥𝑈𝑦𝑈 {𝑥, 𝑦} ∉ 𝐸))
 
31-Aug-2025asin1half 42365 The arcsine of 1 / 2 is π / 6. (Contributed by SN, 31-Aug-2025.)
(arcsin‘(1 / 2)) = (π / 6)
 
30-Aug-2025gpg3nbgrvtx0 48005 In a generalized Petersen graph 𝐺, every outside vertex has exactly three (different) neighbors. (Contributed by AV, 30-Aug-2025.)
𝐽 = (1..^(⌈‘(𝑁 / 2)))    &   𝐺 = (𝑁 gPetersenGr 𝐾)    &   𝑉 = (Vtx‘𝐺)    &   𝑈 = (𝐺 NeighbVtx 𝑋)       (((𝑁 ∈ (ℤ‘3) ∧ 𝐾𝐽) ∧ (𝑋𝑉 ∧ (1st𝑋) = 0)) → (♯‘𝑈) = 3)
 
30-Aug-2025gpgvtxedg0 47994 The edges starting at an outside vertex 𝑋 in a generalized Petersen graph 𝐺. (Contributed by AV, 30-Aug-2025.)
𝐽 = (1..^(⌈‘(𝑁 / 2)))    &   𝐺 = (𝑁 gPetersenGr 𝐾)    &   𝑉 = (Vtx‘𝐺)    &   𝐸 = (Edg‘𝐺)       (((𝑁 ∈ (ℤ‘3) ∧ 𝐾𝐽) ∧ (1st𝑋) = 0 ∧ {𝑋, 𝑌} ∈ 𝐸) → (𝑌 = ⟨0, (((2nd𝑋) + 1) mod 𝑁)⟩ ∨ 𝑌 = ⟨1, (2nd𝑋)⟩ ∨ 𝑌 = ⟨0, (((2nd𝑋) − 1) mod 𝑁)⟩))
 
30-Aug-2025gpgvtx0 47981 The outside vertices in a generalized Petersen graph 𝐺. (Contributed by AV, 30-Aug-2025.)
𝐽 = (1..^(⌈‘(𝑁 / 2)))    &   𝐺 = (𝑁 gPetersenGr 𝐾)    &   𝑉 = (Vtx‘𝐺)       (((𝑁 ∈ (ℤ‘3) ∧ 𝐾𝐽) ∧ 𝑋𝑉) → (⟨0, (((2nd𝑋) + 1) mod 𝑁)⟩ ∈ 𝑉 ∧ ⟨0, (2nd𝑋)⟩ ∈ 𝑉 ∧ ⟨0, (((2nd𝑋) − 1) mod 𝑁)⟩ ∈ 𝑉))
 
30-Aug-2025gpgvtxel2 47979 The second component of a vertex in a generalized Petersen graph 𝐺. (Contributed by AV, 30-Aug-2025.)
𝐼 = (0..^𝑁)    &   𝐽 = (1..^(⌈‘(𝑁 / 2)))    &   𝐺 = (𝑁 gPetersenGr 𝐾)    &   𝑉 = (Vtx‘𝐺)       (((𝑁 ∈ (ℤ‘3) ∧ 𝐾𝐽) ∧ 𝑋𝑉) → (2nd𝑋) ∈ 𝐼)
 
30-Aug-2025ss-ax8 36204 A proof of ax-8 2110 that does not rely on ax-8 2110. It employs df-ss 3967 to perform alpha-renaming and eliminates disjoint variable conditions using ax-9 2118. Contrary to in-ax8 36203, this proof does not rely on df-cleq 2728, therefore using fewer axioms . This method should not be applied to eliminate axiom dependencies. (Contributed by GG, 30-Aug-2025.) (Proof modification is discouraged.) (New usage is discouraged.)
(𝑥 = 𝑦 → (𝑥𝑧𝑦𝑧))
 
29-Aug-2025gpgedgvtx0 47992 The edges starting at an outside vertex in a generalized Petersen graph 𝐺. (Contributed by AV, 29-Aug-2025.)
𝐽 = (1..^(⌈‘(𝑁 / 2)))    &   𝐺 = (𝑁 gPetersenGr 𝐾)    &   𝑉 = (Vtx‘𝐺)    &   𝐸 = (Edg‘𝐺)       (((𝑁 ∈ (ℤ‘3) ∧ 𝐾𝐽) ∧ (𝑋𝑉 ∧ (1st𝑋) = 0)) → ({𝑋, ⟨0, (((2nd𝑋) + 1) mod 𝑁)⟩} ∈ 𝐸 ∧ {𝑋, ⟨1, (2nd𝑋)⟩} ∈ 𝐸 ∧ {𝑋, ⟨0, (((2nd𝑋) − 1) mod 𝑁)⟩} ∈ 𝐸))
 
29-Aug-2025gpgedgel 47980 An edge in a generalized Petersen graph 𝐺. (Contributed by AV, 29-Aug-2025.)
𝐼 = (0..^𝑁)    &   𝐽 = (1..^(⌈‘(𝑁 / 2)))    &   𝐺 = (𝑁 gPetersenGr 𝐾)    &   𝐸 = (Edg‘𝐺)       ((𝑁 ∈ (ℤ‘3) ∧ 𝐾𝐽) → (𝑌𝐸 ↔ ∃𝑥𝐼 (𝑌 = {⟨0, 𝑥⟩, ⟨0, ((𝑥 + 1) mod 𝑁)⟩} ∨ 𝑌 = {⟨0, 𝑥⟩, ⟨1, 𝑥⟩} ∨ 𝑌 = {⟨1, 𝑥⟩, ⟨1, ((𝑥 + 𝐾) mod 𝑁)⟩})))
 
29-Aug-2025gpgvtxel 47978 A vertex in a generalized Petersen graph 𝐺. (Contributed by AV, 29-Aug-2025.)
𝐼 = (0..^𝑁)    &   𝐽 = (1..^(⌈‘(𝑁 / 2)))    &   𝐺 = (𝑁 gPetersenGr 𝐾)    &   𝑉 = (Vtx‘𝐺)       ((𝑁 ∈ (ℤ‘3) ∧ 𝐾𝐽) → (𝑋𝑉 ↔ ∃𝑥 ∈ {0, 1}∃𝑦𝐼 𝑋 = ⟨𝑥, 𝑦⟩))
 
28-Aug-2025gpgnbgrvtx0 48003 The (open) neighborhood of an outside vertex in a generalized Petersen graph 𝐺. (Contributed by AV, 28-Aug-2025.)
𝐽 = (1..^(⌈‘(𝑁 / 2)))    &   𝐺 = (𝑁 gPetersenGr 𝐾)    &   𝑉 = (Vtx‘𝐺)    &   𝑈 = (𝐺 NeighbVtx 𝑋)       (((𝑁 ∈ (ℤ‘3) ∧ 𝐾𝐽) ∧ (𝑋𝑉 ∧ (1st𝑋) = 0)) → 𝑈 = {⟨0, (((2nd𝑋) + 1) mod 𝑁)⟩, ⟨1, (2nd𝑋)⟩, ⟨0, (((2nd𝑋) − 1) mod 𝑁)⟩})
 
28-Aug-2025gpgvtx1 47982 The inside vertices in a generalized Petersen graph 𝐺. (Contributed by AV, 28-Aug-2025.)
𝐽 = (1..^(⌈‘(𝑁 / 2)))    &   𝐺 = (𝑁 gPetersenGr 𝐾)    &   𝑉 = (Vtx‘𝐺)       (((𝑁 ∈ (ℤ‘3) ∧ 𝐾𝐽) ∧ 𝑋𝑉) → (⟨1, (((2nd𝑋) + 𝐾) mod 𝑁)⟩ ∈ 𝑉 ∧ ⟨1, (2nd𝑋)⟩ ∈ 𝑉 ∧ ⟨1, (((2nd𝑋) − 𝐾) mod 𝑁)⟩ ∈ 𝑉))
 
28-Aug-2025wl-df-clab 37483 Disclaimer: The material presented here is just my (WL's) personal perception. I am not an expert in this field, so some or all of the text here can be misleading, or outright wrong.

This text should be seen as an exploration, rather than viewing it as set in stone, no doubt or alternatives possible.

We now introduce the notion of class abstraction, which allows us to describe a specific class, in contrast to class variables that can stand for any class indiscriminately.

A new syntactic form is introduced for class abstractions, {𝑦𝜑}, read as "the class of sets 𝑦 such that 𝜑(𝑦)". This form is assigned the type "class" in cab 2713, so it can consistently substitute for a class variable during the syntactic construction process.

**Eliminability**

The axioms ax-wl-cleq 37481 and ax-wl-clel 37482 leave only 𝑥𝐴 unspecified. The definition of this class builder directly corresponds to that expression. When a class abstraction replaces the variable 𝐴 and 𝐵, then 𝐴 = 𝐵 and 𝐴𝐵 can be expressed in terms of these abstractions.

For general eliminability two conditions are needed:

1. Any class builder must replace 𝑥𝐴 with an expression containing no class variables. If necessary, class variables must be eliminated via a finite recursive process.

2. There must only be finitely many class builders. If a class variable could range over infinitely many builders, eliminability would fail, since unknown future builders would always need to be considered.

Condition (2) is met in set.mm by defining no class builder beyond cv 1539 and df-clab 2714. Thus we may assume that a class variable represents either a set variable, or a class abstraction:

a. If it represents a set variable, substitution eliminates it immediately.

b. If it equals a set variable 𝑥, then by cvjust 2730 it can be replaced with {𝑦𝑦𝑥}.

c. If it represents a proper class, then it equals some abstraction {𝑥𝜑}. If 𝜑 contains no class variables, elimination using 𝜑 is possible. The same holds if finite sequence of elimination steps renders 𝜑 free of class variables.

d. It represents a proper class, but 𝜑 in {𝑥𝜑} still contains non-eliminable class variables, then eliminability fails. A simple example is {𝑥𝑥𝐴}. Class variables can only appear in fundamental expressions 𝐴 = 𝐵 or 𝐴𝐵, Both can be reduced to forms involving 𝑧𝐴. Thus, in the expression 𝑧 ∈ {𝑥𝑥𝐴}, we still must eliminate 𝐴. Applying df-clab 2714 reduces it back to 𝑧𝐴, returning us to the starting point.

Case (d) shows that in full generality, a class variable cannot always be eliminated, something Zermelo-Fraenkel set theory (ZF) requires. If the universe contained only finitely many sets, a free class variable 𝐴 could be expressed as a finite disjunction of possiblities, hence eliminable. But in ZF's richer universe, in a definition of an unrestricted class variable 𝐴 = {𝑥𝜑} the variable 𝜑 will contain 𝐴 in some way, violating condition (1) above. Thus constraints are needed. In ZF, any formula containing class variables assumes that non-set class variables can be be replaced by {𝑥𝜑} where 𝜑 itself contains no class variables. There is, however, no way to state this condition in a formal way in set.mm.

Class abstractions themselves, however, can be eliminated, so df-clab is a definition.

**Definition checker**

How can case (d) be avoided? A solution is to restrict generality: require that in the definition of any concrete class abstraction {𝑥𝜑}, the formula 𝜑 is either free of class variables or built only from previously defined constructions. Such a restriction could be part of the definition checker.

In practice, the Metamath definition checker requires definitions to follow the specific pattern "{𝑥𝜑} = ...". Although df-clab 2714 does not conform to this pattern, it nevertheless permits elimination of class abstractions. Eliminability is the essential property of a valid definition, so df-clab 2714 can legitimately be regarded as one.

For further material on the elimination of class abstractions, see BJ's work beginning with eliminable1 36838 and one comment in https://github.com/metamath/set.mm/pull/4971.

(Contributed by Wolf Lammen, 28-Aug-2025.)

(𝑥 ∈ {𝑦𝜑} ↔ [𝑥 / 𝑦]𝜑)
 
27-Aug-2025gpgusgra 47985 The generalized Petersen graph GPG(N,K) is a simple graph. (Contributed by AV, 27-Aug-2025.)
((𝑁 ∈ (ℤ‘3) ∧ 𝐾 ∈ (1..^(⌈‘(𝑁 / 2)))) → (𝑁 gPetersenGr 𝐾) ∈ USGraph)
 
26-Aug-2025gpg5order 47987 The order of a generalized Petersen graph G(5,K), which is either the Petersen graph G(5,2) or the 5-prism G(5,1), is 10. (Contributed by AV, 26-Aug-2025.)
(𝐾 ∈ (1...2) → (♯‘(Vtx‘(5 gPetersenGr 𝐾))) = 10)
 
26-Aug-2025gpgedg 47977 The edges of the generalized Petersen graph GPG(N,K). (Contributed by AV, 26-Aug-2025.)
𝐽 = (1..^(⌈‘(𝑁 / 2)))    &   𝐼 = (0..^𝑁)       ((𝑁 ∈ ℕ ∧ 𝐾𝐽) → (Edg‘(𝑁 gPetersenGr 𝐾)) = {𝑒 ∈ 𝒫 ({0, 1} × 𝐼) ∣ ∃𝑥𝐼 (𝑒 = {⟨0, 𝑥⟩, ⟨0, ((𝑥 + 1) mod 𝑁)⟩} ∨ 𝑒 = {⟨0, 𝑥⟩, ⟨1, 𝑥⟩} ∨ 𝑒 = {⟨1, 𝑥⟩, ⟨1, ((𝑥 + 𝐾) mod 𝑁)⟩})})
 
26-Aug-2025gpgiedg 47976 The indexed edges of the generalized Petersen graph GPG(N,K). (Contributed by AV, 26-Aug-2025.)
𝐽 = (1..^(⌈‘(𝑁 / 2)))    &   𝐼 = (0..^𝑁)       ((𝑁 ∈ ℕ ∧ 𝐾𝐽) → (iEdg‘(𝑁 gPetersenGr 𝐾)) = ( I ↾ {𝑒 ∈ 𝒫 ({0, 1} × 𝐼) ∣ ∃𝑥𝐼 (𝑒 = {⟨0, 𝑥⟩, ⟨0, ((𝑥 + 1) mod 𝑁)⟩} ∨ 𝑒 = {⟨0, 𝑥⟩, ⟨1, 𝑥⟩} ∨ 𝑒 = {⟨1, 𝑥⟩, ⟨1, ((𝑥 + 𝐾) mod 𝑁)⟩})}))
 
26-Aug-2025gpgvtx 47975 The vertices of the generalized Petersen graph GPG(N,K). (Contributed by AV, 26-Aug-2025.)
𝐽 = (1..^(⌈‘(𝑁 / 2)))    &   𝐼 = (0..^𝑁)       ((𝑁 ∈ ℕ ∧ 𝐾𝐽) → (Vtx‘(𝑁 gPetersenGr 𝐾)) = ({0, 1} × 𝐼))
 
26-Aug-2025gpgov 47974 The generalized Petersen graph GPG(N,K). (Contributed by AV, 26-Aug-2025.)
𝐽 = (1..^(⌈‘(𝑁 / 2)))    &   𝐼 = (0..^𝑁)       ((𝑁 ∈ ℕ ∧ 𝐾𝐽) → (𝑁 gPetersenGr 𝐾) = {⟨(Base‘ndx), ({0, 1} × 𝐼)⟩, ⟨(.ef‘ndx), ( I ↾ {𝑒 ∈ 𝒫 ({0, 1} × 𝐼) ∣ ∃𝑥𝐼 (𝑒 = {⟨0, 𝑥⟩, ⟨0, ((𝑥 + 1) mod 𝑁)⟩} ∨ 𝑒 = {⟨0, 𝑥⟩, ⟨1, 𝑥⟩} ∨ 𝑒 = {⟨1, 𝑥⟩, ⟨1, ((𝑥 + 𝐾) mod 𝑁)⟩})})⟩})
 
26-Aug-2025df-gpg 47973 Definition of generalized Petersen graphs according to Wikipedia "Generalized Petersen graph", 26-Aug-2025, https://en.wikipedia.org/wiki/Generalized_Petersen_graph: "In Watkins' notation, 𝐺(𝑛, 𝑘) is a graph with vertex set { u0, u1, ... , un-1, v0, v1, ... , vn-1 } and edge set { ui ui+1 , ui vi , vi vi+k | 0 ≤ 𝑖 ≤ (𝑛 − 1) } where subscripts are to be read modulo n and where 𝑘 < (𝑛 / 2). Some authors use the notation GPG(n,k)."

Instead of 𝑛 ∈ ℕ, we could restrict the first argument to 𝑛 ∈ (ℤ‘3) (i.e., 3 ≤ 𝑛), because for 𝑛 ≤ 2, the definition is not meaningful (since then (⌈‘(𝑛 / 2)) ≤ 1 and therefore (1..^(⌈‘(𝑛 / 2))) = ∅, so that there would be no fitting second argument). (Contributed by AV, 26-Aug-2025.)

gPetersenGr = (𝑛 ∈ ℕ, 𝑘 ∈ (1..^(⌈‘(𝑛 / 2))) ↦ {⟨(Base‘ndx), ({0, 1} × (0..^𝑛))⟩, ⟨(.ef‘ndx), ( I ↾ {𝑒 ∈ 𝒫 ({0, 1} × (0..^𝑛)) ∣ ∃𝑥 ∈ (0..^𝑛)(𝑒 = {⟨0, 𝑥⟩, ⟨0, ((𝑥 + 1) mod 𝑛)⟩} ∨ 𝑒 = {⟨0, 𝑥⟩, ⟨1, 𝑥⟩} ∨ 𝑒 = {⟨1, 𝑥⟩, ⟨1, ((𝑥 + 𝑘) mod 𝑛)⟩})})⟩})
 
26-Aug-20259rp 42316 9 is a positive real. (Contributed by SN, 26-Aug-2025.)
9 ∈ ℝ+
 
26-Aug-20258rp 42315 8 is a positive real. (Contributed by SN, 26-Aug-2025.)
8 ∈ ℝ+
 
26-Aug-20257rp 42314 7 is a positive real. (Contributed by SN, 26-Aug-2025.)
7 ∈ ℝ+
 
26-Aug-20256rp 42313 6 is a positive real. (Contributed by SN, 26-Aug-2025.)
6 ∈ ℝ+
 
26-Aug-20254rp 42312 4 is a positive real. (Contributed by SN, 26-Aug-2025.)
4 ∈ ℝ+
 
26-Aug-2025sq8 42309 The square of 8 is 64. (Contributed by SN, 26-Aug-2025.)
(8↑2) = 64
 
26-Aug-2025sq7 42308 The square of 7 is 49. (Contributed by SN, 26-Aug-2025.)
(7↑2) = 49
 
26-Aug-2025sq6 42307 The square of 6 is 36. (Contributed by SN, 26-Aug-2025.)
(6↑2) = 36
 
26-Aug-2025sq5 42306 The square of 5 is 25. (Contributed by SN, 26-Aug-2025.)
(5↑2) = 25
 
26-Aug-2025sq4 42305 The square of 4 is 16. (Contributed by SN, 26-Aug-2025.)
(4↑2) = 16
 
26-Aug-2025lttrii 42275 'Less than' is transitive. (Contributed by SN, 26-Aug-2025.)
𝐴 ∈ ℝ    &   𝐵 ∈ ℝ    &   𝐶 ∈ ℝ    &   𝐴 < 𝐵    &   𝐵 < 𝐶       𝐴 < 𝐶
 
26-Aug-2025ax-wl-clel 37482 Disclaimer: The material presented here is just my (WL's) personal perception. I am not an expert in this field, so some or all of the text here can be misleading, or outright wrong.

This text should be read as an exploration rather than as a definite statement, open to doubt, alternatives, and reinterpretation.

The formula in df-clel 2815 (restated below) states that only those classes for which 𝑥𝑥 = 𝐴 holds can be members of classes. Thus, a member of a class is always equal to a set, which excludes proper classes from class membership.

As explained in wl-cleq-4 37478, item 3, 𝑥𝑥 = 𝐴 is a sufficient criterion for a class to be a set, provided that Leibniz's Law holds for equality. Therefore this axiom is often rephrased as: classes contain only sets as members.

**Principles of equality**

Using this axiom we can derive the class-level counterparts of ax-8 2110 (see eleq2 2829) and ax-9 2118 (see eleq1 2828). Since ax-wl-cleq 37481 already asserts that equality between classes is an equivalence relation, the operators = and alone cannot distinguish equal classes. Hence, if membership is the only property that matters for classes, Leibniz's Law will hold. Later, however, additional class builders may introduce further properties of classes. A conservativity check for such builders can ensure this does not occur.

**Eliminability**

If we replace the class variable 𝐴 with a set variable 𝑧 in this axiom, the auxiliary variable 𝑥 can be eliminated, leaving only the trivial result (𝑧𝐵𝑧𝐵). Thus, df-clel 2815 by itself does not determine when a set is a member of a class. From this perspective, df-clel 2815 is in fact an axiom in disguise and would more appropriately be called ax-clel.

Overall, our axiomization leaves the meaning of fundamental expressions 𝑥𝐴 or 𝑥𝐵 open. All other fundamental formulas of set theory (𝐴 not a set variable, 𝐴𝐵, 𝑥 = 𝐵 𝐴 = 𝐵) can be reduced solely to the basic formulas 𝑥𝐴 or 𝑥𝐵.

If an axiomatization leaves a fundamental formula like 𝑥𝐴 unspecified, we could in principle define it bi-conditionally by any formula whatsoever - for example, the trivial . This, however, is not the approach we take. Instead, an appropriate class builder such as df-clab 2714 fills this gap.

(Contributed by Wolf Lammen, 26-Aug-2025.)

(𝐴𝐵 ↔ ∃𝑥(𝑥 = 𝐴𝑥𝐵))
 
26-Aug-20255rp 13037 5 is a positive real. (Contributed by SN, 26-Aug-2025.)
5 ∈ ℝ+
 
26-Aug-2025sbcov 2256 A composition law for substitution. Version of sbco 2511 with a disjoint variable condition using fewer axioms. (Contributed by NM, 14-May-1993.) (Revised by GG, 7-Aug-2023.) (Proof shortened by SN, 26-Aug-2025.)
([𝑦 / 𝑥][𝑥 / 𝑦]𝜑 ↔ [𝑦 / 𝑥]𝜑)
 
25-Aug-2025ax-wl-cleq 37481 Disclaimer: The material presented here is just my (WL's) personal perception. I am not an expert in this field, so some or all of the text here can be misleading, or outright wrong.

This text should be read as an exploration rather than as a definite statement, open to doubt, alternatives, and reinterpretation.

At the point where df-cleq 2728 is introduced, the foundations of set theory are being established through the notion of a class. A central property of classes is what elements, expressed by the membership operator , belong to them . Quantification (𝑥) applies only to objects that a variable of kind setvar can represent. These objects will henceforth be called sets. Some classes may not be sets; these are called proper classes. It remains open at this stage whether membership can involve them.

The formula given in df-cleq 2728 (restated below) asserts that two classes are equal if and only if they have exactly the same sets as elements. If proper classes are also admitted as elements, then two equal classes could still differ by such elements, potentially violating Leibniz's Law. A future axiom df-clel 2815 addresses this issue; df-cleq 2728 alone does not.

**Primitive connectives and class builders**

Specially crafted primitive operators on classes or class builders could introduce properties of classes beyond membership, not reflected in the formula here. This again risks violating Leibniz's Law. Therefore, the introduction of any future primitive operator or class builder must include a conservativity check to ensure consistency with Leibniz's Law.

**This axiom covers only some principles of equality**

The notion of equality expressed in this axiom does not automatically coincide with the general notion of equality. Some principles are, however, already captured: Equality is shown to be an equivalence relation, covering transivity (eqtr 2759), reflexivity (eqid 2736) and symmetry (eqcom 2743). It also yields the class-level version of ax-ext 2707 (the backward direction of df-cleq 2728) holds.

If we assume 𝑥 = 𝐴 holds, then substituting the free set variable 𝑦 with 𝐴 in ax6ev 1969 and ax12v2 2179 yields provable theorems (see wl-isseteq 37484, and wl-ax12v2cl 37485). However, a bound variable cannot be replaced with a class variable, since quantification over classes is not permitted. Taken together with the results from the previous paragraph, this shows that a class variable equal to a set behaves the same as a set variable, provided it is not quantified.

**Conservativity**

Moreover, this axiom is already partly derivable if all class variables are replaced by variables of type "setvar". In that case, the statement reduces to an instance of axextb 2710. This shows that the class builder cv 1539 is consistent with this axiom.

**Eliminable operator**

Finally, this axiom supports the idea that proper classes, and operators between them, should be eliminable, as required by ZF: It reduces equality to their membership properties. However, since the term 𝑥𝐴 is still undefined, elimination reduces equality to just something not yet clarified.

**Axiom vs Definition**

Up to this point, the only content involving class variables comes from the syntax definitions wceq 1540 and wcel 2108. Axioms are therefore required to progressively refine the semantics of classes until provable results coincide with our intended conception of set theory. This refinement process is explained in Step 4 of wl-cleq-2 37476.

From this perspective, df-cleq 2728 is in fact an axiom in disguise and would more appropriately be named ax-cleq.

At first glance, one might think that 𝐴 = 𝐵 is defined by the right-hand side of the biconditional. This would make 𝑥𝐴, i.e. membership of a set in a class, the more primitive concept, from which equality of classes could be derived. Such a viewpoint would be coherent if the properties of membership could be fully determined by other axioms. In my (WL's') opinion, however, the more direct and fruitful approach is not to construct class equality from membership, but to treat equality itself as axiomatic.

(Contributed by Wolf Lammen, 25-Aug-2025.)

(𝐴 = 𝐵 ↔ ∀𝑥(𝑥𝐴𝑥𝐵))
 
25-Aug-2025wl-cleq-4 37478
Disclaimer: The material presented here is just my (WL's) personal perception. I am not an expert in this field, so some or all of the text here can be misleading, or outright wrong. This text should be read as an exploration rather than as definite statements, open to doubt, alternatives, and reinterpretation.

Introducing a New Concept: Classes

In wl-cleq-3 37477 we examined how the basic notion of a well-formed formula is introduced in set.mm. A similar process is used to add the notion of a class to Metamath. This process is somewhat more involved, since two parallel variants are established: sets and the broader notion of classes, which include sets (see 3a. below).

In Zermelo-Fraenkel set theory (ZF) classes will serve as a convenient shorthand that simplifies formulas and proofs. Ultimately, only sets - a part of all classes - are intended to exist as actual objects.

In the First Order Logic (FOL) portion of set.mm objects themselves are not used - only variables representing them. It is not even assumed that objects must be sets at all. In principle, the universe of discourse could consist of anything - vegetables, text strings, and so on. For this reason, the type code "setvar", used for object variables, is somewhat of a misnomer. Its final meaning - and the name that goes with it - becomes justified only in later developments.

We will now revisit the four basic steps presented in wl-cleq-3 37477, this time focusing on object variables and paying special attention to the additional complexities that arise from extending sets to classes.

1. Introduce type codes

1a. Reserve a type code for classes, specifically the grammar constant "class". Initially, this type code applies to class variables and will later, beyond these four steps, also be assigned to formulas that define specific classes, i.e. instances.

1b. Reserve a type code for set variables, represented by the grammar constant "setvar". The name itself indicates that this type code will never be assigned to a formula describing a specific set, but only to variables containing such objects.

2. Introduce variables

2a. Use variables with unique names such as 𝐴, 𝐵, ..., to represent classes. These class variables are assigned the type code "class", ensuring that only formulas of type "class" can be substituted for them during proofs.

2b. Use variables with unique names such as 𝑎, 𝑏 , ..., to represent sets. These variables are assigned the type code "setvar". During a substitution in a proof, a variable of type "setvar" may only be replaced with another variable of this type. No specific formula, or object, of this type exists.

3. Add primitive formulas

3a. Add the rewrite rule cv 1539 to set.mm, allowing variables of type "setvar" to also aquire type "class". In this way, a variable of "setvar" type can serve as a substitute for a class variable.

3b. Add the rewrite rules wcel 2108 and wceq 1540 to set.mm, making the formulas 𝐴𝐵 and 𝐴 = 𝐵 valid well-formed formulas (wff). Since variables of type "setvar" can be substituted for class variables, 𝑥𝑦 and 𝑥 = 𝑦 are also provably valid wff.

In the FOL part of set.mm, only these specific formulas play a role and are therefore treated as primitive there. The underlying universe may not contain sets, and the notion of a class is not even be required.

Additional mixed-type formulas, such as 𝑥𝐴, 𝐴𝑥, 𝑥 = 𝐴, and 𝐴 = 𝑥 exist. When the theory is later refined to distinguish between sets and classes, the results from FOL remain valid and naturally extend to these mixed cases. These cases will occasionally be examined individually in subsequent discussions.

4. Specify the properties of primitive formulas

In FOL in set.mm, the formulas 𝑥 = 𝑦 and 𝑥𝑦 cannot be derived from earlier material, and therefore cannot be defined. Instead, their fundamental properties are established through axioms, namely ax-6 1967 through ax-9 2118, ax-13 2376, and ax-ext 2707.

Similarly, axioms establish the properties of the primitive formulas 𝐴 = 𝐵 and 𝐴𝐵, ensuring that they extend the FOL counterparts 𝑥 = 𝑦 and 𝑥𝑦 in a consistent and meaningful way.

At the same time, a criterion must be developed to distinguish sets from classes. Since set variables can only be substituted by other set variables, equality must permit the assignment of class terms known to represent sets to those variables.

(Contributed by Wolf Lammen, 25-Aug-2025.)

(𝐴 = 𝐵 ↔ ∀𝑥(𝑥𝐴𝑥𝐵))
 
24-Aug-2025usgrexmpl12ngrlic 47971 The graphs 𝐻 and 𝐺 are not locally isomorphic (𝐻 contains a triangle, see usgrexmpl1tri 47957, whereas 𝐺 does not, see usgrexmpl2trifr 47969. (Contributed by AV, 24-Aug-2025.)
𝑉 = (0...5)    &   𝐸 = ⟨“{0, 1} {1, 2} {2, 3} {3, 4} {4, 5} {0, 3} {0, 5}”⟩    &   𝐺 = ⟨𝑉, 𝐸    &   𝐾 = ⟨“{0, 1} {0, 2} {1, 2} {0, 3} {3, 4} {3, 5} {4, 5}”⟩    &   𝐻 = ⟨𝑉, 𝐾        ¬ 𝐺𝑙𝑔𝑟 𝐻
 
24-Aug-2025grlimgrtri 47936 Local isomorphisms between simple pseudographs map triangles onto triangles. (Contributed by AV, 24-Aug-2025.)
(𝜑𝐺 ∈ USPGraph)    &   (𝜑𝐻 ∈ USPGraph)    &   (𝜑𝐹 ∈ (𝐺 GraphLocIso 𝐻))    &   (𝜑𝑇 ∈ (GrTriangles‘𝐺))       (𝜑 → ∃𝑡 𝑡 ∈ (GrTriangles‘𝐻))
 
24-Aug-2025grlimgrtrilem1 47934 Lemma 3 for grlimgrtri 47936. (Contributed by AV, 24-Aug-2025.)
𝑉 = (Vtx‘𝐺)    &   𝑁 = (𝐺 ClNeighbVtx 𝑎)    &   𝐼 = (Edg‘𝐺)    &   𝐾 = {𝑥𝐼𝑥𝑁}       ((𝐺 ∈ UHGraph ∧ ({𝑎, 𝑏} ∈ 𝐼 ∧ {𝑎, 𝑐} ∈ 𝐼 ∧ {𝑏, 𝑐} ∈ 𝐼)) → ({𝑎, 𝑏} ∈ 𝐾 ∧ {𝑎, 𝑐} ∈ 𝐾 ∧ {𝑏, 𝑐} ∈ 𝐾))
 
24-Aug-2025grimgrtri 47889 Graph isomorphisms map triangles onto triangles. (Contributed by AV, 27-Jul-2025.) (Proof shortened by AV, 24-Aug-2025.)
(𝜑𝐺 ∈ UHGraph)    &   (𝜑𝐻 ∈ UHGraph)    &   (𝜑𝐹 ∈ (𝐺 GraphIso 𝐻))    &   (𝜑𝑇 ∈ (GrTriangles‘𝐺))       (𝜑 → (𝐹𝑇) ∈ (GrTriangles‘𝐻))
 
24-Aug-2025clnbgrssedg 47800 The vertices connected by an edge are a subset of the neighborhood of each of these vertices. (Contributed by AV, 26-May-2025.) (Proof shortened by AV, 24-Aug-2025.)
𝐸 = (Edg‘𝐺)    &   𝑁 = (𝐺 ClNeighbVtx 𝑋)       ((𝐺 ∈ UHGraph ∧ 𝐾𝐸𝑋𝐾) → 𝐾𝑁)
 
24-Aug-2025clnbgredg 47799 A vertex connected by an edge with another vertex is a neighbor of that vertex. (Contributed by AV, 24-Aug-2025.)
𝐸 = (Edg‘𝐺)    &   𝑁 = (𝐺 ClNeighbVtx 𝑋)       ((𝐺 ∈ UHGraph ∧ (𝐾𝐸𝑋𝐾𝑌𝐾)) → 𝑌𝑁)
 
24-Aug-2025sbievw 2093 Conversion of implicit substitution to explicit substitution. Version of sbie 2506 and sbiev 2314 with more disjoint variable conditions, requiring fewer axioms. (Contributed by NM, 30-Jun-1994.) (Revised by BJ, 18-Jul-2023.) (Proof shortened by SN, 24-Aug-2025.)
(𝑥 = 𝑦 → (𝜑𝜓))       ([𝑦 / 𝑥]𝜑𝜓)
 
24-Aug-2025sbbiiev 2092 An equivalence of substitutions (as in sbbii 2076) allowing the additional information that 𝑥 = 𝑡. Version of sbiev 2314 and sbievw 2093 without a disjoint variable condition on 𝜓, useful for substituting only part of 𝜑. (Contributed by SN, 24-Aug-2025.)
(𝑥 = 𝑡 → (𝜑𝜓))       ([𝑡 / 𝑥]𝜑 ↔ [𝑡 / 𝑥]𝜓)
 
23-Aug-2025grlimgrtrilem2 47935 Lemma 3 for grlimgrtri 47936. (Contributed by AV, 23-Aug-2025.)
𝑉 = (Vtx‘𝐺)    &   𝑁 = (𝐺 ClNeighbVtx 𝑎)    &   𝐼 = (Edg‘𝐺)    &   𝐾 = {𝑥𝐼𝑥𝑁}    &   𝑀 = (𝐻 ClNeighbVtx (𝐹𝑎))    &   𝐽 = (Edg‘𝐻)    &   𝐿 = {𝑥𝐽𝑥𝑀}       (((𝑓:𝑁1-1-onto𝑀𝑔:𝐾1-1-onto𝐿) ∧ ∀𝑖𝐾 (𝑓𝑖) = (𝑔𝑖) ∧ {𝑏, 𝑐} ∈ 𝐾) → {(𝑓𝑏), (𝑓𝑐)} ∈ 𝐽)
 
23-Aug-2025grtrimap 47888 Conditions for mapping triangles onto triangles. Lemma for grimgrtri 47889 and grlimgrtri 47936. (Contributed by AV, 23-Aug-2025.)
(𝐹:𝑉1-1𝑊 → (((𝑎𝑉𝑏𝑉𝑐𝑉) ∧ (𝑇 = {𝑎, 𝑏, 𝑐} ∧ (♯‘𝑇) = 3)) → (((𝐹𝑎) ∈ 𝑊 ∧ (𝐹𝑏) ∈ 𝑊 ∧ (𝐹𝑐) ∈ 𝑊) ∧ (𝐹𝑇) = {(𝐹𝑎), (𝐹𝑏), (𝐹𝑐)} ∧ (♯‘(𝐹𝑇)) = 3)))
 
23-Aug-2025predgclnbgrel 47798 If a (not necessarily proper) unordered pair containing a vertex is an edge, the other vertex is in the closed neighborhood of the first vertex. (Contributed by AV, 23-Aug-2025.)
𝑉 = (Vtx‘𝐺)    &   𝐸 = (Edg‘𝐺)       ((𝑁𝑉𝑋𝑉 ∧ {𝑋, 𝑁} ∈ 𝐸) → 𝑁 ∈ (𝐺 ClNeighbVtx 𝑋))
 
23-Aug-2025numiunnum 36449 An indexed union of sets is numerable if its index set is numerable and there exists a collection of well-orderings on its members. (Contributed by Matthew House, 23-Aug-2025.)
((𝐴 ∈ dom card ∧ ∀𝑥𝐴 (𝐵𝑉𝑆 We 𝐵)) → 𝑥𝐴 𝐵 ∈ dom card)
 
23-Aug-2025weiunwe 36448 A well-ordering on an indexed union can be constructed from a well-ordering on its index class and a collection of well-orderings on its members. (Contributed by Matthew House, 23-Aug-2025.)
𝐹 = (𝑤 𝑥𝐴 𝐵 ↦ (𝑢 ∈ {𝑥𝐴𝑤𝐵}∀𝑣 ∈ {𝑥𝐴𝑤𝐵} ¬ 𝑣𝑅𝑢))    &   𝑇 = {⟨𝑦, 𝑧⟩ ∣ ((𝑦 𝑥𝐴 𝐵𝑧 𝑥𝐴 𝐵) ∧ ((𝐹𝑦)𝑅(𝐹𝑧) ∨ ((𝐹𝑦) = (𝐹𝑧) ∧ 𝑦(𝐹𝑦) / 𝑥𝑆𝑧)))}       ((𝑅 We 𝐴𝑅 Se 𝐴 ∧ ∀𝑥𝐴 𝑆 We 𝐵) → 𝑇 We 𝑥𝐴 𝐵)
 
23-Aug-2025weiunse 36447 The relation constructed in weiunpo 36444, weiunso 36445, weiunfr 36446, and weiunwe 36448 is set-like if all members of the indexed union are sets. (Contributed by Matthew House, 23-Aug-2025.)
𝐹 = (𝑤 𝑥𝐴 𝐵 ↦ (𝑢 ∈ {𝑥𝐴𝑤𝐵}∀𝑣 ∈ {𝑥𝐴𝑤𝐵} ¬ 𝑣𝑅𝑢))    &   𝑇 = {⟨𝑦, 𝑧⟩ ∣ ((𝑦 𝑥𝐴 𝐵𝑧 𝑥𝐴 𝐵) ∧ ((𝐹𝑦)𝑅(𝐹𝑧) ∨ ((𝐹𝑦) = (𝐹𝑧) ∧ 𝑦(𝐹𝑦) / 𝑥𝑆𝑧)))}       ((𝑅 We 𝐴𝑅 Se 𝐴 ∧ ∀𝑥𝐴 𝐵𝑉) → 𝑇 Se 𝑥𝐴 𝐵)
 
23-Aug-2025weiunfr 36446 A well-founded relation on an indexed union can be constructed from a well-ordering on its index class and a collection of well-founded relations on its members. (Contributed by Matthew House, 23-Aug-2025.)
𝐹 = (𝑤 𝑥𝐴 𝐵 ↦ (𝑢 ∈ {𝑥𝐴𝑤𝐵}∀𝑣 ∈ {𝑥𝐴𝑤𝐵} ¬ 𝑣𝑅𝑢))    &   𝑇 = {⟨𝑦, 𝑧⟩ ∣ ((𝑦 𝑥𝐴 𝐵𝑧 𝑥𝐴 𝐵) ∧ ((𝐹𝑦)𝑅(𝐹𝑧) ∨ ((𝐹𝑦) = (𝐹𝑧) ∧ 𝑦(𝐹𝑦) / 𝑥𝑆𝑧)))}       ((𝑅 We 𝐴𝑅 Se 𝐴 ∧ ∀𝑥𝐴 𝑆 Fr 𝐵) → 𝑇 Fr 𝑥𝐴 𝐵)
 
23-Aug-2025weiunso 36445 A strict ordering on an indexed union can be constructed from a well-ordering on its index class and a collection of strict orderings on its members. (Contributed by Matthew House, 23-Aug-2025.)
𝐹 = (𝑤 𝑥𝐴 𝐵 ↦ (𝑢 ∈ {𝑥𝐴𝑤𝐵}∀𝑣 ∈ {𝑥𝐴𝑤𝐵} ¬ 𝑣𝑅𝑢))    &   𝑇 = {⟨𝑦, 𝑧⟩ ∣ ((𝑦 𝑥𝐴 𝐵𝑧 𝑥𝐴 𝐵) ∧ ((𝐹𝑦)𝑅(𝐹𝑧) ∨ ((𝐹𝑦) = (𝐹𝑧) ∧ 𝑦(𝐹𝑦) / 𝑥𝑆𝑧)))}       ((𝑅 We 𝐴𝑅 Se 𝐴 ∧ ∀𝑥𝐴 𝑆 Or 𝐵) → 𝑇 Or 𝑥𝐴 𝐵)
 
23-Aug-2025weiunpo 36444 A partial ordering on an indexed union can be constructed from a well-ordering on its index class and a collection of partial orderings on its members. (Contributed by Matthew House, 23-Aug-2025.)
𝐹 = (𝑤 𝑥𝐴 𝐵 ↦ (𝑢 ∈ {𝑥𝐴𝑤𝐵}∀𝑣 ∈ {𝑥𝐴𝑤𝐵} ¬ 𝑣𝑅𝑢))    &   𝑇 = {⟨𝑦, 𝑧⟩ ∣ ((𝑦 𝑥𝐴 𝐵𝑧 𝑥𝐴 𝐵) ∧ ((𝐹𝑦)𝑅(𝐹𝑧) ∨ ((𝐹𝑦) = (𝐹𝑧) ∧ 𝑦(𝐹𝑦) / 𝑥𝑆𝑧)))}       ((𝑅 We 𝐴𝑅 Se 𝐴 ∧ ∀𝑥𝐴 𝑆 Po 𝐵) → 𝑇 Po 𝑥𝐴 𝐵)
 
23-Aug-2025weiunfrlem 36443 Lemma for weiunfr 36446. (Contributed by Matthew House, 23-Aug-2025.)
𝐹 = (𝑤 𝑥𝐴 𝐵 ↦ (𝑢 ∈ {𝑥𝐴𝑤𝐵}∀𝑣 ∈ {𝑥𝐴𝑤𝐵} ¬ 𝑣𝑅𝑢))    &   𝑇 = {⟨𝑦, 𝑧⟩ ∣ ((𝑦 𝑥𝐴 𝐵𝑧 𝑥𝐴 𝐵) ∧ ((𝐹𝑦)𝑅(𝐹𝑧) ∨ ((𝐹𝑦) = (𝐹𝑧) ∧ 𝑦(𝐹𝑦) / 𝑥𝑆𝑧)))}    &   (𝜑𝑅 We 𝐴)    &   (𝜑𝑅 Se 𝐴)    &   𝐸 = (𝑝 ∈ (𝐹𝑟)∀𝑞 ∈ (𝐹𝑟) ¬ 𝑞𝑅𝑝)    &   (𝜑𝑟 𝑥𝐴 𝐵)    &   (𝜑𝑟 ≠ ∅)       (𝜑 → (𝐸 ∈ (𝐹𝑟) ∧ ∀𝑡𝑟 ¬ (𝐹𝑡)𝑅𝐸 ∧ ∀𝑡 ∈ (𝑟𝐸 / 𝑥𝐵)(𝐹𝑡) = 𝐸))
 
23-Aug-2025weiunlem2 36442 Lemma for weiunpo 36444, weiunso 36445, weiunfr 36446, and weiunse 36447. (Contributed by Matthew House, 23-Aug-2025.)
𝐹 = (𝑤 𝑥𝐴 𝐵 ↦ (𝑢 ∈ {𝑥𝐴𝑤𝐵}∀𝑣 ∈ {𝑥𝐴𝑤𝐵} ¬ 𝑣𝑅𝑢))    &   𝑇 = {⟨𝑦, 𝑧⟩ ∣ ((𝑦 𝑥𝐴 𝐵𝑧 𝑥𝐴 𝐵) ∧ ((𝐹𝑦)𝑅(𝐹𝑧) ∨ ((𝐹𝑦) = (𝐹𝑧) ∧ 𝑦(𝐹𝑦) / 𝑥𝑆𝑧)))}    &   (𝜑𝑅 We 𝐴)    &   (𝜑𝑅 Se 𝐴)       (𝜑 → (𝐹: 𝑥𝐴 𝐵𝐴 ∧ ∀𝑡 𝑥𝐴 𝐵𝑡(𝐹𝑡) / 𝑥𝐵 ∧ ∀𝑠𝐴𝑡 𝑠 / 𝑥𝐵 ¬ 𝑠𝑅(𝐹𝑡)))
 
23-Aug-2025rexlimdvvva 3213 Inference from Theorem 19.23 of [Margaris] p. 90, for three restricted quantifiers. (Contributed by AV, 23-Aug-2025.)
((𝜑 ∧ (𝑥𝐴𝑦𝐵𝑧𝐶)) → (𝜓𝜒))       (𝜑 → (∃𝑥𝐴𝑦𝐵𝑧𝐶 𝜓𝜒))
 
22-Aug-2025peano2ons 28278 The successor of a surreal ordinal is a surreal ordinal. (Contributed by Scott Fenton, 22-Aug-2025.)
(𝐴 ∈ Ons → (𝐴 +s 1s ) ∈ Ons)
 
22-Aug-2025onmulscl 28277 The surreal ordinals are closed under multiplication. (Contributed by Scott Fenton, 22-Aug-2025.)
((𝐴 ∈ Ons𝐵 ∈ Ons) → (𝐴 ·s 𝐵) ∈ Ons)
 
22-Aug-2025onaddscl 28276 The surreal ordinals are closed under addition. (Contributed by Scott Fenton, 22-Aug-2025.)
((𝐴 ∈ Ons𝐵 ∈ Ons) → (𝐴 +s 𝐵) ∈ Ons)
 
21-Aug-2025wl-cleq-3 37477
Disclaimer: The material presented here is just my (WL's) personal perception. I am not an expert in this field, so some or all of the text here can be misleading, or outright wrong. This text should be read as an exploration rather than as definite statements, open to doubt, alternatives, and reinterpretation.

Introducing a New Concept: Well-formed formulas

The parser that processes strictly formatted Metamath text with logical or mathematical content constructs its grammar dynamically. New syntax rules are added on the fly whenever they are needed to parse upcoming formulas. Only a minimal set of built-in rules - those required to introduce new grammar rules - is predefined; everything else must be supplied by set.mm itself as syntactic units identified by the first-stage parser. Text regions beginning with the tokens "$c" or "$v", for example, are part of such grammar extensions.

We will outline the extension process used when introducing an entirely new concept that cannot build on any prior material. As a simple example, we will trace here the steps involved in defining formulas, the expressions used for hypotheses and statements - a concept first-order logic needs from the very beginning to articulate its ideas.

1. Introduce a type code

To mark new formulas and variables later used in theorems, the constant "wff" is reserved. It abbreviates "well-formed formula", a term that already suggests that such formulas must be syntactically valid and therefore parseable to enable automatic processing.

2. Introduce variables

Variables with unique names such as 𝜑, 𝜓, ..., intended to later represent formulas of type "wff". In grammar terms, they correspond to non-terminal symbols. These variables are marked with the type "wff". Variables are fundamental in Metamath, since they enable substitution during proofs: variables of a particular type can be consistently replaced by any formula of the same type. In grammar terms, this corresponds to applying a rewrite rule. At this step, however, no rewrite rule exists; we can only substitute one "wff" variable for another. This suffices only for very elementary theorems such as idi 1.

In the formal language of Metamath these variables are not interpreted with concrete statements, but serve purely as placeholders for substitution.

3. Add primitive formulas

Rewrite rules describing primitive formulas of type "wff" are then added to the grammar. Typically, they describe an operator (a constant in the grammar) applied to one or more variables, possibly of different types (e.g. 𝑥𝜑, although at this stage only "wff" is available). Since variables are non-terminal symbols, more complex formulas can be constructed from primitive ones, by consistently replacing variables with any wff formula - whether involving the same operator or different ones introduced by other rewrite rules. Whenever such a replacement introduces variables again, they may in turn recursively be replaced.

If an operator takes two variables of type wff, it is called a binary connective in logic. The first such operator encountered is (𝜑𝜓). Based on its token, its intended meaning is material implication, though this interpretation is not fixed from the outset.

4. Specify the properties of primitive formulas

Once the biconditional connective is available for formulas, new connectives can be defined by specifying replacement formulas that rely solely on previously introduced material. Such definitions makes it possible to eliminate the definiens.

At the very beginning, however, this is not possible for well-formed formulas, since little or no prior material exists. Instead, the semantics of an expression such as (𝜑𝜓) are progressively constrained by axioms - that is, theorems without proof. The first such axiom for material implication is ax-mp 5, with additional axioms following later.

(Contributed by Wolf Lammen, 21-Aug-2025.)

(𝐴 = 𝐵 ↔ ∀𝑥(𝑥𝐴𝑥𝐵))
 
21-Aug-2025cbvralsvw 3316 Change bound variable by using a substitution. Version of cbvralsv 3365 with a disjoint variable condition, which does not require ax-13 2376. (Contributed by NM, 20-Nov-2005.) Avoid ax-13 2376. (Revised by GG, 10-Jan-2024.) (Proof shortened by Wolf Lammen, 8-Mar-2025.) Avoid ax-10 2141, ax-12 2177. (Revised by SN, 21-Aug-2025.)
(∀𝑥𝐴 𝜑 ↔ ∀𝑦𝐴 [𝑦 / 𝑥]𝜑)
 
20-Aug-2025zs12bday 28414 A dyadic fraction has a finite birthday. (Contributed by Scott Fenton, 20-Aug-2025.)
(𝐴 ∈ ℤs[1/2] → ( bday 𝐴) ∈ ω)
 
20-Aug-2025zscut 28383 A cut expression for surreal integers. (Contributed by Scott Fenton, 20-Aug-2025.)
(𝐴 ∈ ℤs𝐴 = ({(𝐴 -s 1s )} |s {(𝐴 +s 1s )}))
 
20-Aug-2025zmulscld 28373 The surreal integers are closed under multiplication. (Contributed by Scott Fenton, 20-Aug-2025.)
(𝜑𝐴 ∈ ℤs)    &   (𝜑𝐵 ∈ ℤs)       (𝜑 → (𝐴 ·s 𝐵) ∈ ℤs)
 
20-Aug-2025sltm1d 28121 A surreal is greater than itself minus one. (Contributed by Scott Fenton, 20-Aug-2025.)
(𝜑𝐴 No )       (𝜑 → (𝐴 -s 1s ) <s 𝐴)
 
20-Aug-2025cutmin 27959 If 𝐵 has a minimum, then the minimum may be used alone in the cut. (Contributed by Scott Fenton, 20-Aug-2025.)
(𝜑𝐴 <<s 𝐵)    &   (𝜑𝑋𝐵)    &   (𝜑 → ∀𝑦𝐵 𝑋 ≤s 𝑦)       (𝜑 → (𝐴 |s 𝐵) = (𝐴 |s {𝑋}))
 
20-Aug-2025cutmax 27958 If 𝐴 has a maximum, then the maximum may be used alone in the cut. (Contributed by Scott Fenton, 20-Aug-2025.)
(𝜑𝐴 <<s 𝐵)    &   (𝜑𝑋𝐴)    &   (𝜑 → ∀𝑦𝐴 𝑦 ≤s 𝑋)       (𝜑 → (𝐴 |s 𝐵) = ({𝑋} |s 𝐵))
 
20-Aug-2025oldfi 27941 The old set of an ordinal natural is finite. (Contributed by Scott Fenton, 20-Aug-2025.)
(𝐴 ∈ ω → ( O ‘𝐴) ∈ Fin)
 
20-Aug-2025madefi 27940 The made set of an ordinal natural is finite. (Contributed by Scott Fenton, 20-Aug-2025.)
(𝐴 ∈ ω → ( M ‘𝐴) ∈ Fin)
 
20-Aug-2025omnaddcl 8737 The naturals are closed under natural addition. (Contributed by Scott Fenton, 20-Aug-2025.)
((𝐴 ∈ ω ∧ 𝐵 ∈ ω) → (𝐴 +no 𝐵) ∈ ω)
 
20-Aug-2025naddoa 8736 Natural addition of a natural is the same as regular addition. (Contributed by Scott Fenton, 20-Aug-2025.)
((𝐴 ∈ On ∧ 𝐵 ∈ ω) → (𝐴 +no 𝐵) = (𝐴 +o 𝐵))
 
20-Aug-2025sbccomlem 3868 Lemma for sbccom 3870. (Contributed by NM, 14-Nov-2005.) (Revised by Mario Carneiro, 18-Oct-2016.) Avoid ax-10 2141, ax-12 2177. (Revised by SN, 20-Aug-2025.)
([𝐴 / 𝑥][𝐵 / 𝑦]𝜑[𝐵 / 𝑦][𝐴 / 𝑥]𝜑)
 
19-Aug-2025zseo 28396 A surreal integer is either even or odd. (Contributed by Scott Fenton, 19-Aug-2025.)
(𝑁 ∈ ℤs → (∃𝑥 ∈ ℤs 𝑁 = (2s ·s 𝑥) ∨ ∃𝑥 ∈ ℤs 𝑁 = ((2s ·s 𝑥) +s 1s )))
 
19-Aug-2025n0seo 28395 A non-negative surreal integer is either even or odd. (Contributed by Scott Fenton, 19-Aug-2025.)
(𝑁 ∈ ℕ0s → (∃𝑥 ∈ ℕ0s 𝑁 = (2s ·s 𝑥) ∨ ∃𝑥 ∈ ℕ0s 𝑁 = ((2s ·s 𝑥) +s 1s )))
 
18-Aug-2025wl-cleq-1 37475
Disclaimer: The material presented here is just my (WL's) personal perception. I am not an expert in this field, so some or all of the text here can be misleading, or outright wrong. This text should be read as an exploration rather than as definite statements, open to doubt, alternatives, and reinterpretation.

Grammars and Parsable contents

A Metamath program is a text-based tool. Its input consists of primarily of human-readable and editable text stored in *.mm files. For automated processing, these files follow a strict structure. This enables automated analysis of their contents, verification of proofs, proof assistance, and the generation of output files - for example, the HTML page of this dummy theorem. A set.mm file contains numerous such structured instructions serving these purposes.

This page provides a brief explanation of the general concepts behind structured text, as exemplified by set.mm. The study of structured text originated in linguistics, and later computer science formalized it further for text like data and program code. The rules describing such structures are collectively known as grammar. Metamath also introduces a grammar to support automation and establish a high degree of confidence in its correctness. It could have been described using the terminology of earlier scientific disciplines, but instead it uses its own language.

When a text exhibits a sufficiently regular structure, its form can be described by a set of syntax rules, or grammar. Such rules consist of terminal symbols (fixed, literal elements) and non-terminal symbols, which can recursively be expanded using the grammar's rewrite rules. A program component that applies a grammar to text is called a parser. The parser decomposes the text into smaller parts, called syntactic units, while often maintaining contextual information. These units may then be handed over to subsequent components for further processing, such as populating a database or generating output.

In these pages, we restrict our attention to strictly formatted material consisting of formulas with logical and mathematical content. These syntactic units are embedded in higher-level structures such as chapters, together with commands that, for example, control the HTML output.

Conceptually, the parsing process can be viewed as consisting of two stages. The top-level stage applies a simple built-in grammar to identify its structural units. Each unit is a text region marked on both sides with predefined tokens (in Metamath: keywords), beginning with the escape character "$". Text regions containing logical or mathematical formulas are then passed to a second-stage parser, which applies a different grammar. Unlike the first, this grammar is not built-in but is dynamically constructed.

In what follows, we will ignore the first stage of parsing, since its role is only to extract the relevant material embedded within text primarily intended for human readers.

(Contributed by Wolf Lammen, 18-Aug-2025.)

(𝐴 = 𝐵 ↔ ∀𝑥(𝑥𝐴𝑥𝐵))
 
18-Aug-2025pw2cut 28410 Extend halfcut 28406 to arbitrary powers of two. Part of theorem 4.2 of [Gonshor] p. 28. (Contributed by Scott Fenton, 18-Aug-2025.)
(𝜑𝐴 No )    &   (𝜑𝐵 No )    &   (𝜑𝑁 ∈ ℕ0s)    &   (𝜑𝐴 <s 𝐵)    &   (𝜑 → ({(2s ·s 𝐴)} |s {(2s ·s 𝐵)}) = (𝐴 +s 𝐵))       (𝜑 → ({(𝐴 /su (2ss𝑁))} |s {(𝐵 /su (2ss𝑁))}) = ((𝐴 +s 𝐵) /su (2ss(𝑁 +s 1s ))))
 
17-Aug-2025usgrlimprop 47933 Properties of a local isomorphism of simple pseudographs. (Contributed by AV, 17-Aug-2025.)
𝑉 = (Vtx‘𝐺)    &   𝑊 = (Vtx‘𝐻)    &   𝑁 = (𝐺 ClNeighbVtx 𝑣)    &   𝑀 = (𝐻 ClNeighbVtx (𝐹𝑣))    &   𝐼 = (Edg‘𝐺)    &   𝐽 = (Edg‘𝐻)    &   𝐾 = {𝑥𝐼𝑥𝑁}    &   𝐿 = {𝑥𝐽𝑥𝑀}       ((𝐺 ∈ USPGraph ∧ 𝐻 ∈ USPGraph ∧ 𝐹 ∈ (𝐺 GraphLocIso 𝐻)) → (𝐹:𝑉1-1-onto𝑊 ∧ ∀𝑣𝑉𝑓(𝑓:𝑁1-1-onto𝑀 ∧ ∃𝑔(𝑔:𝐾1-1-onto𝐿 ∧ ∀𝑒𝐾 (𝑓𝑒) = (𝑔𝑒)))))
 
17-Aug-2025iseqsetvlem 2804 Lemma for iseqsetv-cleq 2805. (Contributed by Wolf Lammen, 17-Aug-2025.) (Proof modification is discouraged.)
(∃𝑥 𝑥 = 𝐴 ↔ ∃𝑧 𝑧 = 𝐴)
 
16-Aug-2025uspgrlimlem4 47931 Lemma 4 for uspgrlim 47932. (Contributed by AV, 16-Aug-2025.)
𝑉 = (Vtx‘𝐺)    &   𝑊 = (Vtx‘𝐻)    &   𝑁 = (𝐺 ClNeighbVtx 𝑣)    &   𝑀 = (𝐻 ClNeighbVtx (𝐹𝑣))    &   𝐼 = (Edg‘𝐺)    &   𝐽 = (Edg‘𝐻)    &   𝐾 = {𝑥𝐼𝑥𝑁}    &   𝐿 = {𝑥𝐽𝑥𝑀}       (((𝐺 ∈ USPGraph ∧ 𝐻 ∈ USPGraph) ∧ (𝑔:𝐾1-1-onto𝐿 ∧ ∀𝑒𝐾 (𝑓𝑒) = (𝑔𝑒))) → ((𝑖 ∈ dom (iEdg‘𝐺) ∧ ((iEdg‘𝐺)‘𝑖) ⊆ 𝑁) → (𝑓 “ ((iEdg‘𝐺)‘𝑖)) = ((iEdg‘𝐻)‘((((iEdg‘𝐻) ∘ 𝑔) ∘ (iEdg‘𝐺))‘𝑖))))
 
16-Aug-2025uspgrlimlem3 47930 Lemma 3 for uspgrlim 47932. (Contributed by AV, 16-Aug-2025.)
𝑉 = (Vtx‘𝐺)    &   𝑊 = (Vtx‘𝐻)    &   𝑁 = (𝐺 ClNeighbVtx 𝑣)    &   𝑀 = (𝐻 ClNeighbVtx (𝐹𝑣))    &   𝐼 = (Edg‘𝐺)    &   𝐽 = (Edg‘𝐻)    &   𝐾 = {𝑥𝐼𝑥𝑁}    &   𝐿 = {𝑥𝐽𝑥𝑀}       ((𝐺 ∈ USPGraph ∧ :{𝑥 ∈ dom (iEdg‘𝐺) ∣ ((iEdg‘𝐺)‘𝑥) ⊆ 𝑁}–1-1-onto𝑅 ∧ ∀𝑖 ∈ {𝑥 ∈ dom (iEdg‘𝐺) ∣ ((iEdg‘𝐺)‘𝑥) ⊆ 𝑁} (𝑓 “ ((iEdg‘𝐺)‘𝑖)) = ((iEdg‘𝐻)‘(𝑖))) → (𝑒𝐾 → (𝑓𝑒) = ((((iEdg‘𝐻) ∘ ) ∘ (iEdg‘𝐺))‘𝑒)))
 
16-Aug-2025uspgrlimlem2 47929 Lemma 2 for uspgrlim 47932. (Contributed by AV, 16-Aug-2025.)
𝑀 = (𝐻 ClNeighbVtx 𝑋)    &   𝐽 = (Edg‘𝐻)    &   𝐿 = {𝑥𝐽𝑥𝑀}       (𝐻 ∈ USPGraph → ((iEdg‘𝐻) “ 𝐿) = {𝑥 ∈ dom (iEdg‘𝐻) ∣ ((iEdg‘𝐻)‘𝑥) ⊆ 𝑀})
 
16-Aug-2025uspgrlimlem1 47928 Lemma 1 for uspgrlim 47932. (Contributed by AV, 16-Aug-2025.)
𝑀 = (𝐻 ClNeighbVtx 𝑋)    &   𝐽 = (Edg‘𝐻)    &   𝐿 = {𝑥𝐽𝑥𝑀}       (𝐻 ∈ USPGraph → 𝐿 = ((iEdg‘𝐻) “ {𝑥 ∈ dom (iEdg‘𝐻) ∣ ((iEdg‘𝐻)‘𝑥) ⊆ 𝑀}))
 
16-Aug-2025aks5 42183 The AKS Primality test, given an integer 𝑁 greater than or equal to 3, find a coprime 𝑅 such that 𝑅 is big enough. Then, if a bunch of polynomial equalities in the residue ring hold then 𝑁 is a prime power. Currently depends on the axiom ax-exfinfld 42181, since we currently do not have the existence of finite fields in the database. (Contributed by metakunt, 16-Aug-2025.)
𝐴 = (⌊‘((√‘(ϕ‘𝑅)) · (2 logb 𝑁)))    &   𝑋 = (var1‘(ℤ/nℤ‘𝑁))    &   𝑆 = (Poly1‘(ℤ/nℤ‘𝑁))    &   𝐿 = ((RSpan‘𝑆)‘{((𝑅(.g‘(mulGrp‘𝑆))𝑋)(-g𝑆)(1r𝑆))})    &   (𝜑𝑁 ∈ (ℤ‘3))    &   (𝜑𝑅 ∈ ℕ)    &   (𝜑 → (𝑁 gcd 𝑅) = 1)    &   (𝜑 → ((2 logb 𝑁)↑2) < ((od𝑅)‘𝑁))    &   (𝜑 → ∀𝑎 ∈ (1...𝐴)[(𝑁(.g‘(mulGrp‘𝑆))(𝑋(+g𝑆)((ℤRHom‘𝑆)‘𝑎)))](𝑆 ~QG 𝐿) = [((𝑁(.g‘(mulGrp‘𝑆))𝑋)(+g𝑆)((ℤRHom‘𝑆)‘𝑎))](𝑆 ~QG 𝐿))    &   (𝜑 → ∀𝑎 ∈ (1...𝐴)(𝑎 gcd 𝑁) = 1)       (𝜑 → ∃𝑝 ∈ ℙ ∃𝑛 ∈ ℕ 𝑁 = (𝑝𝑛))
 
15-Aug-2025uspgrlim 47932 A local isomorphism of simple pseudographs is a bijection between their vertices that preserves neighborhoods, expressed by properties of their edges (not edge functions as in isgrlim2 47923). (Contributed by AV, 15-Aug-2025.)
𝑉 = (Vtx‘𝐺)    &   𝑊 = (Vtx‘𝐻)    &   𝑁 = (𝐺 ClNeighbVtx 𝑣)    &   𝑀 = (𝐻 ClNeighbVtx (𝐹𝑣))    &   𝐼 = (Edg‘𝐺)    &   𝐽 = (Edg‘𝐻)    &   𝐾 = {𝑥𝐼𝑥𝑁}    &   𝐿 = {𝑥𝐽𝑥𝑀}       ((𝐺 ∈ USPGraph ∧ 𝐻 ∈ USPGraph ∧ 𝐹𝑍) → (𝐹 ∈ (𝐺 GraphLocIso 𝐻) ↔ (𝐹:𝑉1-1-onto𝑊 ∧ ∀𝑣𝑉𝑓(𝑓:𝑁1-1-onto𝑀 ∧ ∃𝑔(𝑔:𝐾1-1-onto𝐿 ∧ ∀𝑒𝐾 (𝑓𝑒) = (𝑔𝑒))))))
 
15-Aug-20253f1oss2 47061 The composition of three bijections as bijection from the image of the converse of the domain onto the image of the converse of the range of the middle bijection. (Contributed by AV, 15-Aug-2025.)
(((𝐹:𝐴1-1-onto𝐵𝐺:𝐶1-1-onto𝐷𝐻:𝐸1-1-onto𝐼) ∧ (𝐶𝐵𝐷𝐼)) → ((𝐻𝐺) ∘ 𝐹):(𝐹𝐶)–1-1-onto→(𝐻𝐷))
 
15-Aug-20253f1oss1 47060 The composition of three bijections as bijection from the image of the domain onto the image of the range of the middle bijection. (Contributed by AV, 15-Aug-2025.)
(((𝐹:𝐴1-1-onto𝐵𝐺:𝐶1-1-onto𝐷𝐻:𝐸1-1-onto𝐼) ∧ (𝐶𝐴𝐷𝐸)) → ((𝐻𝐺) ∘ 𝐹):(𝐹𝐶)–1-1-onto→(𝐻𝐷))
 
15-Aug-2025f1ocoima 7321 The composition of two bijections as bijection onto the image of the range of the first bijection. (Contributed by AV, 15-Aug-2025.)
((𝐹:𝐴1-1-onto𝐵𝐺:𝐶1-1-onto𝐷𝐵𝐶) → (𝐺𝐹):𝐴1-1-onto→(𝐺𝐵))
 
15-Aug-2025dfdif3 4116 Alternate definition of class difference. (Contributed by BJ and Jim Kingdon, 16-Jun-2022.) (Proof shortened by SN, 15-Aug-2025.)
(𝐴𝐵) = {𝑥𝐴 ∣ ∀𝑦𝐵 𝑥𝑦}
 
14-Aug-2025cbvrabv2w 45106 A more general version of cbvrabv 3446. Version of cbvrabv2 45105 with a disjoint variable condition, which does not require ax-13 2376. (Contributed by Glauco Siliprandi, 23-Oct-2021.) (Revised by GG, 14-Aug-2025.)
(𝑥 = 𝑦𝐴 = 𝐵)    &   (𝑥 = 𝑦 → (𝜑𝜓))       {𝑥𝐴𝜑} = {𝑦𝐵𝜓}
 
14-Aug-2025cbvditgdavw2 36277 Change bound variable and limits in a directed integral. Deduction form. (Contributed by GG, 14-Aug-2025.)
(𝜑𝐴 = 𝐵)    &   (𝜑𝐶 = 𝐷)    &   ((𝜑𝑥 = 𝑦) → 𝐸 = 𝐹)       (𝜑 → ⨜[𝐴𝐶]𝐸 d𝑥 = ⨜[𝐵𝐷]𝐹 d𝑦)
 
14-Aug-2025cbvitgdavw2 36276 Change bound variable and domain in an integral. Deduction form. (Contributed by GG, 14-Aug-2025.)
((𝜑𝑥 = 𝑦) → 𝐶 = 𝐷)    &   ((𝜑𝑥 = 𝑦) → 𝐴 = 𝐵)       (𝜑 → ∫𝐴𝐶 d𝑥 = ∫𝐵𝐷 d𝑦)
 
14-Aug-2025cbvproddavw2 36275 Change bound variable and the set of integers in a product. Deduction form. (Contributed by GG, 14-Aug-2025.)
(𝜑𝐴 = 𝐵)    &   ((𝜑𝑗 = 𝑘) → 𝐶 = 𝐷)       (𝜑 → ∏𝑗𝐴 𝐶 = ∏𝑘𝐵 𝐷)
 
14-Aug-2025cbvsumdavw2 36274 Change bound variable and the set of integers in a sum. Deduction form. (Contributed by GG, 14-Aug-2025.)
(𝜑𝐴 = 𝐵)    &   ((𝜑𝑗 = 𝑘) → 𝐶 = 𝐷)       (𝜑 → Σ𝑗𝐴 𝐶 = Σ𝑘𝐵 𝐷)
 
14-Aug-2025cbvixpdavw2 36273 Change bound variable and domain in an indexed Cartesian product. Deduction form. (Contributed by GG, 14-Aug-2025.)
((𝜑𝑥 = 𝑦) → 𝐶 = 𝐷)    &   ((𝜑𝑥 = 𝑦) → 𝐴 = 𝐵)       (𝜑X𝑥𝐴 𝐶 = X𝑦𝐵 𝐷)
 
14-Aug-2025cbvmpo2davw2 36272 Change second bound variable and domains in a maps-to function. Deduction form. (Contributed by GG, 14-Aug-2025.)
((𝜑𝑦 = 𝑧) → 𝐸 = 𝐹)    &   ((𝜑𝑦 = 𝑧) → 𝐶 = 𝐷)    &   ((𝜑𝑦 = 𝑧) → 𝐴 = 𝐵)       (𝜑 → (𝑥𝐴, 𝑦𝐶𝐸) = (𝑥𝐵, 𝑧𝐷𝐹))
 
14-Aug-2025cbvmpo1davw2 36271 Change first bound variable and domains in a maps-to function. Deduction form. (Contributed by GG, 14-Aug-2025.)
((𝜑𝑥 = 𝑧) → 𝐸 = 𝐹)    &   ((𝜑𝑥 = 𝑧) → 𝐶 = 𝐷)    &   ((𝜑𝑥 = 𝑧) → 𝐴 = 𝐵)       (𝜑 → (𝑥𝐴, 𝑦𝐶𝐸) = (𝑧𝐵, 𝑦𝐷𝐹))
 
14-Aug-2025cbvmpodavw2 36270 Change bound variable and domains in a maps-to function. Deduction form. (Contributed by GG, 14-Aug-2025.)
(((𝜑𝑥 = 𝑧) ∧ 𝑦 = 𝑤) → 𝐸 = 𝐹)    &   (((𝜑𝑥 = 𝑧) ∧ 𝑦 = 𝑤) → 𝐶 = 𝐷)    &   (((𝜑𝑥 = 𝑧) ∧ 𝑦 = 𝑤) → 𝐴 = 𝐵)       (𝜑 → (𝑥𝐴, 𝑦𝐶𝐸) = (𝑧𝐵, 𝑤𝐷𝐹))
 
14-Aug-2025cbvriotadavw2 36269 Change bound variable and domain in a restricted description binder. Deduction form. (Contributed by GG, 14-Aug-2025.)
((𝜑𝑥 = 𝑦) → (𝜓𝜒))    &   ((𝜑𝑥 = 𝑦) → 𝐴 = 𝐵)       (𝜑 → (𝑥𝐴 𝜓) = (𝑦𝐵 𝜒))
 
14-Aug-2025cbvdisjdavw2 36268 Change bound variable and domain in a disjoint collection. Deduction form. (Contributed by GG, 14-Aug-2025.)
((𝜑𝑥 = 𝑦) → 𝐶 = 𝐷)    &   ((𝜑𝑥 = 𝑦) → 𝐴 = 𝐵)       (𝜑 → (Disj 𝑥𝐴 𝐶Disj 𝑦𝐵 𝐷))
 
14-Aug-2025cbvmptdavw2 36267 Change bound variable and domain in a maps-to function. Deduction form. (Contributed by GG, 14-Aug-2025.)
((𝜑𝑥 = 𝑦) → 𝐶 = 𝐷)    &   ((𝜑𝑥 = 𝑦) → 𝐴 = 𝐵)       (𝜑 → (𝑥𝐴𝐶) = (𝑦𝐵𝐷))
 
14-Aug-2025cbviindavw2 36266 Change bound variable and domain in indexed intersections. Deduction form. (Contributed by GG, 14-Aug-2025.)
((𝜑𝑥 = 𝑦) → 𝐶 = 𝐷)    &   ((𝜑𝑥 = 𝑦) → 𝐴 = 𝐵)       (𝜑 𝑥𝐴 𝐶 = 𝑦𝐵 𝐷)
 
14-Aug-2025cbviundavw2 36265 Change bound variable and domain in indexed unions. Deduction form. (Contributed by GG, 14-Aug-2025.)
((𝜑𝑥 = 𝑦) → 𝐶 = 𝐷)    &   ((𝜑𝑥 = 𝑦) → 𝐴 = 𝐵)       (𝜑 𝑥𝐴 𝐶 = 𝑦𝐵 𝐷)
 
14-Aug-2025cbvrabdavw2 36264 Change bound variable and domain in restricted class abstractions. Deduction form. (Contributed by GG, 14-Aug-2025.)
((𝜑𝑥 = 𝑦) → (𝜓𝜒))    &   ((𝜑𝑥 = 𝑦) → 𝐴 = 𝐵)       (𝜑 → {𝑥𝐴𝜓} = {𝑦𝐵𝜒})
 
14-Aug-2025cbvreudavw2 36263 Change bound variable and quantifier domain in the restricted existential uniqueness quantifier. Deduction form. (Contributed by GG, 14-Aug-2025.)
((𝜑𝑥 = 𝑦) → (𝜓𝜒))    &   ((𝜑𝑥 = 𝑦) → 𝐴 = 𝐵)       (𝜑 → (∃!𝑥𝐴 𝜓 ↔ ∃!𝑦𝐵 𝜒))
 
14-Aug-2025cbvrmodavw2 36262 Change bound variable and quantifier domain in the restricted at-most-one quantifier. Deduction form. (Contributed by GG, 14-Aug-2025.)
((𝜑𝑥 = 𝑦) → (𝜓𝜒))    &   ((𝜑𝑥 = 𝑦) → 𝐴 = 𝐵)       (𝜑 → (∃*𝑥𝐴 𝜓 ↔ ∃*𝑦𝐵 𝜒))
 
14-Aug-2025cbvditgdavw 36261 Change bound variable in a directed integral. Deduction form. (Contributed by GG, 14-Aug-2025.)
((𝜑𝑥 = 𝑦) → 𝐶 = 𝐷)       (𝜑 → ⨜[𝐴𝐵]𝐶 d𝑥 = ⨜[𝐴𝐵]𝐷 d𝑦)
 
14-Aug-2025cbvitgdavw 36260 Change bound variable in an integral. Deduction form. (Contributed by GG, 14-Aug-2025.)
((𝜑𝑥 = 𝑦) → 𝐵 = 𝐶)       (𝜑 → ∫𝐴𝐵 d𝑥 = ∫𝐴𝐶 d𝑦)
 
14-Aug-2025cbvproddavw 36259 Change bound variable in a product. Deduction form. (Contributed by GG, 14-Aug-2025.)
((𝜑𝑗 = 𝑘) → 𝐵 = 𝐶)       (𝜑 → ∏𝑗𝐴 𝐵 = ∏𝑘𝐴 𝐶)
 
14-Aug-2025cbvsumdavw 36258 Change bound variable in a sum. Deduction form. (Contributed by GG, 14-Aug-2025.)
((𝜑𝑘 = 𝑗) → 𝐵 = 𝐶)       (𝜑 → Σ𝑘𝐴 𝐵 = Σ𝑗𝐴 𝐶)
 
14-Aug-2025cbvixpdavw 36257 Change bound variable in an indexed Cartesian product. Deduction form. (Contributed by GG, 14-Aug-2025.)
((𝜑𝑥 = 𝑦) → 𝐵 = 𝐶)       (𝜑X𝑥𝐴 𝐵 = X𝑦𝐴 𝐶)
 
14-Aug-2025cbvoprab13davw 36256 Change the first and third bound variables in an operation abstraction. Deduction form. (Contributed by GG, 14-Aug-2025.)
(((𝜑𝑥 = 𝑤) ∧ 𝑧 = 𝑣) → (𝜓𝜒))       (𝜑 → {⟨⟨𝑥, 𝑦⟩, 𝑧⟩ ∣ 𝜓} = {⟨⟨𝑤, 𝑦⟩, 𝑣⟩ ∣ 𝜒})
 
14-Aug-2025cbvoprab23davw 36255 Change the second and third bound variables in an operation abstraction. Deduction form. (Contributed by GG, 14-Aug-2025.)
(((𝜑𝑦 = 𝑤) ∧ 𝑧 = 𝑣) → (𝜓𝜒))       (𝜑 → {⟨⟨𝑥, 𝑦⟩, 𝑧⟩ ∣ 𝜓} = {⟨⟨𝑥, 𝑤⟩, 𝑣⟩ ∣ 𝜒})
 
14-Aug-2025cbvoprab12davw 36254 Change the first and second bound variables in an operation abstraction. Deduction form. (Contributed by GG, 14-Aug-2025.)
(((𝜑𝑥 = 𝑤) ∧ 𝑦 = 𝑣) → (𝜓𝜒))       (𝜑 → {⟨⟨𝑥, 𝑦⟩, 𝑧⟩ ∣ 𝜓} = {⟨⟨𝑤, 𝑣⟩, 𝑧⟩ ∣ 𝜒})
 
14-Aug-2025cbvoprab123davw 36253 Change all bound variables in an operation abstraction. Deduction form. (Contributed by GG, 14-Aug-2025.)
((((𝜑𝑥 = 𝑤) ∧ 𝑦 = 𝑢) ∧ 𝑧 = 𝑣) → (𝜓𝜒))       (𝜑 → {⟨⟨𝑥, 𝑦⟩, 𝑧⟩ ∣ 𝜓} = {⟨⟨𝑤, 𝑢⟩, 𝑣⟩ ∣ 𝜒})
 
14-Aug-2025cbvoprab3davw 36252 Change the third bound variable in an operation abstraction. Deduction form. (Contributed by GG, 14-Aug-2025.)
((𝜑𝑧 = 𝑤) → (𝜓𝜒))       (𝜑 → {⟨⟨𝑥, 𝑦⟩, 𝑧⟩ ∣ 𝜓} = {⟨⟨𝑥, 𝑦⟩, 𝑤⟩ ∣ 𝜒})
 
14-Aug-2025cbvoprab2davw 36251 Change the second bound variable in an operation abstraction. Deduction form. (Contributed by GG, 14-Aug-2025.)
((𝜑𝑦 = 𝑤) → (𝜓𝜒))       (𝜑 → {⟨⟨𝑥, 𝑦⟩, 𝑧⟩ ∣ 𝜓} = {⟨⟨𝑥, 𝑤⟩, 𝑧⟩ ∣ 𝜒})
 
14-Aug-2025cbvoprab1davw 36250 Change the first bound variable in an operation abstraction. Deduction form. (Contributed by GG, 14-Aug-2025.)
((𝜑𝑥 = 𝑤) → (𝜓𝜒))       (𝜑 → {⟨⟨𝑥, 𝑦⟩, 𝑧⟩ ∣ 𝜓} = {⟨⟨𝑤, 𝑦⟩, 𝑧⟩ ∣ 𝜒})
 
14-Aug-2025cbvriotadavw 36249 Change bound variable in a restricted description binder. Deduction form. (Contributed by GG, 14-Aug-2025.)
((𝜑𝑥 = 𝑦) → (𝜓𝜒))       (𝜑 → (𝑥𝐴 𝜓) = (𝑦𝐴 𝜒))
 
14-Aug-2025cbviotadavw 36248 Change bound variable in a description binder. Deduction form. (Contributed by GG, 14-Aug-2025.)
((𝜑𝑥 = 𝑦) → (𝜓𝜒))       (𝜑 → (℩𝑥𝜓) = (℩𝑦𝜒))
 
14-Aug-2025cbvdisjdavw 36247 Change bound variable in a disjoint collection. Deduction form. (Contributed by GG, 14-Aug-2025.)
((𝜑𝑥 = 𝑦) → 𝐵 = 𝐶)       (𝜑 → (Disj 𝑥𝐴 𝐵Disj 𝑦𝐴 𝐶))
 
14-Aug-2025cbvmptdavw 36246 Change bound variable in a maps-to function. Deduction form. (Contributed by GG, 14-Aug-2025.)
((𝜑𝑥 = 𝑦) → 𝐵 = 𝐶)       (𝜑 → (𝑥𝐴𝐵) = (𝑦𝐴𝐶))
 
14-Aug-2025cbvopabdavw 36245 Change bound variables in an ordered-pair class abstraction. Deduction form. (Contributed by GG, 14-Aug-2025.)
(((𝜑𝑥 = 𝑧) ∧ 𝑦 = 𝑤) → (𝜓𝜒))       (𝜑 → {⟨𝑥, 𝑦⟩ ∣ 𝜓} = {⟨𝑧, 𝑤⟩ ∣ 𝜒})
 
14-Aug-2025cbvopab2davw 36244 Change the second bound variable in an ordered-pair class abstraction. Deduction form. (Contributed by GG, 14-Aug-2025.)
((𝜑𝑦 = 𝑧) → (𝜓𝜒))       (𝜑 → {⟨𝑥, 𝑦⟩ ∣ 𝜓} = {⟨𝑥, 𝑧⟩ ∣ 𝜒})
 
14-Aug-2025cbvopab1davw 36243 Change the first bound variable in an ordered-pair class abstraction. Deduction form. (Contributed by GG, 14-Aug-2025.)
((𝜑𝑥 = 𝑧) → (𝜓𝜒))       (𝜑 → {⟨𝑥, 𝑦⟩ ∣ 𝜓} = {⟨𝑧, 𝑦⟩ ∣ 𝜒})
 
14-Aug-2025cbviindavw 36242 Change bound variable in indexed intersections. Deduction form. (Contributed by GG, 14-Aug-2025.)
((𝜑𝑥 = 𝑦) → 𝐵 = 𝐶)       (𝜑 𝑥𝐴 𝐵 = 𝑦𝐴 𝐶)
 
14-Aug-2025cbviundavw 36241 Change bound variable in indexed unions. Deduction form. (Contributed by GG, 14-Aug-2025.)
((𝜑𝑥 = 𝑦) → 𝐵 = 𝐶)       (𝜑 𝑥𝐴 𝐵 = 𝑦𝐴 𝐶)
 
14-Aug-2025cbvrabdavw 36240 Change bound variable in restricted class abstractions. Deduction form. (Contributed by GG, 14-Aug-2025.)
((𝜑𝑥 = 𝑦) → (𝜓𝜒))       (𝜑 → {𝑥𝐴𝜓} = {𝑦𝐴𝜒})
 
14-Aug-2025cbvcsbdavw2 36239 Change bound variable of a proper substitution into a class. General version of cbvcsbdavw 36238. Deduction form. (Contributed by GG, 14-Aug-2025.)
(𝜑𝐴 = 𝐵)    &   ((𝜑𝑥 = 𝑦) → 𝐶 = 𝐷)       (𝜑𝐴 / 𝑥𝐶 = 𝐵 / 𝑦𝐷)
 
14-Aug-2025cbvcsbdavw 36238 Change bound variable of a proper substitution into a class. Deduction form. (Contributed by GG, 14-Aug-2025.)
((𝜑𝑥 = 𝑦) → 𝐵 = 𝐶)       (𝜑𝐴 / 𝑥𝐵 = 𝐴 / 𝑦𝐶)
 
14-Aug-2025cbvsbcdavw2 36237 Change bound variable of a class substitution. General version of cbvsbcdavw 36236. Deduction form. (Contributed by GG, 14-Aug-2025.)
(𝜑𝐴 = 𝐵)    &   ((𝜑𝑥 = 𝑦) → (𝜓𝜒))       (𝜑 → ([𝐴 / 𝑥]𝜓[𝐵 / 𝑦]𝜒))
 
14-Aug-2025cbvsbcdavw 36236 Change bound variable of a class substitution. Deduction form. (Contributed by GG, 14-Aug-2025.)
((𝜑𝑥 = 𝑦) → (𝜓𝜒))       (𝜑 → ([𝐴 / 𝑥]𝜓[𝐴 / 𝑦]𝜒))
 
14-Aug-2025cbvabdavw 36235 Change bound variable in class abstractions. Deduction form. (Contributed by GG, 14-Aug-2025.)
((𝜑𝑥 = 𝑦) → (𝜓𝜒))       (𝜑 → {𝑥𝜓} = {𝑦𝜒})
 
14-Aug-2025cbvsbdavw2 36234 Change bound variable in proper substitution. General version of cbvsbdavw 36233. Deduction form. (Contributed by GG, 14-Aug-2025.)
(𝜑𝑧 = 𝑤)    &   ((𝜑𝑥 = 𝑦) → (𝜓𝜒))       (𝜑 → ([𝑧 / 𝑥]𝜓 ↔ [𝑤 / 𝑦]𝜒))
 
14-Aug-2025cbvsbdavw 36233 Change bound variable in proper substitution. Deduction form. (Contributed by GG, 14-Aug-2025.)
((𝜑𝑥 = 𝑦) → (𝜓𝜒))       (𝜑 → ([𝑧 / 𝑥]𝜓 ↔ [𝑧 / 𝑦]𝜒))
 
14-Aug-2025cbvreudavw 36232 Change bound variable in the restricted existential uniqueness quantifier. Deduction form. (Contributed by GG, 14-Aug-2025.)
((𝜑𝑥 = 𝑦) → (𝜓𝜒))       (𝜑 → (∃!𝑥𝐴 𝜓 ↔ ∃!𝑦𝐴 𝜒))
 
14-Aug-2025cbvrmodavw 36231 Change bound variable in the restricted at-most-one quantifier. Deduction form. (Contributed by GG, 14-Aug-2025.)
((𝜑𝑥 = 𝑦) → (𝜓𝜒))       (𝜑 → (∃*𝑥𝐴 𝜓 ↔ ∃*𝑦𝐴 𝜒))
 
14-Aug-2025cbveudavw 36230 Change bound variable in the existential uniqueness quantifier. Deduction form. (Contributed by GG, 14-Aug-2025.)
((𝜑𝑥 = 𝑦) → (𝜓𝜒))       (𝜑 → (∃!𝑥𝜓 ↔ ∃!𝑦𝜒))
 
14-Aug-2025cbvmodavw 36229 Change bound variable in the at-most-one quantifier. Deduction form. (Contributed by GG, 14-Aug-2025.)
((𝜑𝑥 = 𝑦) → (𝜓𝜒))       (𝜑 → (∃*𝑥𝜓 ↔ ∃*𝑦𝜒))
 
14-Aug-2025cbvitgvw2 36227 Change bound variable and domain in an integral, using implicit substitution. (Contributed by GG, 14-Aug-2025.)
(𝑥 = 𝑦𝐶 = 𝐷)    &   (𝑥 = 𝑦𝐴 = 𝐵)       𝐴𝐶 d𝑥 = ∫𝐵𝐷 d𝑦
 
14-Aug-2025cbvixpvw2 36224 Change bound variable and domain in an indexed Cartesian product, using implicit substitution. (Contributed by GG, 14-Aug-2025.)
(𝑥 = 𝑦𝐶 = 𝐷)    &   (𝑥 = 𝑦𝐴 = 𝐵)       X𝑥𝐴 𝐶 = X𝑦𝐵 𝐷
 
14-Aug-2025cbvmpo2vw2 36223 Change domains and the second bound variable in a maps-to function, using implicit substitution. (Contributed by GG, 14-Aug-2025.)
(𝑦 = 𝑧𝐸 = 𝐹)    &   (𝑦 = 𝑧𝐶 = 𝐷)    &   (𝑦 = 𝑧𝐴 = 𝐵)       (𝑥𝐴, 𝑦𝐶𝐸) = (𝑥𝐵, 𝑧𝐷𝐹)
 
14-Aug-2025cbvmpo1vw2 36222 Change domains and the first bound variable in a maps-to function, using implicit substitution. (Contributed by GG, 14-Aug-2025.)
(𝑥 = 𝑧𝐸 = 𝐹)    &   (𝑥 = 𝑧𝐶 = 𝐷)    &   (𝑥 = 𝑧𝐴 = 𝐵)       (𝑥𝐴, 𝑦𝐶𝐸) = (𝑧𝐵, 𝑦𝐷𝐹)
 
14-Aug-2025cbvmpovw2 36221 Change bound variables and domains in a maps-to function, using implicit substitution. (Contributed by GG, 14-Aug-2025.)
((𝑥 = 𝑧𝑦 = 𝑤) → 𝐸 = 𝐹)    &   ((𝑥 = 𝑧𝑦 = 𝑤) → 𝐶 = 𝐷)    &   ((𝑥 = 𝑧𝑦 = 𝑤) → 𝐴 = 𝐵)       (𝑥𝐴, 𝑦𝐶𝐸) = (𝑧𝐵, 𝑤𝐷𝐹)
 
14-Aug-2025cbvoprab13vw 36220 Change the first and third bound variables in an operation abstraction, using implicit substitution. (Contributed by GG, 14-Aug-2025.)
((𝑥 = 𝑤𝑧 = 𝑣) → (𝜓𝜒))       {⟨⟨𝑥, 𝑦⟩, 𝑧⟩ ∣ 𝜓} = {⟨⟨𝑤, 𝑦⟩, 𝑣⟩ ∣ 𝜒}
 
14-Aug-2025cbvoprab23vw 36219 Change the second and third bound variables in an operation abstraction, using implicit substitution. (Contributed by GG, 14-Aug-2025.)
((𝑦 = 𝑤𝑧 = 𝑣) → (𝜓𝜒))       {⟨⟨𝑥, 𝑦⟩, 𝑧⟩ ∣ 𝜓} = {⟨⟨𝑥, 𝑤⟩, 𝑣⟩ ∣ 𝜒}
 
14-Aug-2025cbvoprab123vw 36218 Change all bound variables in an operation abstraction, using implicit substitution. (Contributed by GG, 14-Aug-2025.)
(((𝑥 = 𝑤𝑦 = 𝑢) ∧ 𝑧 = 𝑣) → (𝜓𝜒))       {⟨⟨𝑥, 𝑦⟩, 𝑧⟩ ∣ 𝜓} = {⟨⟨𝑤, 𝑢⟩, 𝑣⟩ ∣ 𝜒}
 
14-Aug-2025cbvoprab2vw 36217 Change the second bound variable in an operation abstraction, using implicit substitution. (Contributed by GG, 14-Aug-2025.)
(𝑦 = 𝑤 → (𝜓𝜒))       {⟨⟨𝑥, 𝑦⟩, 𝑧⟩ ∣ 𝜓} = {⟨⟨𝑥, 𝑤⟩, 𝑧⟩ ∣ 𝜒}
 
14-Aug-2025cbvoprab1vw 36216 Change the first bound variable in an operation abstraction, using implicit substitution. (Contributed by GG, 14-Aug-2025.)
(𝑥 = 𝑤 → (𝜓𝜒))       {⟨⟨𝑥, 𝑦⟩, 𝑧⟩ ∣ 𝜓} = {⟨⟨𝑤, 𝑦⟩, 𝑧⟩ ∣ 𝜒}
 
14-Aug-2025cbvriotavw2 36215 Change bound variable and domain in a restricted description binder, using implicit substitution. (Contributed by GG, 14-Aug-2025.)
(𝑥 = 𝑦𝐴 = 𝐵)    &   (𝑥 = 𝑦 → (𝜑𝜓))       (𝑥𝐴 𝜑) = (𝑦𝐵 𝜓)
 
14-Aug-2025cbvdisjvw2 36214 Change bound variable and domain in a disjoint collection, using implicit substitution. (Contributed by GG, 14-Aug-2025.)
(𝑥 = 𝑦𝐶 = 𝐷)    &   (𝑥 = 𝑦𝐴 = 𝐵)       (Disj 𝑥𝐴 𝐶Disj 𝑦𝐵 𝐷)
 
14-Aug-2025cbvmptvw2 36213 Change bound variable and domain in a maps-to function, using implicit substitution. (Contributed by GG, 14-Aug-2025.)
(𝑥 = 𝑦𝐶 = 𝐷)    &   (𝑥 = 𝑦𝐴 = 𝐵)       (𝑥𝐴𝐶) = (𝑦𝐵𝐷)
 
14-Aug-2025cbviinvw2 36212 Change bound variable and domain in an indexed intersection, using implicit substitution. (Contributed by GG, 14-Aug-2025.)
(𝑥 = 𝑦𝐶 = 𝐷)    &   (𝑥 = 𝑦𝐴 = 𝐵)        𝑥𝐴 𝐶 = 𝑦𝐵 𝐷
 
14-Aug-2025cbviunvw2 36211 Change bound variable and domain in indexed unions, using implicit substitution. (Contributed by GG, 14-Aug-2025.)
(𝑥 = 𝑦𝐶 = 𝐷)    &   (𝑥 = 𝑦𝐴 = 𝐵)        𝑥𝐴 𝐶 = 𝑦𝐵 𝐷
 
14-Aug-2025cbvreuvw2 36208 Change bound variable and domain in the restricted existential uniqueness quantifier, using implicit substitution. (Contributed by GG, 14-Aug-2025.)
(𝑥 = 𝑦𝐴 = 𝐵)    &   (𝑥 = 𝑦 → (𝜑𝜓))       (∃!𝑥𝐴 𝜑 ↔ ∃!𝑦𝐵 𝜓)
 
14-Aug-2025cbvrmovw2 36207 Change bound variable and domain in the restricted at-most-one quantifier, using implicit substitution. (Contributed by GG, 14-Aug-2025.)
(𝑥 = 𝑦𝐴 = 𝐵)    &   (𝑥 = 𝑦 → (𝜑𝜓))       (∃*𝑥𝐴 𝜑 ↔ ∃*𝑦𝐵 𝜓)
 
14-Aug-2025cbvrexvw2 36206 Change bound variable and domain in the restricted existential quantifier, using implicit substitution. (Contributed by GG, 14-Aug-2025.)
(𝑥 = 𝑦𝐴 = 𝐵)    &   (𝑥 = 𝑦 → (𝜑𝜓))       (∃𝑥𝐴 𝜑 ↔ ∃𝑦𝐵 𝜓)
 
14-Aug-2025cbvralvw2 36205 Change bound variable and domain in the restricted universal quantifier, using implicit substitution. (Contributed by GG, 14-Aug-2025.)
(𝑥 = 𝑦𝐴 = 𝐵)    &   (𝑥 = 𝑦 → (𝜑𝜓))       (∀𝑥𝐴 𝜑 ↔ ∀𝑦𝐵 𝜓)
 
14-Aug-2025sumeq2sdv 15735 Equality deduction for sum. (Contributed by NM, 3-Jan-2006.) (Proof shortened by Glauco Siliprandi, 5-Apr-2020.) Avoid axioms. (Revised by GG, 14-Aug-2025.)
(𝜑𝐵 = 𝐶)       (𝜑 → Σ𝑘𝐴 𝐵 = Σ𝑘𝐴 𝐶)
 
14-Aug-2025rexima 7256 Existential quantification under an image in terms of the base set. (Contributed by Stefan O'Rear, 21-Jan-2015.) Reduce DV conditions. (Revised by Matthew House, 14-Aug-2025.)
(𝑥 = (𝐹𝑦) → (𝜑𝜓))       ((𝐹 Fn 𝐴𝐵𝐴) → (∃𝑥 ∈ (𝐹𝐵)𝜑 ↔ ∃𝑦𝐵 𝜓))
 
14-Aug-2025ralima 7255 Universal quantification under an image in terms of the base set. (Contributed by Stefan O'Rear, 21-Jan-2015.) Reduce DV conditions. (Revised by Matthew House, 14-Aug-2025.)
(𝑥 = (𝐹𝑦) → (𝜑𝜓))       ((𝐹 Fn 𝐴𝐵𝐴) → (∀𝑥 ∈ (𝐹𝐵)𝜑 ↔ ∀𝑦𝐵 𝜓))
 
14-Aug-2025cbviinv 5039 Change bound variables in an indexed intersection. (Contributed by Jeff Hankins, 26-Aug-2009.) Add disjoint variable condition to avoid ax-13 2376. See cbviinvg 5041 for a less restrictive version requiring more axioms. (Revised by GG, 14-Aug-2025.)
(𝑥 = 𝑦𝐵 = 𝐶)        𝑥𝐴 𝐵 = 𝑦𝐴 𝐶
 
14-Aug-2025cbviunv 5038 Rule used to change the bound variables in an indexed union, with the substitution specified implicitly by the hypothesis. (Contributed by NM, 15-Sep-2003.) Add disjoint variable condition to avoid ax-13 2376. See cbviunvg 5040 for a less restrictive version requiring more axioms. (Revised by GG, 14-Aug-2025.)
(𝑥 = 𝑦𝐵 = 𝐶)        𝑥𝐴 𝐵 = 𝑦𝐴 𝐶
 
14-Aug-2025sbalex 2242 Equivalence of two ways to express proper substitution of a setvar for another setvar disjoint from it in a formula. This proof of their equivalence does not use df-sb 2065.

That both sides of the biconditional express proper substitution is proved by sb5 2276 and sb6 2085. The implication "to the left" is equs4v 1999 and does not require ax-10 2141 nor ax-12 2177. It also holds without disjoint variable condition if we allow more axioms (see equs4 2420). Theorem 6.2 of [Quine] p. 40. Theorem equs5 2464 replaces the disjoint variable condition with a distinctor antecedent. Theorem equs45f 2463 replaces the disjoint variable condition on 𝑥, 𝑡 with the nonfreeness hypothesis of 𝑡 in 𝜑. (Contributed by NM, 14-Apr-2008.) Revised to use equsexv 2268 in place of equsex 2422 in order to remove dependency on ax-13 2376. (Revised by BJ, 20-Dec-2020.) Revise to remove dependency on df-sb 2065. (Revised by BJ, 21-Sep-2024.) (Proof shortened by SN, 14-Aug-2025.)

(∃𝑥(𝑥 = 𝑡𝜑) ↔ ∀𝑥(𝑥 = 𝑡𝜑))
 
14-Aug-2025ax12ev2 2180 Version of ax12v2 2179 rewritten to use an existential quantifier. One direction of sbalex 2242 without the universal quantifier, avoiding ax-10 2141. (Contributed by SN, 14-Aug-2025.)
(∃𝑥(𝑥 = 𝑦𝜑) → (𝑥 = 𝑦𝜑))
 
13-Aug-2025addhalfcut 28409 The cut of a surreal non-negative integer and its successor is the original number plus one half. Part of theorem 4.2 of [Gonshor] p. 30. (Contributed by Scott Fenton, 13-Aug-2025.)
(𝜑𝐴 ∈ ℕ0s)       (𝜑 → ({𝐴} |s {(𝐴 +s 1s )}) = (𝐴 +s ( 1s /su 2s)))
 
13-Aug-2025divscan3d 28250 A cancellation law for surreal division. (Contributed by Scott Fenton, 13-Aug-2025.)
(𝜑𝐴 No )    &   (𝜑𝐵 No )    &   (𝜑𝐵 ≠ 0s )       (𝜑 → ((𝐵 ·s 𝐴) /su 𝐵) = 𝐴)
 
13-Aug-2025divsdird 28249 Distribution of surreal division over addition. (Contributed by Scott Fenton, 13-Aug-2025.)
(𝜑𝐴 No )    &   (𝜑𝐵 No )    &   (𝜑𝐶 No )    &   (𝜑𝐶 ≠ 0s )       (𝜑 → ((𝐴 +s 𝐵) /su 𝐶) = ((𝐴 /su 𝐶) +s (𝐵 /su 𝐶)))
 
13-Aug-2025divsrecd 28248 Relationship between surreal division and reciprocal. (Contributed by Scott Fenton, 13-Aug-2025.)
(𝜑𝐴 No )    &   (𝜑𝐵 No )    &   (𝜑𝐵 ≠ 0s )       (𝜑 → (𝐴 /su 𝐵) = (𝐴 ·s ( 1s /su 𝐵)))
 
13-Aug-2025addsbdaylem 28039 Lemma for addsbday 28040. (Contributed by Scott Fenton, 13-Aug-2025.)
(𝜑𝐴 No )    &   (𝜑 → ∀𝑦𝑂 ∈ (( L ‘𝐵) ∪ ( R ‘𝐵))( bday ‘(𝐴 +s 𝑦𝑂)) ⊆ (( bday 𝐴) +no ( bday 𝑦𝑂)))    &   𝑆 ⊆ (( L ‘𝐵) ∪ ( R ‘𝐵))       (𝜑 → ( bday “ {𝑧 ∣ ∃𝑦𝐿𝑆 𝑧 = (𝐴 +s 𝑦𝐿)}) ⊆ (( bday 𝐴) +no ( bday 𝐵)))
 
13-Aug-2025sltp1d 28038 A surreal is less than itself plus one. (Contributed by Scott Fenton, 13-Aug-2025.)
(𝜑𝐴 No )       (𝜑𝐴 <s (𝐴 +s 1s ))
 
12-Aug-2025alan 42654 Alias for 19.26 1870 for easier lookup. (Contributed by SN, 12-Aug-2025.) (New usage is discouraged.)
(∀𝑥(𝜑𝜓) ↔ (∀𝑥𝜑 ∧ ∀𝑥𝜓))
 
12-Aug-2025sbalexi 42230 Inference form of sbalex 2242, avoiding ax-10 2141 by using ax-gen 1795. (Contributed by SN, 12-Aug-2025.)
𝑥(𝑥 = 𝑦𝜑)       𝑥(𝑥 = 𝑦𝜑)
 
12-Aug-2025addsbday 28040 The birthday of the sum of two surreals is less than or equal to the natural ordinal sum of their individual birthdays. Theorem 6.1 of [Gonshor] p. 95. (Contributed by Scott Fenton, 12-Aug-2025.)
((𝐴 No 𝐵 No ) → ( bday ‘(𝐴 +s 𝐵)) ⊆ (( bday 𝐴) +no ( bday 𝐵)))
 
12-Aug-2025dmxp 5937 The domain of a Cartesian product. Part of Theorem 3.13(x) of [Monk1] p. 37. (Contributed by NM, 28-Jul-1995.) (Proof shortened by Andrew Salmon, 27-Aug-2011.) Avoid ax-10 2141, ax-11 2157, ax-12 2177. (Revised by SN, 12-Aug-2025.)
(𝐵 ≠ ∅ → dom (𝐴 × 𝐵) = 𝐴)
 
10-Aug-2025usgrexmpl12ngric 47970 The graphs 𝐻 and 𝐺 are not isomorphic (𝐻 contains a triangle, see usgrexmpl1tri 47957, whereas 𝐺 does not, see usgrexmpl2trifr 47969. (Contributed by AV, 10-Aug-2025.)
𝑉 = (0...5)    &   𝐸 = ⟨“{0, 1} {1, 2} {2, 3} {3, 4} {4, 5} {0, 3} {0, 5}”⟩    &   𝐺 = ⟨𝑉, 𝐸    &   𝐾 = ⟨“{0, 1} {0, 2} {1, 2} {0, 3} {3, 4} {3, 5} {4, 5}”⟩    &   𝐻 = ⟨𝑉, 𝐾        ¬ 𝐺𝑔𝑟 𝐻
 
10-Aug-2025usgrexmpl2trifr 47969 𝐺 is triangle-free. (Contributed by AV, 10-Aug-2025.)
𝑉 = (0...5)    &   𝐸 = ⟨“{0, 1} {1, 2} {2, 3} {3, 4} {4, 5} {0, 3} {0, 5}”⟩    &   𝐺 = ⟨𝑉, 𝐸        ¬ ∃𝑡 𝑡 ∈ (GrTriangles‘𝐺)
 
10-Aug-2025usgrexmpl2nb5 47968 The neighborhood of the sixth vertex of graph 𝐺. (Contributed by AV, 10-Aug-2025.)
𝑉 = (0...5)    &   𝐸 = ⟨“{0, 1} {1, 2} {2, 3} {3, 4} {4, 5} {0, 3} {0, 5}”⟩    &   𝐺 = ⟨𝑉, 𝐸       (𝐺 NeighbVtx 5) = {0, 4}
 
10-Aug-2025biorfri 940 A wff is equivalent to its disjunction with falsehood. (Contributed by NM, 23-Mar-1995.) (Proof shortened by Wolf Lammen, 16-Jul-2021.) (Proof shortened by AV, 10-Aug-2025.)
¬ 𝜑       (𝜓 ↔ (𝜓𝜑))
 
9-Aug-2025usgrexmpl2nb4 47967 The neighborhood of the fifth vertex of graph 𝐺. (Contributed by AV, 9-Aug-2025.)
𝑉 = (0...5)    &   𝐸 = ⟨“{0, 1} {1, 2} {2, 3} {3, 4} {4, 5} {0, 3} {0, 5}”⟩    &   𝐺 = ⟨𝑉, 𝐸       (𝐺 NeighbVtx 4) = {3, 5}
 
9-Aug-2025usgrexmpl2nb3 47966 The neighborhood of the forth vertex of graph 𝐺. (Contributed by AV, 9-Aug-2025.)
𝑉 = (0...5)    &   𝐸 = ⟨“{0, 1} {1, 2} {2, 3} {3, 4} {4, 5} {0, 3} {0, 5}”⟩    &   𝐺 = ⟨𝑉, 𝐸       (𝐺 NeighbVtx 3) = {0, 2, 4}
 
9-Aug-2025usgrexmpl2nb2 47965 The neighborhood of the third vertex of graph 𝐺. (Contributed by AV, 9-Aug-2025.)
𝑉 = (0...5)    &   𝐸 = ⟨“{0, 1} {1, 2} {2, 3} {3, 4} {4, 5} {0, 3} {0, 5}”⟩    &   𝐺 = ⟨𝑉, 𝐸       (𝐺 NeighbVtx 2) = {1, 3}
 
9-Aug-2025usgrexmpl2nb1 47964 The neighborhood of the second vertex of graph 𝐺. (Contributed by AV, 9-Aug-2025.)
𝑉 = (0...5)    &   𝐸 = ⟨“{0, 1} {1, 2} {2, 3} {3, 4} {4, 5} {0, 3} {0, 5}”⟩    &   𝐺 = ⟨𝑉, 𝐸       (𝐺 NeighbVtx 1) = {0, 2}
 
9-Aug-2025usgrexmpl2nb0 47963 The neighborhood of the first vertex of graph 𝐺. (Contributed by AV, 9-Aug-2025.)
𝑉 = (0...5)    &   𝐸 = ⟨“{0, 1} {1, 2} {2, 3} {3, 4} {4, 5} {0, 3} {0, 5}”⟩    &   𝐺 = ⟨𝑉, 𝐸       (𝐺 NeighbVtx 0) = {1, 3, 5}
 
9-Aug-2025usgrexmpl2nblem 47962 Lemma for usgrexmpl2nb0 47963 etc. (Contributed by AV, 9-Aug-2025.)
𝑉 = (0...5)    &   𝐸 = ⟨“{0, 1} {1, 2} {2, 3} {3, 4} {4, 5} {0, 3} {0, 5}”⟩    &   𝐺 = ⟨𝑉, 𝐸       (𝐾 ∈ ({0, 1, 2} ∪ {3, 4, 5}) → (𝐺 NeighbVtx 𝐾) = {𝑛 ∈ ({0, 1, 2} ∪ {3, 4, 5}) ∣ {𝐾, 𝑛} ∈ ({{0, 3}} ∪ ({{0, 1}, {1, 2}, {2, 3}} ∪ {{3, 4}, {4, 5}, {0, 5}}))})
 
9-Aug-2025aks5lem8 42180 Lemma for aks5. Clean up the conclusion. (Contributed by metakunt, 9-Aug-2025.)
(𝜑 → (♯‘(Base‘𝐾)) ∈ ℕ)    &   𝑃 = (chr‘𝐾)    &   (𝜑𝐾 ∈ Field)    &   (𝜑𝑃 ∈ ℙ)    &   (𝜑𝑅 ∈ ℕ)    &   (𝜑𝑁 ∈ (ℤ‘3))    &   (𝜑𝑃𝑁)    &   (𝜑 → (𝑁 gcd 𝑅) = 1)    &   𝐴 = (⌊‘((√‘(ϕ‘𝑅)) · (2 logb 𝑁)))    &   (𝜑 → ((2 logb 𝑁)↑2) < ((od𝑅)‘𝑁))    &   (𝜑𝑅 ∥ ((♯‘(Base‘𝐾)) − 1))    &   (𝜑 → ∀𝑎 ∈ (1...𝐴)[(𝑁(.g‘(mulGrp‘𝑆))(𝑋(+g𝑆)((ℤRHom‘𝑆)‘𝑎)))](𝑆 ~QG 𝐿) = [((𝑁(.g‘(mulGrp‘𝑆))𝑋)(+g𝑆)((ℤRHom‘𝑆)‘𝑎))](𝑆 ~QG 𝐿))    &   (𝜑 → ∀𝑏 ∈ (1...𝐴)(𝑏 gcd 𝑁) = 1)    &   𝑆 = (Poly1‘(ℤ/nℤ‘𝑁))    &   𝐿 = ((RSpan‘𝑆)‘{((𝑅(.g‘(mulGrp‘𝑆))𝑋)(-g𝑆)(1r𝑆))})    &   𝑋 = (var1‘(ℤ/nℤ‘𝑁))       (𝜑 → ∃𝑝 ∈ ℙ ∃𝑛 ∈ ℕ 𝑁 = (𝑝𝑛))
 
9-Aug-2025aks5lem7 42179 Lemma for aks5. We clean up the hypotheses compared to aks5lem6 42171. (Contributed by metakunt, 9-Aug-2025.)
(𝜑 → (♯‘(Base‘𝐾)) ∈ ℕ)    &   𝑃 = (chr‘𝐾)    &   (𝜑𝐾 ∈ Field)    &   (𝜑𝑃 ∈ ℙ)    &   (𝜑𝑅 ∈ ℕ)    &   (𝜑𝑁 ∈ (ℤ‘3))    &   (𝜑𝑃𝑁)    &   (𝜑 → (𝑁 gcd 𝑅) = 1)    &   𝐴 = (⌊‘((√‘(ϕ‘𝑅)) · (2 logb 𝑁)))    &   (𝜑 → ((2 logb 𝑁)↑2) < ((od𝑅)‘𝑁))    &   (𝜑𝑅 ∥ ((♯‘(Base‘𝐾)) − 1))    &   (𝜑 → ∀𝑎 ∈ (1...𝐴)[(𝑁(.g‘(mulGrp‘𝑆))(𝑋(+g𝑆)((ℤRHom‘𝑆)‘𝑎)))](𝑆 ~QG 𝐿) = [((𝑁(.g‘(mulGrp‘𝑆))𝑋)(+g𝑆)((ℤRHom‘𝑆)‘𝑎))](𝑆 ~QG 𝐿))    &   (𝜑 → ∀𝑏 ∈ (1...𝐴)(𝑏 gcd 𝑁) = 1)    &   𝑆 = (Poly1‘(ℤ/nℤ‘𝑁))    &   𝐿 = ((RSpan‘𝑆)‘{((𝑅(.g‘(mulGrp‘𝑆))𝑋)(-g𝑆)(1r𝑆))})    &   𝑋 = (var1‘(ℤ/nℤ‘𝑁))       (𝜑𝑁 = (𝑃↑(𝑃 pCnt 𝑁)))
 
9-Aug-2025unitscyglem5 42178 Lemma for unitscyg (Contributed by metakunt, 9-Aug-2025.)
𝐺 = ((mulGrp‘𝑅) ↾s (Unit‘𝑅))    &   (𝜑𝑅 ∈ IDomn)    &   (𝜑 → (Base‘𝑅) ∈ Fin)    &   (𝜑𝐷 ∈ ℕ)    &   (𝜑𝐷 ∥ (♯‘(Base‘𝐺)))       (𝜑 → ((mulGrp‘𝑅) PrimRoots 𝐷) ≠ ∅)
 
9-Aug-2025el7g 4688 Members of a set with seven elements. Lemma for usgrexmpl2nb0 47963 etc. (Contributed by AV, 9-Aug-2025.)
(𝑋𝑉 → (𝑋 ∈ ({𝐴} ∪ ({𝐵, 𝐶, 𝐷} ∪ {𝐸, 𝐹, 𝐺})) ↔ (𝑋 = 𝐴 ∨ ((𝑋 = 𝐵𝑋 = 𝐶𝑋 = 𝐷) ∨ (𝑋 = 𝐸𝑋 = 𝐹𝑋 = 𝐺)))))
 
7-Aug-2025usgrgrtrirex 47890 Conditions for a simple graph to contain a triangle. (Contributed by AV, 7-Aug-2025.)
𝑉 = (Vtx‘𝐺)    &   𝐸 = (Edg‘𝐺)    &   𝑁 = (𝐺 NeighbVtx 𝑎)       (𝐺 ∈ USGraph → (∃𝑡 𝑡 ∈ (GrTriangles‘𝐺) ↔ ∃𝑎𝑉𝑏𝑁𝑐𝑁 (𝑏𝑐 ∧ {𝑏, 𝑐} ∈ 𝐸)))
 
7-Aug-2025usgrexmpl 29270 𝐺 is a simple graph of five vertices 0, 1, 2, 3, 4, with edges {0, 1}, {1, 2}, {2, 0}, {0, 3}. (Contributed by Alexander van der Vekens, 15-Aug-2017.) (Revised by AV, 21-Oct-2020.) (Proof shortened by AV, 7-Aug-2025.)
𝑉 = (0...4)    &   𝐸 = ⟨“{0, 1} {1, 2} {2, 0} {0, 3}”⟩    &   𝐺 = ⟨𝑉, 𝐸       𝐺 ∈ USGraph
 
7-Aug-2025zzs12 28413 A surreal integer is a dyadic fraction. (Contributed by Scott Fenton, 7-Aug-2025.)
(𝐴 ∈ ℤs𝐴 ∈ ℤs[1/2])
 
7-Aug-2025zs12ex 28412 The class of dyadic fractions is a set. (Contributed by Scott Fenton, 7-Aug-2025.)
s[1/2] ∈ V
 
7-Aug-2025elzs12 28411 Membership in the dyadic fractions. (Contributed by Scott Fenton, 7-Aug-2025.)
(𝐴 ∈ ℤs[1/2] ↔ ∃𝑥 ∈ ℤs𝑦 ∈ ℕ0s 𝐴 = (𝑥 /su (2ss𝑦)))
 
7-Aug-2025pw2bday 28408 The inverses of powers of two have finite birthdays. (Contributed by Scott Fenton, 7-Aug-2025.)
(𝑁 ∈ ℕ0s → ( bday ‘( 1s /su (2ss𝑁))) ∈ ω)
 
7-Aug-2025cutpw2 28407 A cut expression for inverses of powers of two. (Contributed by Scott Fenton, 7-Aug-2025.)
(𝑁 ∈ ℕ0s → ( 1s /su (2ss(𝑁 +s 1s ))) = ({ 0s } |s {( 1s /su (2ss𝑁))}))
 
7-Aug-2025halfcut 28406 Relate the cut of twice of two numbers to the cut of the numbers. Lemma 4.2 of [Gonshor] p. 28. (Contributed by Scott Fenton, 7-Aug-2025.)
(𝜑𝐴 No )    &   (𝜑𝐵 No )    &   (𝜑𝐴 <s 𝐵)    &   (𝜑 → ({(2s ·s 𝐴)} |s {(2s ·s 𝐵)}) = (𝐴 +s 𝐵))    &   𝐶 = ({𝐴} |s {𝐵})       (𝜑𝐶 = ((𝐴 +s 𝐵) /su 2s))
 
7-Aug-2025expsgt0 28405 A non-negative surreal integer power is positive if its base is positive. (Contributed by Scott Fenton, 7-Aug-2025.)
((𝐴 No 𝑁 ∈ ℕ0s ∧ 0s <s 𝐴) → 0s <s (𝐴s𝑁))
 
7-Aug-2025expsne0 28404 A non-negative surreal integer power is non-zero if its base is non-zero. (Contributed by Scott Fenton, 7-Aug-2025.)
((𝐴 No 𝐴 ≠ 0s𝑁 ∈ ℕ0s) → (𝐴s𝑁) ≠ 0s )
 
7-Aug-2025expscl 28403 Closure law for surreal exponentiation. (Contributed by Scott Fenton, 7-Aug-2025.)
((𝐴 No 𝑁 ∈ ℕ0s) → (𝐴s𝑁) ∈ No )
 
7-Aug-2025divdivs1d 28247 Surreal division into a fraction. (Contributed by Scott Fenton, 7-Aug-2025.)
(𝜑𝐴 No )    &   (𝜑𝐵 No )    &   (𝜑𝐶 No )    &   (𝜑𝐵 ≠ 0s )    &   (𝜑𝐶 ≠ 0s )       (𝜑 → ((𝐴 /su 𝐵) /su 𝐶) = (𝐴 /su (𝐵 ·s 𝐶)))
 
7-Aug-2025fz0to4untppr 13666 An integer range from 0 to 4 is the union of a triple and a pair. (Contributed by Alexander van der Vekens, 13-Aug-2017.) (Proof shortened by AV, 7-Aug-2025.)
(0...4) = ({0, 1, 2} ∪ {3, 4})
 
6-Aug-2025expsp1 28402 Value of a surreal number raised to a non-negative integer power plus one. (Contributed by Scott Fenton, 6-Aug-2025.)
((𝐴 No 𝑁 ∈ ℕ0s) → (𝐴s(𝑁 +s 1s )) = ((𝐴s𝑁) ·s 𝐴))
 
6-Aug-2025nnsind 28353 Principle of Mathematical Induction (inference schema). (Contributed by Scott Fenton, 6-Aug-2025.)
(𝑥 = 1s → (𝜑𝜓))    &   (𝑥 = 𝑦 → (𝜑𝜒))    &   (𝑥 = (𝑦 +s 1s ) → (𝜑𝜃))    &   (𝑥 = 𝐴 → (𝜑𝜏))    &   𝜓    &   (𝑦 ∈ ℕs → (𝜒𝜃))       (𝐴 ∈ ℕs𝜏)
 
6-Aug-2025dfnns2 28352 Alternate definition of the positive surreal integers. Compare df-nn 12263. (Contributed by Scott Fenton, 6-Aug-2025.)
s = (rec((𝑥 ∈ V ↦ (𝑥 +s 1s )), 1s ) “ ω)
 
6-Aug-2025iseqsetv-cleq 2805 Alternate proof of iseqsetv-clel 2819. The expression 𝑥𝑥 = 𝐴 does not depend on a particular choice of the set variable. The proof here avoids df-clab 2714, df-clel 2815 and ax-8 2110, but instead is based on ax-9 2118, ax-ext 2707 and df-cleq 2728. In particular it still accepts 𝑥𝐴 being a primitive syntax term, not assuming any specific semantics (like elementhood in some form).

Use it in contexts where you want to avoid df-clab 2714, or you need df-cleq 2728 anyway. See the alternative version , not using df-cleq 2728 or ax-ext 2707 or ax-9 2118. (Contributed by Wolf Lammen, 6-Aug-2025.) (Proof modification is discouraged.)

(∃𝑥 𝑥 = 𝐴 ↔ ∃𝑦 𝑦 = 𝐴)
 
4-Aug-2025mhprcl 22139 Reverse closure for homogeneous polynomials, use elfvov1 7471 and elfvov2 7472 with reldmmhp 22133 for the reverse closure of 𝐼 and 𝑅. (Contributed by SN, 4-Aug-2025.)
𝐻 = (𝐼 mHomP 𝑅)    &   (𝜑𝑋 ∈ (𝐻𝑁))       (𝜑𝑁 ∈ ℕ0)
 
4-Aug-2025elfvov2 7472 Utility theorem: reverse closure for any operation that results in a function. (Contributed by SN, 4-Aug-2025.)
Rel dom 𝑂    &   𝑆 = (𝐼𝑂𝑅)    &   (𝜑𝑋 ∈ (𝑆𝑌))       (𝜑𝑅 ∈ V)
 
3-Aug-2025usgrexmpl2edg 47961 The edges {0, 1}, {1, 2}, {2, 3}, {0, 3}, {3, 4}, {4, 5}, {0, 5} of the graph 𝐺 = ⟨𝑉, 𝐸. (Contributed by AV, 3-Aug-2025.)
𝑉 = (0...5)    &   𝐸 = ⟨“{0, 1} {1, 2} {2, 3} {3, 4} {4, 5} {0, 3} {0, 5}”⟩    &   𝐺 = ⟨𝑉, 𝐸       (Edg‘𝐺) = ({{0, 3}} ∪ ({{0, 1}, {1, 2}, {2, 3}} ∪ {{3, 4}, {4, 5}, {0, 5}}))
 
3-Aug-2025usgrexmpl2vtx 47960 The vertices 0, 1, 2, 3, 4, 5 of the graph 𝐺 = ⟨𝑉, 𝐸. (Contributed by AV, 3-Aug-2025.)
𝑉 = (0...5)    &   𝐸 = ⟨“{0, 1} {1, 2} {2, 3} {3, 4} {4, 5} {0, 3} {0, 5}”⟩    &   𝐺 = ⟨𝑉, 𝐸       (Vtx‘𝐺) = ({0, 1, 2} ∪ {3, 4, 5})
 
3-Aug-2025usgrexmpl2 47959 𝐺 is a simple graph of six vertices 0, 1, 2, 3, 4, 5, with edges {0, 1}, {1, 2}, {2, 3}, {0, 3}, {3, 4}, {4, 5}, {0, 5}. (Contributed by AV, 3-Aug-2025.)
𝑉 = (0...5)    &   𝐸 = ⟨“{0, 1} {1, 2} {2, 3} {3, 4} {4, 5} {0, 3} {0, 5}”⟩    &   𝐺 = ⟨𝑉, 𝐸       𝐺 ∈ USGraph
 
3-Aug-2025usgrexmpl2lem 47958 Lemma for usgrexmpl2 47959. (Contributed by AV, 3-Aug-2025.)
𝑉 = (0...5)    &   𝐸 = ⟨“{0, 1} {1, 2} {2, 3} {3, 4} {4, 5} {0, 3} {0, 5}”⟩       𝐸:dom 𝐸1-1→{𝑒 ∈ 𝒫 𝑉 ∣ (♯‘𝑒) = 2}
 
3-Aug-2025usgrexmpl1tri 47957 𝐺 contains a triangle 0, 1, 2, with corresponding edges {0, 1}, {1, 2}, {0, 2}. (Contributed by AV, 3-Aug-2025.)
𝑉 = (0...5)    &   𝐸 = ⟨“{0, 1} {0, 2} {1, 2} {0, 3} {3, 4} {3, 5} {4, 5}”⟩    &   𝐺 = ⟨𝑉, 𝐸       {0, 1, 2} ∈ (GrTriangles‘𝐺)
 
3-Aug-2025usgrexmpl1edg 47956 The edges {0, 1}, {1, 2}, {0, 2}, {0, 3}, {3, 4}, {3, 5}, {4, 5} of the graph 𝐺 = ⟨𝑉, 𝐸. (Contributed by AV, 3-Aug-2025.)
𝑉 = (0...5)    &   𝐸 = ⟨“{0, 1} {0, 2} {1, 2} {0, 3} {3, 4} {3, 5} {4, 5}”⟩    &   𝐺 = ⟨𝑉, 𝐸       (Edg‘𝐺) = ({{0, 3}} ∪ ({{0, 1}, {0, 2}, {1, 2}} ∪ {{3, 4}, {3, 5}, {4, 5}}))
 
3-Aug-2025usgrexmpl1vtx 47955 The vertices 0, 1, 2, 3, 4, 5 of the graph 𝐺 = ⟨𝑉, 𝐸. (Contributed by AV, 3-Aug-2025.)
𝑉 = (0...5)    &   𝐸 = ⟨“{0, 1} {0, 2} {1, 2} {0, 3} {3, 4} {3, 5} {4, 5}”⟩    &   𝐺 = ⟨𝑉, 𝐸       (Vtx‘𝐺) = ({0, 1, 2} ∪ {3, 4, 5})
 
3-Aug-2025usgrexmpl1 47954 𝐺 is a simple graph of six vertices 0, 1, 2, 3, 4, 5, with edges {0, 1}, {1, 2}, {0, 2}, {0, 3}, {3, 4}, {3, 5}, {4, 5}. (Contributed by AV, 3-Aug-2025.)
𝑉 = (0...5)    &   𝐸 = ⟨“{0, 1} {0, 2} {1, 2} {0, 3} {3, 4} {3, 5} {4, 5}”⟩    &   𝐺 = ⟨𝑉, 𝐸       𝐺 ∈ USGraph
 
3-Aug-2025axnulg 35084 A generalization of ax-nul 5304 in which 𝑥 and 𝑦 need not be distinct. Note that it is possible to use axc7e 2318 to derive elirrv 9632 from this theorem, which justifies the dependency on ax-reg 9628. Usage of this theorem is discouraged because it depends on ax-13 2376. (Contributed by BTernaryTau, 3-Aug-2025.) (New usage is discouraged.)
𝑥𝑦 ¬ 𝑦𝑥
 
3-Aug-2025axsepg2ALT 35075 Alternate proof of axsepg2 35074, derived directly from ax-sep 5294 with no additional set theory axioms. (Contributed by BTernaryTau, 3-Aug-2025.) (Proof modification is discouraged.) (New usage is discouraged.)
𝑦𝑥(𝑥𝑦 ↔ (𝑥𝑧𝜑))
 
3-Aug-2025axsepg2 35074 A generalization of ax-sep 5294 in which 𝑦 and 𝑧 need not be distinct. See also axsepg 5295 which instead allows 𝑧 to occur in 𝜑. Usage of this theorem is discouraged because it depends on ax-13 2376. (Contributed by BTernaryTau, 3-Aug-2025.) (New usage is discouraged.)
𝑦𝑥(𝑥𝑦 ↔ (𝑥𝑧𝜑))
 
3-Aug-2025assafld 33675 If an algebra 𝐴 of finite degree over a division ring 𝐾 is an integral domain, then it is a field. Corollary of Proposition 2. in Chapter 5. of [BourbakiAlg2] p. 113. (Contributed by Thierry Arnoux, 3-Aug-2025.)
𝐾 = (Scalar‘𝐴)    &   (𝜑𝐴 ∈ AssAlg)    &   (𝜑𝐴 ∈ IDomn)    &   (𝜑𝐾 ∈ DivRing)    &   (𝜑 → (dim‘𝐴) ∈ ℕ0)       (𝜑𝐴 ∈ Field)
 
3-Aug-2025assarrginv 33674 If an element 𝑋 of an associative algebra 𝐴 over a division ring 𝐾 is regular, then it is a unit. Proposition 2. in Chapter 5. of [BourbakiAlg2] p. 113. (Contributed by Thierry Arnoux, 3-Aug-2025.)
𝐸 = (RLReg‘𝐴)    &   𝑈 = (Unit‘𝐴)    &   𝐾 = (Scalar‘𝐴)    &   (𝜑𝐴 ∈ AssAlg)    &   (𝜑𝐾 ∈ DivRing)    &   (𝜑 → (dim‘𝐴) ∈ ℕ0)    &   (𝜑𝑋𝐸)       (𝜑𝑋𝑈)
 
3-Aug-2025assalactf1o 33673 In an associative algebra 𝐴, left-multiplication by a fixed element of the algebra is bijective. See also lactlmhm 33672. (Contributed by Thierry Arnoux, 3-Aug-2025.)
𝐵 = (Base‘𝐴)    &    · = (.r𝐴)    &   𝐹 = (𝑥𝐵 ↦ (𝐶 · 𝑥))    &   (𝜑𝐴 ∈ AssAlg)    &   𝐸 = (RLReg‘𝐴)    &   𝐾 = (Scalar‘𝐴)    &   (𝜑𝐾 ∈ DivRing)    &   (𝜑 → (dim‘𝐴) ∈ ℕ0)    &   (𝜑𝐶𝐸)       (𝜑𝐹:𝐵1-1-onto𝐵)
 
3-Aug-2025lactlmhm 33672 In an associative algebra 𝐴, left-multiplication by a fixed element of the algebra is a module homomorphism, analogous to ringlghm 20301. (Contributed by Thierry Arnoux, 3-Aug-2025.)
𝐵 = (Base‘𝐴)    &    · = (.r𝐴)    &   𝐹 = (𝑥𝐵 ↦ (𝐶 · 𝑥))    &   (𝜑𝐴 ∈ AssAlg)    &   (𝜑𝐶𝐵)       (𝜑𝐹 ∈ (𝐴 LMHom 𝐴))
 
3-Aug-2025lvecendof1f1o 33671 If an endomorphism 𝑈 of a vector space 𝐸 of finite dimension is injective, then it is bijective. Item (b) of Corollary of Proposition 9 in [BourbakiAlg1] p. 298 . (Contributed by Thierry Arnoux, 3-Aug-2025.)
𝐵 = (Base‘𝐸)    &   (𝜑𝐸 ∈ LVec)    &   (𝜑 → (dim‘𝐸) ∈ ℕ0)    &   (𝜑𝑈 ∈ (𝐸 LMHom 𝐸))    &   (𝜑𝑈:𝐵1-1𝐵)       (𝜑𝑈:𝐵1-1-onto𝐵)
 
3-Aug-2025dimlssid 33670 If the dimension of a linear subspace 𝐿 is the dimension of the whole vector space 𝐸, then 𝐿 is the whole space. (Contributed by Thierry Arnoux, 3-Aug-2025.)
𝐵 = (Base‘𝐸)    &   (𝜑𝐸 ∈ LVec)    &   (𝜑 → (dim‘𝐸) ∈ ℕ0)    &   (𝜑𝐿 ∈ (LSubSp‘𝐸))    &   (𝜑 → (dim‘(𝐸s 𝐿)) = (dim‘𝐸))       (𝜑𝐿 = 𝐵)
 
3-Aug-2025isunit3 33233 Alternate definition of being a unit. (Contributed by Thierry Arnoux, 3-Aug-2025.)
𝐵 = (Base‘𝑅)    &   𝑈 = (Unit‘𝑅)    &    · = (.r𝑅)    &    1 = (1r𝑅)    &   (𝜑𝑋𝐵)    &   (𝜑𝑅 ∈ Ring)       (𝜑 → (𝑋𝑈 ↔ ∃𝑦𝐵 ((𝑋 · 𝑦) = 1 ∧ (𝑦 · 𝑋) = 1 )))
 
3-Aug-2025isunit2 33232 Alternate definition of being a unit. (Contributed by Thierry Arnoux, 3-Aug-2025.)
𝐵 = (Base‘𝑅)    &   𝑈 = (Unit‘𝑅)    &    · = (.r𝑅)    &    1 = (1r𝑅)       (𝑋𝑈 ↔ (𝑋𝐵 ∧ (∃𝑢𝐵 (𝑋 · 𝑢) = 1 ∧ ∃𝑣𝐵 (𝑣 · 𝑋) = 1 )))
 
3-Aug-2025grpsubcld 33030 Closure of group subtraction. (Contributed by Thierry Arnoux, 3-Aug-2025.)
𝐵 = (Base‘𝐺)    &    = (-g𝐺)    &   (𝜑𝐺 ∈ Grp)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)       (𝜑 → (𝑋 𝑌) ∈ 𝐵)
 
3-Aug-2025mndractf1o 33021 An element 𝑋 of a monoid 𝐸 is invertible iff its right-translation 𝐺 is bijective. See also mndlactf1o 33020. Remark in chapter I. of [BourbakiAlg1] p. 17 . (Contributed by Thierry Arnoux, 3-Aug-2025.)
𝐵 = (Base‘𝐸)    &    0 = (0g𝐸)    &    + = (+g𝐸)    &   𝐺 = (𝑎𝐵 ↦ (𝑎 + 𝑋))    &   (𝜑𝐸 ∈ Mnd)    &   (𝜑𝑋𝐵)       (𝜑 → (𝐺:𝐵1-1-onto𝐵 ↔ ∃𝑦𝐵 ((𝑋 + 𝑦) = 0 ∧ (𝑦 + 𝑋) = 0 )))
 
3-Aug-2025mndlactf1o 33020 An element 𝑋 of a monoid 𝐸 is invertible iff its left-translation 𝐹 is bijective. See also grplactf1o 19058. Remark in chapter I. of [BourbakiAlg1] p. 17. (Contributed by Thierry Arnoux, 3-Aug-2025.)
𝐵 = (Base‘𝐸)    &    0 = (0g𝐸)    &    + = (+g𝐸)    &   𝐹 = (𝑎𝐵 ↦ (𝑋 + 𝑎))    &   (𝜑𝐸 ∈ Mnd)    &   (𝜑𝑋𝐵)       (𝜑 → (𝐹:𝐵1-1-onto𝐵 ↔ ∃𝑦𝐵 ((𝑋 + 𝑦) = 0 ∧ (𝑦 + 𝑋) = 0 )))
 
3-Aug-2025mndractfo 33019 An element 𝑋 of a monoid 𝐸 is right-invertible iff its right-translation 𝐺 is surjective. (Contributed by Thierry Arnoux, 3-Aug-2025.)
𝐵 = (Base‘𝐸)    &    0 = (0g𝐸)    &    + = (+g𝐸)    &   𝐺 = (𝑎𝐵 ↦ (𝑎 + 𝑋))    &   (𝜑𝐸 ∈ Mnd)    &   (𝜑𝑋𝐵)       (𝜑 → (𝐺:𝐵onto𝐵 ↔ ∃𝑦𝐵 (𝑦 + 𝑋) = 0 ))
 
3-Aug-2025mndractf1 33018 If an element 𝑋 of a monoid 𝐸 is right-invertible, with inverse 𝑌, then its left-translation 𝐺 is injective. See also grplactf1o 19058. Remark in chapter I. of [BourbakiAlg1] p. 17 . (Contributed by Thierry Arnoux, 3-Aug-2025.)
𝐵 = (Base‘𝐸)    &    0 = (0g𝐸)    &    + = (+g𝐸)    &   𝐺 = (𝑎𝐵 ↦ (𝑎 + 𝑋))    &   (𝜑𝐸 ∈ Mnd)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)    &   (𝜑 → (𝑋 + 𝑌) = 0 )       (𝜑𝐺:𝐵1-1𝐵)
 
3-Aug-2025mndlactfo 33017 An element 𝑋 of a monoid 𝐸 is left-invertible iff its left-translation 𝐹 is surjective. See also grplactf1o 19058. (Contributed by Thierry Arnoux, 3-Aug-2025.)
𝐵 = (Base‘𝐸)    &    0 = (0g𝐸)    &    + = (+g𝐸)    &   𝐹 = (𝑎𝐵 ↦ (𝑋 + 𝑎))    &   (𝜑𝐸 ∈ Mnd)    &   (𝜑𝑋𝐵)       (𝜑 → (𝐹:𝐵onto𝐵 ↔ ∃𝑦𝐵 (𝑋 + 𝑦) = 0 ))
 
3-Aug-2025mndlactf1 33016 If an element 𝑋 of a monoid 𝐸 is right-invertible, with inverse 𝑌, then its left-translation 𝐹 is injective. See also grplactf1o 19058. Remark in chapter I. of [BourbakiAlg1] p. 17 . (Contributed by Thierry Arnoux, 3-Aug-2025.)
𝐵 = (Base‘𝐸)    &    0 = (0g𝐸)    &    + = (+g𝐸)    &   𝐹 = (𝑎𝐵 ↦ (𝑋 + 𝑎))    &   (𝜑𝐸 ∈ Mnd)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)    &   (𝜑 → (𝑌 + 𝑋) = 0 )       (𝜑𝐹:𝐵1-1𝐵)
 
3-Aug-2025mndlrinvb 33015 In a monoid, if an element has both a left-inverse and a right-inverse, they are equal. (Contributed by Thierry Arnoux, 3-Aug-2025.)
𝐵 = (Base‘𝐸)    &    0 = (0g𝐸)    &    + = (+g𝐸)    &   (𝜑𝐸 ∈ Mnd)    &   (𝜑𝑋𝐵)       (𝜑 → ((∃𝑢𝐵 (𝑋 + 𝑢) = 0 ∧ ∃𝑣𝐵 (𝑣 + 𝑋) = 0 ) ↔ ∃𝑦𝐵 ((𝑋 + 𝑦) = 0 ∧ (𝑦 + 𝑋) = 0 )))
 
3-Aug-2025mndlrinv 33014 In a monoid, if an element 𝑋 has both a left inverse 𝑀 and a right inverse 𝑁, they are equal. (Contributed by Thierry Arnoux, 3-Aug-2025.)
𝐵 = (Base‘𝐸)    &    0 = (0g𝐸)    &    + = (+g𝐸)    &   (𝜑𝐸 ∈ Mnd)    &   (𝜑𝑋𝐵)    &   (𝜑𝑀𝐵)    &   (𝜑𝑁𝐵)    &   (𝜑 → (𝑀 + 𝑋) = 0 )    &   (𝜑 → (𝑋 + 𝑁) = 0 )       (𝜑𝑀 = 𝑁)
 
3-Aug-2025mndassd 33013 A monoid operation is associative. (Contributed by Thierry Arnoux, 3-Aug-2025.)
𝐵 = (Base‘𝐺)    &    + = (+g𝐺)    &   (𝜑𝐺 ∈ Mnd)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)    &   (𝜑𝑍𝐵)       (𝜑 → ((𝑋 + 𝑌) + 𝑍) = (𝑋 + (𝑌 + 𝑍)))
 
3-Aug-2025mndcld 33012 Closure of the operation of a monoid. (Contributed by Thierry Arnoux, 3-Aug-2025.)
𝐵 = (Base‘𝐺)    &    + = (+g𝐺)    &   (𝜑𝐺 ∈ Mnd)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)       (𝜑 → (𝑋 + 𝑌) ∈ 𝐵)
 
3-Aug-2025n0limd 32480 Deduction rule for nonempty classes. (Contributed by Thierry Arnoux, 3-Aug-2025.)
(𝜑𝐴 ≠ ∅)    &   ((𝜑𝑥𝐴) → 𝜓)       (𝜑𝜓)
 
2-Aug-2025usgrexmpl1lem 47953 Lemma for usgrexmpl1 47954. (Contributed by AV, 2-Aug-2025.)
𝑉 = (0...5)    &   𝐸 = ⟨“{0, 1} {0, 2} {1, 2} {0, 3} {3, 4} {3, 5} {4, 5}”⟩       𝐸:dom 𝐸1-1→{𝑒 ∈ 𝒫 𝑉 ∣ (♯‘𝑒) = 2}
 
2-Aug-2025s7f1o 15001 A length 7 word with mutually different symbols is a one-to-one function onto the set of the symbols. (Contributed by AV, 2-Aug-2025.)
((((𝐴𝑉𝐵𝑉𝐶𝑉) ∧ 𝐷𝑉 ∧ (𝐸𝑉𝐹𝑉𝐺𝑉)) ∧ ((((𝐴𝐵𝐴𝐶𝐴𝐷) ∧ (𝐴𝐸𝐴𝐹𝐴𝐺)) ∧ ((𝐵𝐶𝐵𝐷) ∧ (𝐵𝐸𝐵𝐹𝐵𝐺)) ∧ (𝐶𝐷 ∧ (𝐶𝐸𝐶𝐹𝐶𝐺))) ∧ ((𝐷𝐸𝐷𝐹𝐷𝐺) ∧ (𝐸𝐹𝐸𝐺𝐹𝐺)))) → (𝐾 = ⟨“𝐴𝐵𝐶𝐷𝐸𝐹𝐺”⟩ → 𝐾:(0..^7)–1-1-onto→(({𝐴, 𝐵, 𝐶} ∪ {𝐷}) ∪ {𝐸, 𝐹, 𝐺})))
 
2-Aug-2025hash7g 14521 The size of an unordered set of seven different elements. (Contributed by AV, 2-Aug-2025.)
((((𝐴𝑉𝐵𝑉𝐶𝑉) ∧ 𝐷𝑉 ∧ (𝐸𝑉𝐹𝑉𝐺𝑉)) ∧ ((((𝐴𝐵𝐴𝐶𝐴𝐷) ∧ (𝐴𝐸𝐴𝐹𝐴𝐺)) ∧ ((𝐵𝐶𝐵𝐷) ∧ (𝐵𝐸𝐵𝐹𝐵𝐺)) ∧ (𝐶𝐷 ∧ (𝐶𝐸𝐶𝐹𝐶𝐺))) ∧ ((𝐷𝐸𝐷𝐹𝐷𝐺) ∧ (𝐸𝐹𝐸𝐺𝐹𝐺)))) → (♯‘(({𝐴, 𝐵, 𝐶} ∪ {𝐷}) ∪ {𝐸, 𝐹, 𝐺})) = 7)
 
1-Aug-2025in-ax8 36203 A proof of ax-8 2110 that does not rely on ax-8 2110. It employs df-in 3957 to perform alpha-renaming and eliminates disjoint variable conditions using ax-9 2118. Since the nature of this result is unclear, usage of this theorem is discouraged, and this method should not be applied to eliminate axiom dependencies. (Contributed by GG, 1-Aug-2025.) (Proof modification is discouraged.) (New usage is discouraged.)
(𝑥 = 𝑦 → (𝑥𝑧𝑦𝑧))
 
1-Aug-2025s3rn 14999 Range of a length 3 string. (Contributed by Thierry Arnoux, 19-Sep-2023.) (Proof shortened by AV, 1-Aug-2025.)
(𝜑𝐼𝐷)    &   (𝜑𝐽𝐷)    &   (𝜑𝐾𝐷)       (𝜑 → ran ⟨“𝐼𝐽𝐾”⟩ = {𝐼, 𝐽, 𝐾})
 
1-Aug-2025s2rn 14998 Range of a length 2 string. (Contributed by Thierry Arnoux, 19-Sep-2023.) (Proof shortened by AV, 1-Aug-2025.)
(𝜑𝐼𝐷)    &   (𝜑𝐽𝐷)       (𝜑 → ran ⟨“𝐼𝐽”⟩ = {𝐼, 𝐽})
 
31-Jul-2025dvelimexcasei 35070 Eliminate a disjoint variable condition from an existentially quantified statement using cases. Inference form of dvelimexcased 35069. See axnulg 35084 for an example of its use. (Contributed by BTernaryTau, 31-Jul-2025.)
(¬ ∀𝑥 𝑥 = 𝑦 → Ⅎ𝑥𝜑)    &   (¬ ∀𝑥 𝑥 = 𝑦 → Ⅎ𝑧𝜒)    &   (¬ ∀𝑥 𝑥 = 𝑦 → (𝑧 = 𝑥 → (𝜑𝜒)))    &   (∀𝑥 𝑥 = 𝑦 → (𝜓𝜒))    &   𝑧𝜑    &   𝑥𝜓       𝑥𝜒
 
31-Jul-2025dvelimexcased 35069 Eliminate a disjoint variable condition from an existentially quantified statement using cases. (Contributed by BTernaryTau, 31-Jul-2025.)
𝑥𝜑    &   (¬ ∀𝑥 𝑥 = 𝑦 → Ⅎ𝑧𝜑)    &   ((𝜑 ∧ ¬ ∀𝑥 𝑥 = 𝑦) → Ⅎ𝑥𝜓)    &   ((𝜑 ∧ ¬ ∀𝑥 𝑥 = 𝑦) → Ⅎ𝑧𝜃)    &   ((𝜑 ∧ ¬ ∀𝑥 𝑥 = 𝑦) → (𝑧 = 𝑥 → (𝜓𝜃)))    &   ((𝜑 ∧ ∀𝑥 𝑥 = 𝑦) → (𝜒𝜃))    &   (𝜑 → ∃𝑧𝜓)    &   (𝜑 → ∃𝑥𝜒)       (𝜑 → ∃𝑥𝜃)
 
31-Jul-2025dvelimalcasei 35068 Eliminate a disjoint variable condition from a universally quantified statement using cases. Inference form of dvelimalcased 35067. (Contributed by BTernaryTau, 31-Jul-2025.)
(¬ ∀𝑥 𝑥 = 𝑦 → Ⅎ𝑥𝜑)    &   (¬ ∀𝑥 𝑥 = 𝑦 → Ⅎ𝑧𝜒)    &   (¬ ∀𝑥 𝑥 = 𝑦 → (𝑧 = 𝑥 → (𝜑𝜒)))    &   (∀𝑥 𝑥 = 𝑦 → (𝜓𝜒))    &   𝑧𝜑    &   𝑥𝜓       𝑥𝜒
 
31-Jul-2025dvelimalcased 35067 Eliminate a disjoint variable condition from a universally quantified statement using cases. (Contributed by BTernaryTau, 31-Jul-2025.)
𝑥𝜑    &   (¬ ∀𝑥 𝑥 = 𝑦 → Ⅎ𝑧𝜑)    &   ((𝜑 ∧ ¬ ∀𝑥 𝑥 = 𝑦) → Ⅎ𝑥𝜓)    &   ((𝜑 ∧ ¬ ∀𝑥 𝑥 = 𝑦) → Ⅎ𝑧𝜃)    &   ((𝜑 ∧ ¬ ∀𝑥 𝑥 = 𝑦) → (𝑧 = 𝑥 → (𝜓𝜃)))    &   ((𝜑 ∧ ∀𝑥 𝑥 = 𝑦) → (𝜒𝜃))    &   (𝜑 → ∀𝑧𝜓)    &   (𝜑 → ∀𝑥𝜒)       (𝜑 → ∀𝑥𝜃)
 
31-Jul-2025cbvex1v 35066 Rule used to change bound variables, using implicit substitution. (Contributed by BTernaryTau, 31-Jul-2025.)
𝑥𝜑    &   𝑦𝜑    &   (𝜑 → Ⅎ𝑦𝜓)    &   (𝜑 → Ⅎ𝑥𝜒)    &   (𝜑 → (𝑥 = 𝑦 → (𝜓𝜒)))       (𝜑 → (∃𝑥𝜓 → ∃𝑦𝜒))
 
31-Jul-2025nfan1c 35065 Variant of nfan 1899 and commuted form of nfan1 2200. (Contributed by BTernaryTau, 31-Jul-2025.)
𝑥𝜑    &   (𝜑 → Ⅎ𝑥𝜓)       𝑥(𝜓𝜑)
 
30-Jul-2025bj-sylggt 36596 Stronger form of sylgt 1822, closer to ax-2 7. (Contributed by BJ, 30-Jul-2025.)
((𝜑 → ∀𝑥(𝜓𝜒)) → ((𝜑 → ∀𝑥𝜓) → (𝜑 → ∀𝑥𝜒)))
 
30-Jul-2025s7rn 15000 Range of a length 7 string. (Contributed by AV, 30-Jul-2025.)
(𝜑𝐴𝑉)    &   (𝜑𝐵𝑉)    &   (𝜑𝐶𝑉)    &   (𝜑𝐷𝑉)    &   (𝜑𝐸𝑉)    &   (𝜑𝐹𝑉)    &   (𝜑𝐺𝑉)       (𝜑 → ran ⟨“𝐴𝐵𝐶𝐷𝐸𝐹𝐺”⟩ = (({𝐴, 𝐵, 𝐶} ∪ {𝐷}) ∪ {𝐸, 𝐹, 𝐺}))
 
30-Jul-2025fz0to5un2tp 13667 An integer range from 0 to 5 is the union of two triples. (Contributed by AV, 30-Jul-2025.)
(0...5) = ({0, 1, 2} ∪ {3, 4, 5})
 
30-Jul-2025cbvexeqsetf 3494 The expression 𝑥𝑥 = 𝐴 means "𝐴 is a set" even if 𝐴 contains 𝑥 as a bound variable. This lemma helps minimizing axiom or df-clab 2714 usage in some cases. Extracted from the proof of issetft 3495. (Contributed by Wolf Lammen, 30-Jul-2025.)
(𝑥𝐴 → (∃𝑥 𝑥 = 𝐴 ↔ ∃𝑦 𝑦 = 𝐴))
 
28-Jul-2025spcimgft 3545 Closed theorem form of spcimgf 3549. (Contributed by Wolf Lammen, 28-Jul-2025.)
(((𝑥𝐴 ∧ Ⅎ𝑥𝜓) ∧ ∀𝑥(𝑥 = 𝐴 → (𝜑𝜓))) → (𝐴𝑉 → (∀𝑥𝜑𝜓)))
 
27-Jul-2025spcimgfi1 3546 A closed version of spcimgf 3549. (Contributed by Mario Carneiro, 4-Jan-2017.) (Proof shortened by Wolf Lammen, 27-Jul-2025.)
𝑥𝜓    &   𝑥𝐴       (∀𝑥(𝑥 = 𝐴 → (𝜑𝜓)) → (𝐴𝐵 → (∀𝑥𝜑𝜓)))
 
26-Jul-2025grtriclwlk3 47885 A triangle induces a closed walk of length 3 . (Contributed by AV, 26-Jul-2025.)
(𝜑𝑇 ∈ (GrTriangles‘𝐺))    &   (𝜑𝑃:(0..^3)–1-1-onto𝑇)       (𝜑𝑃 ∈ (3 ClWWalksN 𝐺))
 
26-Jul-2025grtrissvtx 47884 A triangle is a subset of the vertices (of a graph). (Contributed by AV, 26-Jul-2025.)
𝑉 = (Vtx‘𝐺)       (𝑇 ∈ (GrTriangles‘𝐺) → 𝑇𝑉)
 
26-Jul-2025nnsge1 28336 A positive surreal integer is greater than or equal to one. (Contributed by Scott Fenton, 26-Jul-2025.)
(𝑁 ∈ ℕs → 1s ≤s 𝑁)
 
26-Jul-2025n0s0suc 28335 A non-negative surreal integer is either zero or a successor. (Contributed by Scott Fenton, 26-Jul-2025.)
(𝐴 ∈ ℕ0s → (𝐴 = 0s ∨ ∃𝑥 ∈ ℕ0s 𝐴 = (𝑥 +s 1s )))
 
25-Jul-2025grtrif1o 47882 Any bijection onto a triangle preserves the edges of the triangle. (Contributed by AV, 25-Jul-2025.)
𝑉 = (Vtx‘𝐺)    &   𝐸 = (Edg‘𝐺)       ((𝑇 ∈ (GrTriangles‘𝐺) ∧ 𝐹:(0..^3)–1-1-onto𝑇) → ({(𝐹‘0), (𝐹‘1)} ∈ 𝐸 ∧ {(𝐹‘0), (𝐹‘2)} ∈ 𝐸 ∧ {(𝐹‘1), (𝐹‘2)} ∈ 𝐸))
 
25-Jul-2025grtriprop 47881 The properties of a triangle. (Contributed by AV, 25-Jul-2025.)
𝑉 = (Vtx‘𝐺)    &   𝐸 = (Edg‘𝐺)       (𝑇 ∈ (GrTriangles‘𝐺) → ∃𝑥𝑉𝑦𝑉𝑧𝑉 (𝑇 = {𝑥, 𝑦, 𝑧} ∧ (♯‘𝑇) = 3 ∧ ({𝑥, 𝑦} ∈ 𝐸 ∧ {𝑥, 𝑧} ∈ 𝐸 ∧ {𝑦, 𝑧} ∈ 𝐸)))
 
25-Jul-2025expsnnval 28399 Value of surreal exponentiation at a natural number. (Contributed by Scott Fenton, 25-Jul-2025.)
((𝐴 No 𝑁 ∈ ℕs) → (𝐴s𝑁) = (seqs 1s ( ·s , (ℕs × {𝐴}))‘𝑁))
 
25-Jul-2025uzsind 28381 Induction on the upper surreal integers that start at 𝑀. (Contributed by Scott Fenton, 25-Jul-2025.)
(𝑗 = 𝑀 → (𝜑𝜓))    &   (𝑗 = 𝑘 → (𝜑𝜒))    &   (𝑗 = (𝑘 +s 1s ) → (𝜑𝜃))    &   (𝑗 = 𝑁 → (𝜑𝜏))    &   (𝑀 ∈ ℤs𝜓)    &   ((𝑀 ∈ ℤs𝑘 ∈ ℤs𝑀 ≤s 𝑘) → (𝜒𝜃))       ((𝑀 ∈ ℤs𝑁 ∈ ℤs𝑀 ≤s 𝑁) → 𝜏)
 
25-Jul-2025peano5uzs 28380 Peano's inductive postulate for upper surreal integers. (Contributed by Scott Fenton, 25-Jul-2025.)
(𝜑𝑁 ∈ ℤs)    &   (𝜑𝑁𝐴)    &   ((𝜑𝑥𝐴) → (𝑥 +s 1s ) ∈ 𝐴)       (𝜑 → {𝑘 ∈ ℤs𝑁 ≤s 𝑘} ⊆ 𝐴)
 
25-Jul-2025zn0subs 28379 The non-negative difference of surreal integers is a non-negative integer. (Contributed by Scott Fenton, 25-Jul-2025.)
((𝑀 ∈ ℤs𝑁 ∈ ℤs) → (𝑀 ≤s 𝑁 ↔ (𝑁 -s 𝑀) ∈ ℕ0s))
 
25-Jul-2025elznns 28378 Surreal integer property expressed in terms of positive integers and non-negative integers. (Contributed by Scott Fenton, 25-Jul-2025.)
(𝑁 ∈ ℤs ↔ (𝑁 No ∧ (𝑁 ∈ ℕs ∨ ( -us𝑁) ∈ ℕ0s)))
 
25-Jul-2025elnnzs 28377 Positive surreal integer property expressed in terms of integers. (Contributed by Scott Fenton, 25-Jul-2025.)
(𝑁 ∈ ℕs ↔ (𝑁 ∈ ℤs ∧ 0s <s 𝑁))
 
25-Jul-2025eln0zs 28376 Non-negative surreal integer property expressed in terms of integers. (Contributed by Scott Fenton, 25-Jul-2025.)
(𝑁 ∈ ℕ0s ↔ (𝑁 ∈ ℤs ∧ 0s ≤s 𝑁))
 
25-Jul-2025elzs2 28375 A surreal integer is either a positive integer, zero, or the negative of a positive integer. (Contributed by Scott Fenton, 25-Jul-2025.)
(𝑁 ∈ ℤs ↔ (𝑁 No ∧ (𝑁 ∈ ℕs𝑁 = 0s ∨ ( -us𝑁) ∈ ℕs)))
 
25-Jul-2025zsubscld 28372 The surreal integers are closed under subtraction. (Contributed by Scott Fenton, 25-Jul-2025.)
(𝜑𝐴 ∈ ℤs)    &   (𝜑𝐵 ∈ ℤs)       (𝜑 → (𝐴 -s 𝐵) ∈ ℤs)
 
25-Jul-2025zaddscld 28371 The surreal integers are closed under addition. (Contributed by Scott Fenton, 25-Jul-2025.)
(𝜑𝐴 ∈ ℤs)    &   (𝜑𝐵 ∈ ℤs)       (𝜑 → (𝐴 +s 𝐵) ∈ ℤs)
 
25-Jul-2025zaddscl 28370 The surreal integers are closed under addition. (Contributed by Scott Fenton, 25-Jul-2025.)
((𝐴 ∈ ℤs𝐵 ∈ ℤs) → (𝐴 +s 𝐵) ∈ ℤs)
 
25-Jul-2025nnzsubs 28361 The difference of two surreal positive integers is an integer. (Contributed by Scott Fenton, 25-Jul-2025.)
((𝐴 ∈ ℕs𝐵 ∈ ℕs) → (𝐴 -s 𝐵) ∈ ℤs)
 
25-Jul-2025addsubs4d 28120 Rearrangement of four terms in mixed addition and subtraction. Surreal version. (Contributed by Scott Fenton, 25-Jul-2025.)
(𝜑𝐴 No )    &   (𝜑𝐵 No )    &   (𝜑𝐶 No )    &   (𝜑𝐷 No )       (𝜑 → ((𝐴 +s 𝐵) -s (𝐶 +s 𝐷)) = ((𝐴 -s 𝐶) +s (𝐵 -s 𝐷)))
 
25-Jul-2025cflem 10281 A lemma used to simplify cofinality computations, showing the existence of the cardinal of an unbounded subset of a set 𝐴. (Contributed by NM, 24-Apr-2004.) Avoid ax-11 2157. (Revised by BTernaryTau, 25-Jul-2025.)
(𝐴𝑉 → ∃𝑥𝑦(𝑥 = (card‘𝑦) ∧ (𝑦𝐴 ∧ ∀𝑧𝐴𝑤𝑦 𝑧𝑤)))
 
24-Jul-2025exps1 28401 Surreal exponentiation to one. (Contributed by Scott Fenton, 24-Jul-2025.)
(𝐴 No → (𝐴s 1s ) = 𝐴)
 
24-Jul-2025exps0 28400 Surreal exponentiation to zero. (Contributed by Scott Fenton, 24-Jul-2025.)
(𝐴 No → (𝐴s 0s ) = 1s )
 
24-Jul-2025expsval 28398 The value of surreal exponentiation. (Contributed by Scott Fenton, 24-Jul-2025.)
((𝐴 No 𝐵 ∈ ℤs) → (𝐴s𝐵) = if(𝐵 = 0s , 1s , if( 0s <s 𝐵, (seqs 1s ( ·s , (ℕs × {𝐴}))‘𝐵), ( 1s /su (seqs 1s ( ·s , (ℕs × {𝐴}))‘( -us𝐵))))))
 
24-Jul-20251zs 28367 One is a surreal integer. (Contributed by Scott Fenton, 24-Jul-2025.)
1s ∈ ℤs
 
24-Jul-2025negs1s 28049 An expression for negative surreal one. (Contributed by Scott Fenton, 24-Jul-2025.)
( -us ‘ 1s ) = (∅ |s { 0s })
 
24-Jul-2025pwnss 5350 The power set of a set is never a subset. (Contributed by Stefan O'Rear, 22-Feb-2015.) (Proof shortened by BJ, 24-Jul-2025.)
(𝐴𝑉 → ¬ 𝒫 𝐴𝐴)
 
24-Jul-2025rabexg 5335 Separation Scheme in terms of a restricted class abstraction. (Contributed by NM, 23-Oct-1999.) (Proof shortened by BJ, 24-Jul-2025.)
(𝐴𝑉 → {𝑥𝐴𝜑} ∈ V)
 
24-Jul-2025sbiev 2314 Conversion of implicit substitution to explicit substitution. Version of sbie 2506 with a disjoint variable condition, not requiring ax-13 2376. See sbievw 2093 for a version with a disjoint variable condition requiring fewer axioms. (Contributed by NM, 30-Jun-1994.) (Revised by Wolf Lammen, 18-Jan-2023.) Remove dependence on ax-10 2141 and shorten proof. (Revised by BJ, 18-Jul-2023.) (Proof shortened by SN, 24-Jul-2025.)
𝑥𝜓    &   (𝑥 = 𝑦 → (𝜑𝜓))       ([𝑦 / 𝑥]𝜑𝜓)
 
23-Jul-2025grtriproplem 47879 Lemma for grtriprop 47881. (Contributed by AV, 23-Jul-2025.)
((𝑓:(0..^3)–1-1-onto→{𝑥, 𝑦, 𝑧} ∧ ({(𝑓‘0), (𝑓‘1)} ∈ 𝐸 ∧ {(𝑓‘0), (𝑓‘2)} ∈ 𝐸 ∧ {(𝑓‘1), (𝑓‘2)} ∈ 𝐸)) → ({𝑥, 𝑦} ∈ 𝐸 ∧ {𝑥, 𝑧} ∈ 𝐸 ∧ {𝑦, 𝑧} ∈ 𝐸))
 
23-Jul-2025nohalf 28397 An explicit expression for one half. This theorem avoids the axiom of infinity. (Contributed by Scott Fenton, 23-Jul-2025.)
( 1s /su 2s) = ({ 0s } |s { 1s })
 
23-Jul-20252ne0s 28394 Surreal two is non-zero. (Contributed by Scott Fenton, 23-Jul-2025.)
2s ≠ 0s
 
23-Jul-20252sno 28393 Surreal two is a surreal number. (Contributed by Scott Fenton, 23-Jul-2025.)
2s No
 
23-Jul-20252nns 28392 Surreal two is a surreal natural. (Contributed by Scott Fenton, 23-Jul-2025.)
2s ∈ ℕs
 
23-Jul-2025no2times 28391 Version of 2times 12398 for surreal numbers. (Contributed by Scott Fenton, 23-Jul-2025.)
(𝐴 No → (2s ·s 𝐴) = (𝐴 +s 𝐴))
 
23-Jul-2025fvf1tp 13825 Values of a one-to-one function between two sets with three elements. Actually, such a function is a bijection. (Contributed by AV, 23-Jul-2025.)
(𝐹:(0..^3)–1-1→{𝑋, 𝑌, 𝑍} → ((((𝐹‘0) = 𝑋 ∧ (𝐹‘1) = 𝑌 ∧ (𝐹‘2) = 𝑍) ∨ ((𝐹‘0) = 𝑋 ∧ (𝐹‘1) = 𝑍 ∧ (𝐹‘2) = 𝑌)) ∨ (((𝐹‘0) = 𝑌 ∧ (𝐹‘1) = 𝑋 ∧ (𝐹‘2) = 𝑍) ∨ ((𝐹‘0) = 𝑌 ∧ (𝐹‘1) = 𝑍 ∧ (𝐹‘2) = 𝑋)) ∨ (((𝐹‘0) = 𝑍 ∧ (𝐹‘1) = 𝑋 ∧ (𝐹‘2) = 𝑌) ∨ ((𝐹‘0) = 𝑍 ∧ (𝐹‘1) = 𝑌 ∧ (𝐹‘2) = 𝑋))))
 
22-Jul-2025fvf1pr 7325 Values of a one-to-one function between two sets with two elements. Actually, such a function is a bijection. (Contributed by AV, 22-Jul-2025.)
(((𝐴𝑉𝐵𝑊𝐴𝐵) ∧ 𝐹:{𝐴, 𝐵}–1-1→{𝑋, 𝑌}) → (((𝐹𝐴) = 𝑋 ∧ (𝐹𝐵) = 𝑌) ∨ ((𝐹𝐴) = 𝑌 ∧ (𝐹𝐵) = 𝑋)))
 
21-Jul-2025tpf1o 14536 A bijection onto a (proper) triple. (Contributed by AV, 21-Jul-2025.)
𝐹 = (𝑥 ∈ (0..^3) ↦ if(𝑥 = 0, 𝐴, if(𝑥 = 1, 𝐵, 𝐶)))    &   𝑇 = {𝐴, 𝐵, 𝐶}       (((𝐴𝑉𝐵𝑉𝐶𝑉) ∧ (♯‘𝑇) = 3) → 𝐹:(0..^3)–1-1-onto𝑇)
 
21-Jul-2025hash3tpb 14530 A set of size three is a proper unordered triple. (Contributed by AV, 21-Jul-2025.)
(𝑉𝑊 → ((♯‘𝑉) = 3 ↔ ∃𝑎𝑉𝑏𝑉𝑐𝑉 ((𝑎𝑏𝑎𝑐𝑏𝑐) ∧ 𝑉 = {𝑎, 𝑏, 𝑐})))
 
21-Jul-2025hash3tpexb 14529 A set of size three is an unordered triple if and only if it contains three different elements. (Contributed by AV, 21-Jul-2025.)
(𝑉𝑊 → ((♯‘𝑉) = 3 ↔ ∃𝑎𝑏𝑐((𝑎𝑏𝑎𝑐𝑏𝑐) ∧ 𝑉 = {𝑎, 𝑏, 𝑐})))
 
21-Jul-2025hash3tpde 14528 A set of size three is an unordered triple of three different elements. (Contributed by AV, 21-Jul-2025.)
((𝑉𝑊 ∧ (♯‘𝑉) = 3) → ∃𝑎𝑏𝑐((𝑎𝑏𝑎𝑐𝑏𝑐) ∧ 𝑉 = {𝑎, 𝑏, 𝑐}))
 
21-Jul-2025unexg 7759 The union of two sets is a set. Corollary 5.8 of [TakeutiZaring] p. 16. (Contributed by NM, 18-Sep-2006.) Prove unexg 7759 first and then unex 7760 and unexb 7763 from it. (Revised by BJ, 21-Jul-2025.)
((𝐴𝑉𝐵𝑊) → (𝐴𝐵) ∈ V)
 
21-Jul-2025rexeqtrrdv 3330 Substitution of equal classes into a restricted existential quantifier. (Contributed by Matthew House, 21-Jul-2025.)
(𝜑 → ∃𝑥𝐴 𝜓)    &   (𝜑𝐵 = 𝐴)       (𝜑 → ∃𝑥𝐵 𝜓)
 
21-Jul-2025raleqtrrdv 3329 Substitution of equal classes into a restricted universal quantifier. (Contributed by Matthew House, 21-Jul-2025.)
(𝜑 → ∀𝑥𝐴 𝜓)    &   (𝜑𝐵 = 𝐴)       (𝜑 → ∀𝑥𝐵 𝜓)
 
21-Jul-2025rexeqtrdv 3328 Substitution of equal classes into a restricted existential quantifier. (Contributed by Matthew House, 21-Jul-2025.)
(𝜑 → ∃𝑥𝐴 𝜓)    &   (𝜑𝐴 = 𝐵)       (𝜑 → ∃𝑥𝐵 𝜓)
 
21-Jul-2025raleqtrdv 3327 Substitution of equal classes into a restricted universal quantifier. (Contributed by Matthew House, 21-Jul-2025.)
(𝜑 → ∀𝑥𝐴 𝜓)    &   (𝜑𝐴 = 𝐵)       (𝜑 → ∀𝑥𝐵 𝜓)
 
21-Jul-2025r3ex 3197 Triple existential quantification. (Contributed by AV, 21-Jul-2025.)
(∃𝑥𝐴𝑦𝐵𝑧𝐶 𝜑 ↔ ∃𝑥𝑦𝑧((𝑥𝐴𝑦𝐵𝑧𝐶) ∧ 𝜑))
 
20-Jul-2025isgrtri 47883 A triangle in a graph. (Contributed by AV, 20-Jul-2025.)
𝑉 = (Vtx‘𝐺)    &   𝐸 = (Edg‘𝐺)       (𝑇 ∈ (GrTriangles‘𝐺) ↔ ∃𝑥𝑉𝑦𝑉𝑧𝑉 (𝑇 = {𝑥, 𝑦, 𝑧} ∧ (♯‘𝑇) = 3 ∧ ({𝑥, 𝑦} ∈ 𝐸 ∧ {𝑥, 𝑧} ∈ 𝐸 ∧ {𝑦, 𝑧} ∈ 𝐸)))
 
20-Jul-2025grtri 47880 The triangles in a graph. (Contributed by AV, 20-Jul-2025.)
𝑉 = (Vtx‘𝐺)    &   𝐸 = (Edg‘𝐺)       (𝐺𝑊 → (GrTriangles‘𝐺) = {𝑡 ∈ 𝒫 𝑉 ∣ ∃𝑓(𝑓:(0..^3)–1-1-onto𝑡 ∧ ({(𝑓‘0), (𝑓‘1)} ∈ 𝐸 ∧ {(𝑓‘0), (𝑓‘2)} ∈ 𝐸 ∧ {(𝑓‘1), (𝑓‘2)} ∈ 𝐸))})
 
20-Jul-2025df-grtri 47878 Definition of a triangles in a graph. A triangle in a graph is a set of three (different) vertices completely connected with each other. Such vertices induce a closed walk of length 3, see grtriclwlk3 47885, and the vertices of a cycle of size 3 are a triangle in a graph, see cycl3grtri 47887. (Contributed by AV, 20-Jul-2025.)
GrTriangles = (𝑔 ∈ V ↦ (Vtx‘𝑔) / 𝑣(Edg‘𝑔) / 𝑒{𝑡 ∈ 𝒫 𝑣 ∣ ∃𝑓(𝑓:(0..^3)–1-1-onto𝑡 ∧ ({(𝑓‘0), (𝑓‘1)} ∈ 𝑒 ∧ {(𝑓‘0), (𝑓‘2)} ∈ 𝑒 ∧ {(𝑓‘1), (𝑓‘2)} ∈ 𝑒))})
 
20-Jul-2025tpfo 14535 A function onto a (proper) triple. (Contributed by AV, 20-Jul-2025.)
𝐹 = (𝑥 ∈ (0..^3) ↦ if(𝑥 = 0, 𝐴, if(𝑥 = 1, 𝐵, 𝐶)))    &   𝑇 = {𝐴, 𝐵, 𝐶}       ((𝐴𝑉𝐵𝑉𝐶𝑉) → 𝐹:(0..^3)–onto𝑇)
 
20-Jul-2025tpf 14534 A function into a (proper) triple. (Contributed by AV, 20-Jul-2025.)
𝐹 = (𝑥 ∈ (0..^3) ↦ if(𝑥 = 0, 𝐴, if(𝑥 = 1, 𝐵, 𝐶)))    &   𝑇 = {𝐴, 𝐵, 𝐶}       ((𝐴𝑉𝐵𝑉𝐶𝑉) → 𝐹:(0..^3)⟶𝑇)
 
20-Jul-2025tpf1ofv2 14533 The value of a one-to-one function onto a triple at 2. (Contributed by AV, 20-Jul-2025.)
𝐹 = (𝑥 ∈ (0..^3) ↦ if(𝑥 = 0, 𝐴, if(𝑥 = 1, 𝐵, 𝐶)))       (𝐶𝑉 → (𝐹‘2) = 𝐶)
 
20-Jul-2025tpf1ofv1 14532 The value of a one-to-one function onto a triple at 1. (Contributed by AV, 20-Jul-2025.)
𝐹 = (𝑥 ∈ (0..^3) ↦ if(𝑥 = 0, 𝐴, if(𝑥 = 1, 𝐵, 𝐶)))       (𝐵𝑉 → (𝐹‘1) = 𝐵)
 
20-Jul-2025tpf1ofv0 14531 The value of a one-to-one function onto a triple at 0. (Contributed by AV, 20-Jul-2025.)
𝐹 = (𝑥 ∈ (0..^3) ↦ if(𝑥 = 0, 𝐴, if(𝑥 = 1, 𝐵, 𝐶)))       (𝐴𝑉 → (𝐹‘0) = 𝐴)
 
19-Jul-2025cbvrabw 3472 Rule to change the bound variable in a restricted class abstraction, using implicit substitution. Version of cbvrab 3478 with a disjoint variable condition, which does not require ax-13 2376. (Contributed by Andrew Salmon, 11-Jul-2011.) Avoid ax-13 2376. (Revised by GG, 10-Jan-2024.) Avoid ax-10 2141. (Revised by Wolf Lammen, 19-Jul-2025.)
𝑥𝐴    &   𝑦𝐴    &   𝑦𝜑    &   𝑥𝜓    &   (𝑥 = 𝑦 → (𝜑𝜓))       {𝑥𝐴𝜑} = {𝑦𝐴𝜓}
 
18-Jul-2025raleleq 3341 All elements of a class are elements of a class equal to this class. (Contributed by AV, 30-Oct-2020.) (Proof shortened by Wolf Lammen, 18-Jul-2025.)
(𝐴 = 𝐵 → ∀𝑥𝐴 𝑥𝐵)
 
14-Jul-2025unitscyglem4 42177 Lemma for unitscyg (Contributed by metakunt, 14-Jul-2025.)
𝐵 = (Base‘𝐺)    &    = (.g𝐺)    &   (𝜑𝐺 ∈ Grp)    &   (𝜑𝐵 ∈ Fin)    &   (𝜑 → ∀𝑛 ∈ ℕ (♯‘{𝑥𝐵 ∣ (𝑛 𝑥) = (0g𝐺)}) ≤ 𝑛)    &   (𝜑𝐷 ∈ ℕ)    &   (𝜑𝐷 ∥ (♯‘𝐵))       (𝜑 → (♯‘{𝑦𝐵 ∣ ((od‘𝐺)‘𝑦) = 𝐷}) = (ϕ‘𝐷))
 
14-Jul-2025unitscyglem3 42176 Lemma for unitscyg. (Contributed by metakunt, 14-Jul-2025.)
𝐵 = (Base‘𝐺)    &    = (.g𝐺)    &   (𝜑𝐺 ∈ Grp)    &   (𝜑𝐵 ∈ Fin)    &   (𝜑 → ∀𝑛 ∈ ℕ (♯‘{𝑥𝐵 ∣ (𝑛 𝑥) = (0g𝐺)}) ≤ 𝑛)       (𝜑 → ∀𝑑 ∈ ℕ ((𝑑 ∥ (♯‘𝐵) ∧ {𝑥𝐵 ∣ ((od‘𝐺)‘𝑥) = 𝑑} ≠ ∅) → (♯‘{𝑥𝐵 ∣ ((od‘𝐺)‘𝑥) = 𝑑}) = (ϕ‘𝑑)))
 
14-Jul-2025grpods 42173 Relate sums of elements of orders and roots of unity. (Contributed by metakunt, 14-Jul-2025.)
𝐵 = (Base‘𝐺)    &    = (.g𝐺)    &   (𝜑𝐺 ∈ Grp)    &   (𝜑𝐵 ∈ Fin)    &   (𝜑𝑁 ∈ ℕ)       (𝜑 → Σ𝑘 ∈ {𝑚 ∈ (1...𝑁) ∣ 𝑚𝑁} (♯‘{𝑥𝐵 ∣ ((od‘𝐺)‘𝑥) = 𝑘}) = (♯‘{𝑥𝐵 ∣ (𝑁 𝑥) = (0g𝐺)}))
 
14-Jul-2025isprimroot2 42073 Alternative way of creating primitive roots. (Contributed by metakunt, 14-Jul-2025.)
(𝜑𝑅 ∈ CMnd)    &   (𝜑𝐾 ∈ ℕ)    &   (𝜑𝑀 ∈ (Base‘𝑅))    &   (𝜑 → ((od‘𝑅)‘𝑀) = 𝐾)       (𝜑𝑀 ∈ (𝑅 PrimRoots 𝐾))
 
13-Jul-2025exfinfldd 42182 For any prime 𝑃 and any positive integer 𝑁 there exists a field 𝑘 such that 𝑘 contains 𝑃𝑁 elements. (Contributed by metakunt, 13-Jul-2025.)
(𝜑𝑃 ∈ ℙ)    &   (𝜑𝑁 ∈ ℕ)       (𝜑 → ∃𝑘 ∈ Field ((♯‘(Base‘𝑘)) = (𝑃𝑁) ∧ (chr‘𝑘) = 𝑃))
 
13-Jul-2025ax-exfinfld 42181 Existence axiom for finite fields, eventually we want to construct them. (Contributed by metakunt, 13-Jul-2025.)
𝑝 ∈ ℙ ∀𝑛 ∈ ℕ ∃𝑘 ∈ Field ((♯‘(Base‘𝑘)) = (𝑝𝑛) ∧ (chr‘𝑘) = 𝑝)
 
13-Jul-2025unitscyglem2 42175 Lemma for unitscyg. (Contributed by metakunt, 13-Jul-2025.)
𝐵 = (Base‘𝐺)    &    = (.g𝐺)    &   (𝜑𝐺 ∈ Grp)    &   (𝜑𝐵 ∈ Fin)    &   (𝜑 → ∀𝑛 ∈ ℕ (♯‘{𝑥𝐵 ∣ (𝑛 𝑥) = (0g𝐺)}) ≤ 𝑛)    &   (𝜑𝐷 ∈ ℕ)    &   (𝜑𝐷 ∥ (♯‘𝐵))    &   (𝜑𝐴𝐵)    &   (𝜑 → ((od‘𝐺)‘𝐴) = 𝐷)    &   (𝜑 → ∀𝑐 ∈ ℕ (𝑐 < 𝐷 → ((𝑐 ∥ (♯‘𝐵) ∧ {𝑥𝐵 ∣ ((od‘𝐺)‘𝑥) = 𝑐} ≠ ∅) → (♯‘{𝑥𝐵 ∣ ((od‘𝐺)‘𝑥) = 𝑐}) = (ϕ‘𝑐))))       (𝜑 → (♯‘{𝑥𝐵 ∣ ((od‘𝐺)‘𝑥) = 𝐷}) = (ϕ‘𝐷))
 
13-Jul-2025unitscyglem1 42174 Lemma for unitscyg. (Contributed by metakunt, 13-Jul-2025.)
𝐵 = (Base‘𝐺)    &    = (.g𝐺)    &   (𝜑𝐺 ∈ Grp)    &   (𝜑𝐵 ∈ Fin)    &   (𝜑 → ∀𝑛 ∈ ℕ (♯‘{𝑥𝐵 ∣ (𝑛 𝑥) = (0g𝐺)}) ≤ 𝑛)    &   (𝜑𝐴𝐵)       (𝜑 → (♯‘{𝑥𝐵 ∣ (((od‘𝐺)‘𝐴) 𝑥) = (0g𝐺)}) = ((od‘𝐺)‘𝐴))
 
13-Jul-2025indstrd 42172 Strong induction, deduction version. (Contributed by Steven Nguyen, 13-Jul-2025.)
(𝑥 = 𝑦 → (𝜓𝜒))    &   (𝑥 = 𝐴 → (𝜓𝜃))    &   ((𝜑𝑥 ∈ ℕ ∧ ∀𝑦 ∈ ℕ (𝑦 < 𝑥𝜒)) → 𝜓)    &   (𝜑𝐴 ∈ ℕ)       (𝜑𝜃)
 
11-Jul-2025gricgrlic 47951 Isomorphic hypergraphs are locally isomorphic. (Contributed by AV, 12-Jun-2025.) (Proof shortened by AV, 11-Jul-2025.)
((𝐺 ∈ UHGraph ∧ 𝐻 ∈ UHGraph) → (𝐺𝑔𝑟 𝐻𝐺𝑙𝑔𝑟 𝐻))
 
11-Jul-2025gricer 47866 Isomorphism is an equivalence relation on hypergraphs. (Contributed by AV, 3-May-2025.) (Proof shortened by AV, 11-Jul-2025.)
( ≃𝑔𝑟 ∩ (UHGraph × UHGraph)) Er UHGraph
 
9-Jul-2025div0 11951 Division into zero is zero. (Contributed by NM, 14-Mar-2005.) (Proof shortened by SN, 9-Jul-2025.)
((𝐴 ∈ ℂ ∧ 𝐴 ≠ 0) → (0 / 𝐴) = 0)
 
9-Jul-2025divid 11949 A number divided by itself is one. (Contributed by NM, 1-Aug-2004.) (Proof shortened by SN, 9-Jul-2025.)
((𝐴 ∈ ℂ ∧ 𝐴 ≠ 0) → (𝐴 / 𝐴) = 1)
 
9-Jul-2025div11 11946 One-to-one relationship for division. (Contributed by NM, 20-Apr-2006.) (Proof shortened by Mario Carneiro, 27-May-2016.) (Proof shortened by SN, 9-Jul-2025.)
((𝐴 ∈ ℂ ∧ 𝐵 ∈ ℂ ∧ (𝐶 ∈ ℂ ∧ 𝐶 ≠ 0)) → ((𝐴 / 𝐶) = (𝐵 / 𝐶) ↔ 𝐴 = 𝐵))
 
8-Jul-2025grpinv11 19021 The group inverse is one-to-one. (Contributed by NM, 22-Mar-2015.) (Proof shortened by SN, 8-Jul-2025.)
𝐵 = (Base‘𝐺)    &   𝑁 = (invg𝐺)    &   (𝜑𝐺 ∈ Grp)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)       (𝜑 → ((𝑁𝑋) = (𝑁𝑌) ↔ 𝑋 = 𝑌))
 
7-Jul-2025fimgmcyclem 42521 Lemma for fimgmcyc 42522. (Contributed by SN, 7-Jul-2025.)
(𝜑 → ∃𝑜 ∈ ℕ ∃𝑞 ∈ ℕ (𝑜𝑞 ∧ (𝑜 · 𝐴) = (𝑞 · 𝐴)))       (𝜑 → ∃𝑜 ∈ ℕ ∃𝑞 ∈ ℕ (𝑜 < 𝑞 ∧ (𝑜 · 𝐴) = (𝑞 · 𝐴)))
 
6-Jul-2025fisdomnn 42263 A finite set is dominated by the set of natural numbers. (Contributed by SN, 6-Jul-2025.)
(𝐴 ∈ Fin → 𝐴 ≺ ℕ)
 
6-Jul-2025constrelextdg2 33768 If the 𝑁-th step (𝐶𝑁) of the construction of constuctible numbers is included in a subfield 𝐹 of the complex numbers, then any element 𝑋 of the next step (𝐶‘suc 𝑁) is either in 𝐹 or in a quadratic extension of 𝐹. (Contributed by Thierry Arnoux, 6-Jul-2025.)
𝐶 = rec((𝑠 ∈ V ↦ {𝑥 ∈ ℂ ∣ (∃𝑎𝑠𝑏𝑠𝑐𝑠𝑑𝑠𝑡 ∈ ℝ ∃𝑟 ∈ ℝ (𝑥 = (𝑎 + (𝑡 · (𝑏𝑎))) ∧ 𝑥 = (𝑐 + (𝑟 · (𝑑𝑐))) ∧ (ℑ‘((∗‘(𝑏𝑎)) · (𝑑𝑐))) ≠ 0) ∨ ∃𝑎𝑠𝑏𝑠𝑐𝑠𝑒𝑠𝑓𝑠𝑡 ∈ ℝ (𝑥 = (𝑎 + (𝑡 · (𝑏𝑎))) ∧ (abs‘(𝑥𝑐)) = (abs‘(𝑒𝑓))) ∨ ∃𝑎𝑠𝑏𝑠𝑐𝑠𝑑𝑠𝑒𝑠𝑓𝑠 (𝑎𝑑 ∧ (abs‘(𝑥𝑎)) = (abs‘(𝑏𝑐)) ∧ (abs‘(𝑥𝑑)) = (abs‘(𝑒𝑓))))}), {0, 1})    &   𝐾 = (ℂflds 𝐹)    &   𝐿 = (ℂflds (ℂfld fldGen (𝐹 ∪ {𝑋})))    &   (𝜑𝐹 ∈ (SubDRing‘ℂfld))    &   (𝜑𝑁 ∈ On)    &   (𝜑 → (𝐶𝑁) ⊆ 𝐹)    &   (𝜑𝑋 ∈ (𝐶‘suc 𝑁))       (𝜑 → (𝑋𝐹 ∨ (𝐿[:]𝐾) = 2))
 
6-Jul-2025constrfin 33767 Each step of the construction of constructible numbers is finite. (Contributed by Thierry Arnoux, 6-Jul-2025.)
𝐶 = rec((𝑠 ∈ V ↦ {𝑥 ∈ ℂ ∣ (∃𝑎𝑠𝑏𝑠𝑐𝑠𝑑𝑠𝑡 ∈ ℝ ∃𝑟 ∈ ℝ (𝑥 = (𝑎 + (𝑡 · (𝑏𝑎))) ∧ 𝑥 = (𝑐 + (𝑟 · (𝑑𝑐))) ∧ (ℑ‘((∗‘(𝑏𝑎)) · (𝑑𝑐))) ≠ 0) ∨ ∃𝑎𝑠𝑏𝑠𝑐𝑠𝑒𝑠𝑓𝑠𝑡 ∈ ℝ (𝑥 = (𝑎 + (𝑡 · (𝑏𝑎))) ∧ (abs‘(𝑥𝑐)) = (abs‘(𝑒𝑓))) ∨ ∃𝑎𝑠𝑏𝑠𝑐𝑠𝑑𝑠𝑒𝑠𝑓𝑠 (𝑎𝑑 ∧ (abs‘(𝑥𝑎)) = (abs‘(𝑏𝑐)) ∧ (abs‘(𝑥𝑑)) = (abs‘(𝑒𝑓))))}), {0, 1})    &   (𝜑𝑁 ∈ ω)       (𝜑 → (𝐶𝑁) ∈ Fin)
 
6-Jul-2025constrrtcc 33757 In the construction of constructible numbers, circle-circle intersections are roots of a quadratic equation. (Contributed by Thierry Arnoux, 6-Jul-2025.)
(𝜑𝑆 ⊆ ℂ)    &   (𝜑𝐴𝑆)    &   (𝜑𝐵𝑆)    &   (𝜑𝐶𝑆)    &   (𝜑𝐷𝑆)    &   (𝜑𝐸𝑆)    &   (𝜑𝐹𝑆)    &   (𝜑𝑋 ∈ ℂ)    &   (𝜑𝐴𝐷)    &   (𝜑 → (abs‘(𝑋𝐴)) = (abs‘(𝐵𝐶)))    &   (𝜑 → (abs‘(𝑋𝐷)) = (abs‘(𝐸𝐹)))    &   𝑃 = ((𝐵𝐶) · (∗‘(𝐵𝐶)))    &   𝑄 = ((𝐸𝐹) · (∗‘(𝐸𝐹)))    &   𝑀 = (((𝑄 − ((∗‘𝐷) · (𝐷 + 𝐴))) − (𝑃 − ((∗‘𝐴) · (𝐷 + 𝐴)))) / ((∗‘𝐷) − (∗‘𝐴)))    &   𝑁 = -(((((∗‘𝐴) · (𝐷 · 𝐴)) − (𝑃 · 𝐷)) − (((∗‘𝐷) · (𝐷 · 𝐴)) − (𝑄 · 𝐴))) / ((∗‘𝐷) − (∗‘𝐴)))       (𝜑 → ((𝑋↑2) + ((𝑀 · 𝑋) + 𝑁)) = 0)
 
6-Jul-2025constrrtcclem 33756 In the construction of constructible numbers, circle-circle intersections are roots of a quadratic equation. Case of non-degenerate circles. (Contributed by Thierry Arnoux, 6-Jul-2025.)
(𝜑𝑆 ⊆ ℂ)    &   (𝜑𝐴𝑆)    &   (𝜑𝐵𝑆)    &   (𝜑𝐶𝑆)    &   (𝜑𝐷𝑆)    &   (𝜑𝐸𝑆)    &   (𝜑𝐹𝑆)    &   (𝜑𝑋 ∈ ℂ)    &   (𝜑𝐴𝐷)    &   (𝜑 → (abs‘(𝑋𝐴)) = (abs‘(𝐵𝐶)))    &   (𝜑 → (abs‘(𝑋𝐷)) = (abs‘(𝐸𝐹)))    &   𝑃 = ((𝐵𝐶) · (∗‘(𝐵𝐶)))    &   𝑄 = ((𝐸𝐹) · (∗‘(𝐸𝐹)))    &   𝑀 = (((𝑄 − ((∗‘𝐷) · (𝐷 + 𝐴))) − (𝑃 − ((∗‘𝐴) · (𝐷 + 𝐴)))) / ((∗‘𝐷) − (∗‘𝐴)))    &   𝑁 = -(((((∗‘𝐴) · (𝐷 · 𝐴)) − (𝑃 · 𝐷)) − (((∗‘𝐷) · (𝐷 · 𝐴)) − (𝑄 · 𝐴))) / ((∗‘𝐷) − (∗‘𝐴)))    &   (𝜑𝐵𝐶)    &   (𝜑𝐸𝐹)       (𝜑 → ((𝑋↑2) + ((𝑀 · 𝑋) + 𝑁)) = 0)
 
6-Jul-2025constrrtlc2 33755 In the construction of constructible numbers, line-circle intersections are one of the original points, in a degenerate case. (Contributed by Thierry Arnoux, 6-Jul-2025.)
(𝜑𝑆 ⊆ ℂ)    &   (𝜑𝐴𝑆)    &   (𝜑𝐵𝑆)    &   (𝜑𝐶𝑆)    &   (𝜑𝐸𝑆)    &   (𝜑𝐹𝑆)    &   (𝜑𝑇 ∈ ℝ)    &   (𝜑𝑋 = (𝐴 + (𝑇 · (𝐵𝐴))))    &   (𝜑 → (abs‘(𝑋𝐶)) = (abs‘(𝐸𝐹)))    &   (𝜑𝐴 = 𝐵)       (𝜑𝑋 = 𝐴)
 
6-Jul-2025constrrtlc1 33754 In the construction of constructible numbers, line-circle intersections are roots of a quadratic equation, non-degenerate case. (Contributed by Thierry Arnoux, 6-Jul-2025.)
(𝜑𝑆 ⊆ ℂ)    &   (𝜑𝐴𝑆)    &   (𝜑𝐵𝑆)    &   (𝜑𝐶𝑆)    &   (𝜑𝐸𝑆)    &   (𝜑𝐹𝑆)    &   (𝜑𝑇 ∈ ℝ)    &   (𝜑𝑋 = (𝐴 + (𝑇 · (𝐵𝐴))))    &   (𝜑 → (abs‘(𝑋𝐶)) = (abs‘(𝐸𝐹)))    &   𝑄 = (((∗‘𝐵) − (∗‘𝐴)) / (𝐵𝐴))    &   𝑀 = (((((∗‘𝐴) − (𝐴 · 𝑄)) − (∗‘𝐶)) − (𝐶 · 𝑄)) / 𝑄)    &   𝑁 = (-((𝐶 · (((∗‘𝐴) − (𝐴 · 𝑄)) − (∗‘𝐶))) + ((𝐸𝐹) · ((∗‘𝐸) − (∗‘𝐹)))) / 𝑄)    &   (𝜑𝐴𝐵)       (𝜑 → (((𝑋↑2) + ((𝑀 · 𝑋) + 𝑁)) = 0 ∧ 𝑄 ≠ 0))
 
6-Jul-2025constrrtll 33753 In the construction of constructible numbers, line-line intersections are solutions of linear equations, and can therefore be completely constructed. (Contributed by Thierry Arnoux, 6-Jul-2025.)
(𝜑𝑆 ⊆ ℂ)    &   (𝜑𝐴𝑆)    &   (𝜑𝐵𝑆)    &   (𝜑𝐶𝑆)    &   (𝜑𝐷𝑆)    &   (𝜑𝑇 ∈ ℝ)    &   (𝜑𝑅 ∈ ℝ)    &   (𝜑𝑋 = (𝐴 + (𝑇 · (𝐵𝐴))))    &   (𝜑𝑋 = (𝐶 + (𝑅 · (𝐷𝐶))))    &   (𝜑 → (ℑ‘((∗‘(𝐵𝐴)) · (𝐷𝐶))) ≠ 0)    &   𝑁 = (𝐴 + (((((𝐴𝐶) · ((∗‘𝐷) − (∗‘𝐶))) − (((∗‘𝐴) − (∗‘𝐶)) · (𝐷𝐶))) / ((((∗‘𝐵) − (∗‘𝐴)) · (𝐷𝐶)) − ((𝐵𝐴) · ((∗‘𝐷) − (∗‘𝐶))))) · (𝐵𝐴)))       (𝜑𝑋 = 𝑁)
 
6-Jul-2025cnfldfld 33358 The complex numbers form a field. (Contributed by Thierry Arnoux, 6-Jul-2025.)
fld ∈ Field
 
6-Jul-2025subrgmcld 33225 A subring is closed under multiplication. (Contributed by Thierry Arnoux, 6-Jul-2025.)
· = (.r𝑅)    &   (𝜑𝐴 ∈ (SubRing‘𝑅))    &   (𝜑𝑋𝐴)    &   (𝜑𝑌𝐴)       (𝜑 → (𝑋 · 𝑌) ∈ 𝐴)
 
6-Jul-2025subgsubcld 33032 A subgroup is closed under group subtraction. (Contributed by Thierry Arnoux, 6-Jul-2025.)
= (-g𝐺)    &   (𝜑𝑆 ∈ (SubGrp‘𝐺))    &   (𝜑𝑋𝑆)    &   (𝜑𝑌𝑆)       (𝜑 → (𝑋 𝑌) ∈ 𝑆)
 
6-Jul-2025quad3d 32743 Variant of quadratic equation with discriminant expanded. (Contributed by Filip Cernatescu, 19-Oct-2019.) Deduction version. (Revised by Thierry Arnoux, 6-Jul-2025.)
(𝜑𝑋 ∈ ℂ)    &   (𝜑𝐴 ∈ ℂ)    &   (𝜑𝐴 ≠ 0)    &   (𝜑𝐵 ∈ ℂ)    &   (𝜑𝐶 ∈ ℂ)    &   (𝜑 → ((𝐴 · (𝑋↑2)) + ((𝐵 · 𝑋) + 𝐶)) = 0)       (𝜑 → (𝑋 = ((-𝐵 + (√‘((𝐵↑2) − (4 · (𝐴 · 𝐶))))) / (2 · 𝐴)) ∨ 𝑋 = ((-𝐵 − (√‘((𝐵↑2) − (4 · (𝐴 · 𝐶))))) / (2 · 𝐴))))
 
6-Jul-2025muldivdid 32740 Distribution of division over addition with a multiplication. (Contributed by Thierry Arnoux, 6-Jul-2025.)
(𝜑𝐴 ∈ ℂ)    &   (𝜑𝐵 ∈ ℂ)    &   (𝜑𝐶 ∈ ℂ)    &   (𝜑𝐵 ≠ 0)       (𝜑 → (((𝐴 · 𝐵) + 𝐶) / 𝐵) = (𝐴 + (𝐶 / 𝐵)))
 
6-Jul-2025submuladdd 32739 The product of a difference and a sum. Cf. addmulsub 11721. (Contributed by Thierry Arnoux, 6-Jul-2025.)
(𝜑𝐴 ∈ ℂ)    &   (𝜑𝐵 ∈ ℂ)    &   (𝜑𝐶 ∈ ℂ)    &   (𝜑𝐷 ∈ ℂ)       (𝜑 → ((𝐴𝐵) · (𝐶 + 𝐷)) = (((𝐴 · 𝐶) + (𝐴 · 𝐷)) − ((𝐵 · 𝐶) + (𝐵 · 𝐷))))
 
6-Jul-2025rabrexfi 32514 Conditions for a class abstraction with a restricted existential quantification to be finite. (Contributed by Thierry Arnoux, 6-Jul-2025.)
(𝜑𝐵 ∈ Fin)    &   ((𝜑𝑦𝐵) → {𝑥𝐴𝜓} ∈ Fin)       (𝜑 → {𝑥𝐴 ∣ ∃𝑦𝐵 𝜓} ∈ Fin)
 
6-Jul-20253unrab 32511 Union of three restricted class abstractions. (Contributed by Thierry Arnoux, 6-Jul-2025.)
(({𝑥𝐴𝜑} ∪ {𝑥𝐴𝜓}) ∪ {𝑥𝐴𝜒}) = {𝑥𝐴 ∣ (𝜑𝜓𝜒)}
 
6-Jul-2025rabsstp 32510 Conditions for a restricted class abstraction to be a subset of an unordered triplet. (Contributed by Thierry Arnoux, 6-Jul-2025.)
({𝑥𝑉𝜑} ⊆ {𝑋, 𝑌, 𝑍} ↔ ∀𝑥𝑉 (𝜑 → (𝑥 = 𝑋𝑥 = 𝑌𝑥 = 𝑍)))
 
6-Jul-2025rabsspr 32509 Conditions for a restricted class abstraction to be a subset of an unordered pair. (Contributed by Thierry Arnoux, 6-Jul-2025.)
({𝑥𝑉𝜑} ⊆ {𝑋, 𝑌} ↔ ∀𝑥𝑉 (𝜑 → (𝑥 = 𝑋𝑥 = 𝑌)))
 
5-Jul-2025rexor 42656 Alias for r19.43 3121 for easier lookup. (Contributed by SN, 5-Jul-2025.) (New usage is discouraged.)
(∃𝑥𝐴 (𝜑𝜓) ↔ (∃𝑥𝐴 𝜑 ∨ ∃𝑥𝐴 𝜓))
 
5-Jul-2025exor 42655 Alias for 19.43 1882 for easier lookup. (Contributed by SN, 5-Jul-2025.) (New usage is discouraged.)
(∃𝑥(𝜑𝜓) ↔ (∃𝑥𝜑 ∨ ∃𝑥𝜓))
 
5-Jul-2025sn-eluzp1l 42320 Shorter proof of eluzp1l 12901. (Contributed by NM, 12-Sep-2005.) (Revised by SN, 5-Jul-2025.)
((𝑀 ∈ ℤ ∧ 𝑁 ∈ (ℤ‘(𝑀 + 1))) → 𝑀 < 𝑁)
 
5-Jul-2025eluzp1 42319 Membership in a successor upper set of integers. (Contributed by SN, 5-Jul-2025.)
(𝑀 ∈ ℤ → (𝑁 ∈ (ℤ‘(𝑀 + 1)) ↔ (𝑁 ∈ ℤ ∧ 𝑀 < 𝑁)))
 
4-Jul-2025sn-negex12 42424 A combination of cnegex 11438 and cnegex2 11439, this proof takes cnre 11254 𝐴 = 𝑟 + i · 𝑠 and shows that i · -𝑠 + -𝑟 is both a left and right inverse. (Contributed by SN, 5-May-2024.) (Proof shortened by SN, 4-Jul-2025.)
(𝐴 ∈ ℂ → ∃𝑏 ∈ ℂ ((𝐴 + 𝑏) = 0 ∧ (𝑏 + 𝐴) = 0))
 
4-Jul-2025rsubrotld 42291 Rotate the variables left in an equation with subtraction on the right, converting it into an addition.

EDITORIAL: The label for this theorem is questionable. Do not move until it would have 7 uses: current additional uses: (none). (Contributed by SN, 4-Jul-2025.)

(𝜑𝐵 ∈ ℂ)    &   (𝜑𝐶 ∈ ℂ)    &   (𝜑𝐴 = (𝐵𝐶))       (𝜑𝐵 = (𝐶 + 𝐴))
 
3-Jul-2025fiabv 42524 In a finite domain (a finite field), the only absolute value is the trivial one (abvtrivg 20826). (Contributed by SN, 3-Jul-2025.)
𝐴 = (AbsVal‘𝑅)    &   𝐵 = (Base‘𝑅)    &    0 = (0g𝑅)    &   𝑇 = (𝑥𝐵 ↦ if(𝑥 = 0 , 0, 1))    &   (𝜑𝑅 ∈ Domn)    &   (𝜑𝐵 ∈ Fin)       (𝜑𝐴 = {𝑇})
 
3-Jul-2025fidomncyc 42523 Version of odcl2 19579 for multiplicative groups of finite domains (that is, a finite monoid where nonzero elements are cancellable): one (1) is a multiple of any nonzero element. (Contributed by SN, 3-Jul-2025.)
𝐵 = (Base‘𝑅)    &    0 = (0g𝑅)    &    1 = (1r𝑅)    &    = (.g‘(mulGrp‘𝑅))    &   (𝜑𝑅 ∈ Domn)    &   (𝜑𝐵 ∈ Fin)    &   (𝜑𝐴 ∈ (𝐵 ∖ { 0 }))       (𝜑 → ∃𝑛 ∈ ℕ (𝑛 𝐴) = 1 )
 
3-Jul-2025fimgmcyc 42522 Version of odcl2 19579 for finite magmas: the multiples of an element 𝐴𝐵 are eventually periodic. (Contributed by SN, 3-Jul-2025.)
𝐵 = (Base‘𝑀)    &    · = (.g𝑀)    &   (𝜑𝑀 ∈ Mgm)    &   (𝜑𝐵 ∈ Fin)    &   (𝜑𝐴𝐵)       (𝜑 → ∃𝑜 ∈ ℕ ∃𝑝 ∈ ℕ (𝑜 · 𝐴) = ((𝑜 + 𝑝) · 𝐴))
 
3-Jul-2025abvexp 42520 Move exponentiation in and out of absolute value. (Contributed by SN, 3-Jul-2025.)
𝐴 = (AbsVal‘𝑅)    &    = (.g‘(mulGrp‘𝑅))    &   𝐵 = (Base‘𝑅)    &   (𝜑𝑅 ∈ NzRing)    &   (𝜑𝐹𝐴)    &   (𝜑𝑋𝐵)    &   (𝜑𝑁 ∈ ℕ0)       (𝜑 → (𝐹‘(𝑁 𝑋)) = ((𝐹𝑋)↑𝑁))
 
3-Jul-2025asclf1 42519 Two ways of saying the scalar injection is one-to-one. (Contributed by SN, 3-Jul-2025.)
𝐴 = (algSc‘𝑊)    &   𝐵 = (Base‘𝑊)    &   𝑆 = (Scalar‘𝑊)    &   𝐾 = (Base‘𝑆)    &    0 = (0g𝑊)    &   𝑁 = (0g𝑆)    &   (𝜑𝑊 ∈ Ring)    &   (𝜑𝑊 ∈ LMod)       (𝜑 → (𝐴:𝐾1-1𝐵 ↔ ∀𝑠𝐾 ((𝐴𝑠) = 0𝑠 = 𝑁)))
 
3-Jul-2025expeqidd 42338 A nonnegative real number is zero or one if and only if it is itself when raised to an integer greater than one. (Contributed by SN, 3-Jul-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝑁 ∈ (ℤ‘2))    &   (𝜑 → 0 ≤ 𝐴)       (𝜑 → ((𝐴𝑁) = 𝐴 ↔ (𝐴 = 0 ∨ 𝐴 = 1)))
 
3-Jul-2025expeq1d 42337 A nonnegative real number is one if and only if it is one when raised to a positive integer. (Contributed by SN, 3-Jul-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝑁 ∈ ℕ)    &   (𝜑 → 0 ≤ 𝐴)       (𝜑 → ((𝐴𝑁) = 1 ↔ 𝐴 = 1))
 
3-Jul-2025explt1d 42336 A nonnegative real number less than one raised to a positive integer is less than one. (Contributed by SN, 3-Jul-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝑁 ∈ ℕ)    &   (𝜑 → 0 ≤ 𝐴)    &   (𝜑𝐴 < 1)       (𝜑 → (𝐴𝑁) < 1)
 
3-Jul-2025ply1idvr1 22288 The identity of a polynomial ring expressed as power of the polynomial variable. (Contributed by AV, 14-Aug-2019.) (Proof shortened by SN, 3-Jul-2025.)
𝑃 = (Poly1𝑅)    &   𝑋 = (var1𝑅)    &   𝑁 = (mulGrp‘𝑃)    &    = (.g𝑁)       (𝑅 ∈ Ring → (0 𝑋) = (1r𝑃))
 
3-Jul-2025eqsnd 4828 Deduce that a set is a singleton. (Contributed by Thierry Arnoux, 10-May-2023.) (Proof shortened by SN, 3-Jul-2025.)
((𝜑𝑥𝐴) → 𝑥 = 𝐵)    &   (𝜑𝐵𝐴)       (𝜑𝐴 = {𝐵})
 
1-Jul-2025constrconj 33766 If a point 𝑋 of the complex plane is constructible, so is its conjugate (∗‘𝑋). (Proposed by Saveliy Skresanov, 25-Jun-2025.) (Contributed by Thierry Arnoux, 1-Jul-2025.)
𝐶 = rec((𝑠 ∈ V ↦ {𝑥 ∈ ℂ ∣ (∃𝑎𝑠𝑏𝑠𝑐𝑠𝑑𝑠𝑡 ∈ ℝ ∃𝑟 ∈ ℝ (𝑥 = (𝑎 + (𝑡 · (𝑏𝑎))) ∧ 𝑥 = (𝑐 + (𝑟 · (𝑑𝑐))) ∧ (ℑ‘((∗‘(𝑏𝑎)) · (𝑑𝑐))) ≠ 0) ∨ ∃𝑎𝑠𝑏𝑠𝑐𝑠𝑒𝑠𝑓𝑠𝑡 ∈ ℝ (𝑥 = (𝑎 + (𝑡 · (𝑏𝑎))) ∧ (abs‘(𝑥𝑐)) = (abs‘(𝑒𝑓))) ∨ ∃𝑎𝑠𝑏𝑠𝑐𝑠𝑑𝑠𝑒𝑠𝑓𝑠 (𝑎𝑑 ∧ (abs‘(𝑥𝑎)) = (abs‘(𝑏𝑐)) ∧ (abs‘(𝑥𝑑)) = (abs‘(𝑒𝑓))))}), {0, 1})    &   (𝜑𝑁 ∈ On)    &   (𝜑𝑋 ∈ (𝐶𝑁))       (𝜑 → (∗‘𝑋) ∈ (𝐶𝑁))
 
1-Jul-2025constrmon 33765 The construction of constructible numbers is monotonous, i.e. if the ordinal 𝑀 is less than the ordinal 𝑁, which is denoted by 𝑀𝑁, then the 𝑀-th step of the constructible numbers is included in the 𝑁-th step. (Contributed by Thierry Arnoux, 1-Jul-2025.)
𝐶 = rec((𝑠 ∈ V ↦ {𝑥 ∈ ℂ ∣ (∃𝑎𝑠𝑏𝑠𝑐𝑠𝑑𝑠𝑡 ∈ ℝ ∃𝑟 ∈ ℝ (𝑥 = (𝑎 + (𝑡 · (𝑏𝑎))) ∧ 𝑥 = (𝑐 + (𝑟 · (𝑑𝑐))) ∧ (ℑ‘((∗‘(𝑏𝑎)) · (𝑑𝑐))) ≠ 0) ∨ ∃𝑎𝑠𝑏𝑠𝑐𝑠𝑒𝑠𝑓𝑠𝑡 ∈ ℝ (𝑥 = (𝑎 + (𝑡 · (𝑏𝑎))) ∧ (abs‘(𝑥𝑐)) = (abs‘(𝑒𝑓))) ∨ ∃𝑎𝑠𝑏𝑠𝑐𝑠𝑑𝑠𝑒𝑠𝑓𝑠 (𝑎𝑑 ∧ (abs‘(𝑥𝑎)) = (abs‘(𝑏𝑐)) ∧ (abs‘(𝑥𝑑)) = (abs‘(𝑒𝑓))))}), {0, 1})    &   (𝜑𝑁 ∈ On)    &   (𝜑𝑀𝑁)       (𝜑 → (𝐶𝑀) ⊆ (𝐶𝑁))
 
1-Jul-2025cjsubd 32741 Complex conjugate distributes over subtraction. (Contributed by Thierry Arnoux, 1-Jul-2025.)
(𝜑𝐴 ∈ ℂ)    &   (𝜑𝐵 ∈ ℂ)       (𝜑 → (∗‘(𝐴𝐵)) = ((∗‘𝐴) − (∗‘𝐵)))
 
29-Jun-2025sn-suprubd 42482 suprubd 12226 without ax-mulcom 11215, proven trivially from sn-suprcld 42481. (Contributed by SN, 29-Jun-2025.)
(𝜑𝐴 ⊆ ℝ)    &   (𝜑𝐴 ≠ ∅)    &   (𝜑 → ∃𝑥 ∈ ℝ ∀𝑦𝐴 𝑦𝑥)    &   (𝜑𝐵𝐴)       (𝜑𝐵 ≤ sup(𝐴, ℝ, < ))
 
29-Jun-2025sn-suprcld 42481 suprcld 12227 without ax-mulcom 11215, proven trivially from sn-sup3d 42480. (Contributed by SN, 29-Jun-2025.)
(𝜑𝐴 ⊆ ℝ)    &   (𝜑𝐴 ≠ ∅)    &   (𝜑 → ∃𝑥 ∈ ℝ ∀𝑦𝐴 𝑦𝑥)       (𝜑 → sup(𝐴, ℝ, < ) ∈ ℝ)
 
29-Jun-2025sn-sup3d 42480 sup3 12221 without ax-mulcom 11215, proven trivially from sn-sup2 42479. (Contributed by SN, 29-Jun-2025.)
(𝜑𝐴 ⊆ ℝ)    &   (𝜑𝐴 ≠ ∅)    &   (𝜑 → ∃𝑥 ∈ ℝ ∀𝑦𝐴 𝑦𝑥)       (𝜑 → ∃𝑥 ∈ ℝ (∀𝑦𝐴 ¬ 𝑥 < 𝑦 ∧ ∀𝑦 ∈ ℝ (𝑦 < 𝑥 → ∃𝑧𝐴 𝑦 < 𝑧)))
 
29-Jun-2025supinf 42261 The supremum is the infimum of the upper bounds. (Contributed by SN, 29-Jun-2025.)
(𝜑< Or 𝐴)    &   (𝜑 → ∃𝑥𝐴 (∀𝑦𝐵 ¬ 𝑥 < 𝑦 ∧ ∀𝑦𝐴 (𝑦 < 𝑥 → ∃𝑧𝐵 𝑦 < 𝑧)))       (𝜑 → sup(𝐵, 𝐴, < ) = inf({𝑥𝐴 ∣ ∀𝑤𝐵 ¬ 𝑥 < 𝑤}, 𝐴, < ))
 
29-Jun-20253jcadALT 35670 Alternate proof of 3jcad 1130. (Contributed by Hongxiu Chen, 29-Jun-2025.) (Proof modification is discouraged.) Use 3jcad instead. (New usage is discouraged.)
(𝜑 → (𝜓𝜒))    &   (𝜑 → (𝜓𝜃))    &   (𝜑 → (𝜓𝜏))       (𝜑 → (𝜓 → (𝜒𝜃𝜏)))
 
29-Jun-2025pm3.48ALT 35669 Alternate proof of pm3.48 966. (Contributed by Hongxiu Chen, 29-Jun-2025.) (Proof modification is discouraged.) (New usage is discouraged.)
(((𝜑𝜓) ∧ (𝜒𝜃)) → ((𝜑𝜒) → (𝜓𝜃)))
 
29-Jun-2025orbi2iALT 35668 Alternate proof of orbi2i 913. (Contributed by Hongxiu Chen, 29-Jun-2025.) (Proof modification is discouraged.) (New usage is discouraged.)
(𝜑𝜓)       ((𝜒𝜑) ↔ (𝜒𝜓))
 
29-Jun-20252thALT 35667 Alternate proof of 2th 264. (Contributed by Hongxiu Chen, 29-Jun-2025.) (Proof modification is discouraged.) (New usage is discouraged.)
𝜑    &   𝜓       (𝜑𝜓)
 
29-Jun-2025wevgblacfn 35092 If 𝑅 is a well-ordering of the universe, then 𝐹 is a global choice function. Here 𝐹 maps each set 𝑧 to its minimal element with respect to 𝑅 (except when 𝑧 is the empty set, in which case it is mapped to the empty set, though this is only done for convenience). (Contributed by BTernaryTau, 29-Jun-2025.)
𝐹 = (𝑧 ∈ V ↦ {𝑦𝑧 ∣ ∀𝑥𝑧 ¬ 𝑥𝑅𝑦})       (𝑅 We V → (𝐹 Fn V ∧ ∀𝑧(𝑧 ≠ ∅ → (𝐹𝑧) ∈ 𝑧)))
 
29-Jun-2025bian1d 32464 Adding a superfluous conjunct in a biconditional. (Contributed by Thierry Arnoux, 26-Feb-2017.) (Proof shortened by Hongxiu Chen, 29-Jun-2025.)
(𝜑 → (𝜓 ↔ (𝜒𝜃)))       (𝜑 → ((𝜒𝜓) ↔ (𝜒𝜃)))
 
29-Jun-2025mulgt1 12125 The product of two numbers greater than 1 is greater than 1. (Contributed by NM, 13-Feb-2005.) (Proof shortened by SN, 29-Jun-2025.)
(((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ) ∧ (1 < 𝐴 ∧ 1 < 𝐵)) → 1 < (𝐴 · 𝐵))
 
29-Jun-20253jaob 1428 Disjunction of three antecedents. (Contributed by NM, 13-Sep-2011.) (Proof shortened by Hongxiu Chen, 29-Jun-2025.)
(((𝜑𝜒𝜃) → 𝜓) ↔ ((𝜑𝜓) ∧ (𝜒𝜓) ∧ (𝜃𝜓)))
 
28-Jun-2025bj-ru1 36922 A version of Russell's paradox ru 3785 not mentioning the universal class. (see also bj-ru 36923). (Contributed by BJ, 12-Oct-2019.) Remove usage of ax-10 2141, ax-11 2157, ax-12 2177 by using eqabbw 2814 following BTernaryTau's similar revision of ru 3785. (Revised by BJ, 28-Jun-2025.) (Proof modification is discouraged.)
¬ ∃𝑦 𝑦 = {𝑥 ∣ ¬ 𝑥𝑥}
 
25-Jun-2025drngmulrcan 42514 Cancellation of a nonzero factor on the right for multiplication. (mulcan2ad 11895 analog). (Contributed by SN, 14-Aug-2024.) (Proof shortened by SN, 25-Jun-2025.)
𝐵 = (Base‘𝑅)    &    0 = (0g𝑅)    &    · = (.r𝑅)    &   (𝜑𝑅 ∈ DivRing)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)    &   (𝜑𝑍𝐵)    &   (𝜑𝑍0 )    &   (𝜑 → (𝑋 · 𝑍) = (𝑌 · 𝑍))       (𝜑𝑋 = 𝑌)
 
25-Jun-2025drngmullcan 42513 Cancellation of a nonzero factor on the left for multiplication. (mulcanad 11894 analog). (Contributed by SN, 14-Aug-2024.) (Proof shortened by SN, 25-Jun-2025.)
𝐵 = (Base‘𝑅)    &    0 = (0g𝑅)    &    · = (.r𝑅)    &   (𝜑𝑅 ∈ DivRing)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)    &   (𝜑𝑍𝐵)    &   (𝜑𝑍0 )    &   (𝜑 → (𝑍 · 𝑋) = (𝑍 · 𝑌))       (𝜑𝑋 = 𝑌)
 
25-Jun-2025aks5lem6 42171 Connect results of section 5 and Theorem 6.1 AKS. (Contributed by metakunt, 25-Jun-2025.)
= {⟨𝑒, 𝑓⟩ ∣ (𝑒 ∈ ℕ ∧ 𝑓 ∈ (Base‘(Poly1𝐾)) ∧ ∀𝑦 ∈ ((mulGrp‘𝐾) PrimRoots 𝑅)(𝑒(.g‘(mulGrp‘𝐾))(((eval1𝐾)‘𝑓)‘𝑦)) = (((eval1𝐾)‘𝑓)‘(𝑒(.g‘(mulGrp‘𝐾))𝑦)))}    &   𝑃 = (chr‘𝐾)    &   (𝜑𝐾 ∈ Field)    &   (𝜑𝑃 ∈ ℙ)    &   (𝜑𝑅 ∈ ℕ)    &   (𝜑𝑁 ∈ (ℤ‘3))    &   (𝜑𝑃𝑁)    &   (𝜑 → (𝑁 gcd 𝑅) = 1)    &   𝐴 = (⌊‘((√‘(ϕ‘𝑅)) · (2 logb 𝑁)))    &   (𝜑 → ((2 logb 𝑁)↑2) < ((od𝑅)‘𝑁))    &   (𝜑 → (𝑥 ∈ (Base‘𝐾) ↦ (𝑃(.g‘(mulGrp‘𝐾))𝑥)) ∈ (𝐾 RingIso 𝐾))    &   (𝜑𝑀 ∈ ((mulGrp‘𝐾) PrimRoots 𝑅))    &   (𝜑 → ∀𝑏 ∈ (1...𝐴)(𝑏 gcd 𝑁) = 1)    &   𝑆 = (Poly1‘(ℤ/nℤ‘𝑁))    &   𝐿 = ((RSpan‘𝑆)‘{((𝑅(.g‘(mulGrp‘𝑆))(var1‘(ℤ/nℤ‘𝑁)))(-g𝑆)(1r𝑆))})    &   𝑋 = (var1‘(ℤ/nℤ‘𝑁))    &   (𝜑 → ∀𝑎 ∈ (1...𝐴)[(𝑁(.g‘(mulGrp‘𝑆))(𝑋(+g𝑆)((ℤRHom‘𝑆)‘𝑎)))](𝑆 ~QG 𝐿) = [((𝑁(.g‘(mulGrp‘𝑆))𝑋)(+g𝑆)((ℤRHom‘𝑆)‘𝑎))](𝑆 ~QG 𝐿))       (𝜑𝑁 = (𝑃↑(𝑃 pCnt 𝑁)))
 
25-Jun-2025constrss 33764 Constructed points are in the next generation constructed points. (Contributed by Thierry Arnoux, 25-Jun-2025.)
𝐶 = rec((𝑠 ∈ V ↦ {𝑥 ∈ ℂ ∣ (∃𝑎𝑠𝑏𝑠𝑐𝑠𝑑𝑠𝑡 ∈ ℝ ∃𝑟 ∈ ℝ (𝑥 = (𝑎 + (𝑡 · (𝑏𝑎))) ∧ 𝑥 = (𝑐 + (𝑟 · (𝑑𝑐))) ∧ (ℑ‘((∗‘(𝑏𝑎)) · (𝑑𝑐))) ≠ 0) ∨ ∃𝑎𝑠𝑏𝑠𝑐𝑠𝑒𝑠𝑓𝑠𝑡 ∈ ℝ (𝑥 = (𝑎 + (𝑡 · (𝑏𝑎))) ∧ (abs‘(𝑥𝑐)) = (abs‘(𝑒𝑓))) ∨ ∃𝑎𝑠𝑏𝑠𝑐𝑠𝑑𝑠𝑒𝑠𝑓𝑠 (𝑎𝑑 ∧ (abs‘(𝑥𝑎)) = (abs‘(𝑏𝑐)) ∧ (abs‘(𝑥𝑑)) = (abs‘(𝑒𝑓))))}), {0, 1})    &   (𝜑𝑁 ∈ On)       (𝜑 → (𝐶𝑁) ⊆ (𝐶‘suc 𝑁))
 
25-Jun-2025constr01 33763 0 and 1 are in all steps of the construction of constructible points. (Contributed by Thierry Arnoux, 25-Jun-2025.)
𝐶 = rec((𝑠 ∈ V ↦ {𝑥 ∈ ℂ ∣ (∃𝑎𝑠𝑏𝑠𝑐𝑠𝑑𝑠𝑡 ∈ ℝ ∃𝑟 ∈ ℝ (𝑥 = (𝑎 + (𝑡 · (𝑏𝑎))) ∧ 𝑥 = (𝑐 + (𝑟 · (𝑑𝑐))) ∧ (ℑ‘((∗‘(𝑏𝑎)) · (𝑑𝑐))) ≠ 0) ∨ ∃𝑎𝑠𝑏𝑠𝑐𝑠𝑒𝑠𝑓𝑠𝑡 ∈ ℝ (𝑥 = (𝑎 + (𝑡 · (𝑏𝑎))) ∧ (abs‘(𝑥𝑐)) = (abs‘(𝑒𝑓))) ∨ ∃𝑎𝑠𝑏𝑠𝑐𝑠𝑑𝑠𝑒𝑠𝑓𝑠 (𝑎𝑑 ∧ (abs‘(𝑥𝑎)) = (abs‘(𝑏𝑐)) ∧ (abs‘(𝑥𝑑)) = (abs‘(𝑒𝑓))))}), {0, 1})    &   (𝜑𝑁 ∈ On)       (𝜑 → {0, 1} ⊆ (𝐶𝑁))
 
25-Jun-2025constrsslem 33762 Lemma for constrss 33764. This lemma requires the additional condition that 0 is the constructible number; that condition is removed in constrss 33764. (Proposed by Saveliy Skresanov, 23-JUn-2025.) (Contributed by Thierry Arnoux, 25-Jun-2025.)
𝐶 = rec((𝑠 ∈ V ↦ {𝑥 ∈ ℂ ∣ (∃𝑎𝑠𝑏𝑠𝑐𝑠𝑑𝑠𝑡 ∈ ℝ ∃𝑟 ∈ ℝ (𝑥 = (𝑎 + (𝑡 · (𝑏𝑎))) ∧ 𝑥 = (𝑐 + (𝑟 · (𝑑𝑐))) ∧ (ℑ‘((∗‘(𝑏𝑎)) · (𝑑𝑐))) ≠ 0) ∨ ∃𝑎𝑠𝑏𝑠𝑐𝑠𝑒𝑠𝑓𝑠𝑡 ∈ ℝ (𝑥 = (𝑎 + (𝑡 · (𝑏𝑎))) ∧ (abs‘(𝑥𝑐)) = (abs‘(𝑒𝑓))) ∨ ∃𝑎𝑠𝑏𝑠𝑐𝑠𝑑𝑠𝑒𝑠𝑓𝑠 (𝑎𝑑 ∧ (abs‘(𝑥𝑎)) = (abs‘(𝑏𝑐)) ∧ (abs‘(𝑥𝑑)) = (abs‘(𝑒𝑓))))}), {0, 1})    &   (𝜑𝑁 ∈ On)    &   (𝜑 → 0 ∈ (𝐶𝑁))       (𝜑 → (𝐶𝑁) ⊆ (𝐶‘suc 𝑁))
 
25-Jun-2025constrsscn 33761 Closure of the constructible points in the complex numbers. (Contributed by Thierry Arnoux, 25-Jun-2025.)
𝐶 = rec((𝑠 ∈ V ↦ {𝑥 ∈ ℂ ∣ (∃𝑎𝑠𝑏𝑠𝑐𝑠𝑑𝑠𝑡 ∈ ℝ ∃𝑟 ∈ ℝ (𝑥 = (𝑎 + (𝑡 · (𝑏𝑎))) ∧ 𝑥 = (𝑐 + (𝑟 · (𝑑𝑐))) ∧ (ℑ‘((∗‘(𝑏𝑎)) · (𝑑𝑐))) ≠ 0) ∨ ∃𝑎𝑠𝑏𝑠𝑐𝑠𝑒𝑠𝑓𝑠𝑡 ∈ ℝ (𝑥 = (𝑎 + (𝑡 · (𝑏𝑎))) ∧ (abs‘(𝑥𝑐)) = (abs‘(𝑒𝑓))) ∨ ∃𝑎𝑠𝑏𝑠𝑐𝑠𝑑𝑠𝑒𝑠𝑓𝑠 (𝑎𝑑 ∧ (abs‘(𝑥𝑎)) = (abs‘(𝑏𝑐)) ∧ (abs‘(𝑥𝑑)) = (abs‘(𝑒𝑓))))}), {0, 1})    &   (𝜑𝑁 ∈ On)       (𝜑 → (𝐶𝑁) ⊆ ℂ)
 
25-Jun-2025constrlim 33760 Limit step of the construction of constructible numbers. (Contributed by Thierry Arnoux, 25-Jun-2025.)
𝐶 = rec((𝑠 ∈ V ↦ {𝑥 ∈ ℂ ∣ (∃𝑎𝑠𝑏𝑠𝑐𝑠𝑑𝑠𝑡 ∈ ℝ ∃𝑟 ∈ ℝ (𝑥 = (𝑎 + (𝑡 · (𝑏𝑎))) ∧ 𝑥 = (𝑐 + (𝑟 · (𝑑𝑐))) ∧ (ℑ‘((∗‘(𝑏𝑎)) · (𝑑𝑐))) ≠ 0) ∨ ∃𝑎𝑠𝑏𝑠𝑐𝑠𝑒𝑠𝑓𝑠𝑡 ∈ ℝ (𝑥 = (𝑎 + (𝑡 · (𝑏𝑎))) ∧ (abs‘(𝑥𝑐)) = (abs‘(𝑒𝑓))) ∨ ∃𝑎𝑠𝑏𝑠𝑐𝑠𝑑𝑠𝑒𝑠𝑓𝑠 (𝑎𝑑 ∧ (abs‘(𝑥𝑎)) = (abs‘(𝑏𝑐)) ∧ (abs‘(𝑥𝑑)) = (abs‘(𝑒𝑓))))}), {0, 1})    &   (𝜑𝑁𝑉)    &   (𝜑 → Lim 𝑁)       (𝜑 → (𝐶𝑁) = 𝑛𝑁 (𝐶𝑛))
 
25-Jun-2025constrsuc 33759 Membership in the successor step of the construction of constructible numbers. (Contributed by Thierry Arnoux, 25-Jun-2025.)
𝐶 = rec((𝑠 ∈ V ↦ {𝑥 ∈ ℂ ∣ (∃𝑎𝑠𝑏𝑠𝑐𝑠𝑑𝑠𝑡 ∈ ℝ ∃𝑟 ∈ ℝ (𝑥 = (𝑎 + (𝑡 · (𝑏𝑎))) ∧ 𝑥 = (𝑐 + (𝑟 · (𝑑𝑐))) ∧ (ℑ‘((∗‘(𝑏𝑎)) · (𝑑𝑐))) ≠ 0) ∨ ∃𝑎𝑠𝑏𝑠𝑐𝑠𝑒𝑠𝑓𝑠𝑡 ∈ ℝ (𝑥 = (𝑎 + (𝑡 · (𝑏𝑎))) ∧ (abs‘(𝑥𝑐)) = (abs‘(𝑒𝑓))) ∨ ∃𝑎𝑠𝑏𝑠𝑐𝑠𝑑𝑠𝑒𝑠𝑓𝑠 (𝑎𝑑 ∧ (abs‘(𝑥𝑎)) = (abs‘(𝑏𝑐)) ∧ (abs‘(𝑥𝑑)) = (abs‘(𝑒𝑓))))}), {0, 1})    &   (𝜑𝑁 ∈ On)    &   𝑆 = (𝐶𝑁)       (𝜑 → (𝑋 ∈ (𝐶‘suc 𝑁) ↔ (𝑋 ∈ ℂ ∧ (∃𝑎𝑆𝑏𝑆𝑐𝑆𝑑𝑆𝑡 ∈ ℝ ∃𝑟 ∈ ℝ (𝑋 = (𝑎 + (𝑡 · (𝑏𝑎))) ∧ 𝑋 = (𝑐 + (𝑟 · (𝑑𝑐))) ∧ (ℑ‘((∗‘(𝑏𝑎)) · (𝑑𝑐))) ≠ 0) ∨ ∃𝑎𝑆𝑏𝑆𝑐𝑆𝑒𝑆𝑓𝑆𝑡 ∈ ℝ (𝑋 = (𝑎 + (𝑡 · (𝑏𝑎))) ∧ (abs‘(𝑋𝑐)) = (abs‘(𝑒𝑓))) ∨ ∃𝑎𝑆𝑏𝑆𝑐𝑆𝑑𝑆𝑒𝑆𝑓𝑆 (𝑎𝑑 ∧ (abs‘(𝑋𝑎)) = (abs‘(𝑏𝑐)) ∧ (abs‘(𝑋𝑑)) = (abs‘(𝑒𝑓)))))))
 
25-Jun-2025constr0 33758 The first step of the construction of constructible numbers is the pair {0, 1}. In this theorem and the following, we use (𝐶𝑁) for the 𝑁-th intermediate iteration of the constructible number. (Contributed by Thierry Arnoux, 25-Jun-2025.)
𝐶 = rec((𝑠 ∈ V ↦ {𝑥 ∈ ℂ ∣ (∃𝑎𝑠𝑏𝑠𝑐𝑠𝑑𝑠𝑡 ∈ ℝ ∃𝑟 ∈ ℝ (𝑥 = (𝑎 + (𝑡 · (𝑏𝑎))) ∧ 𝑥 = (𝑐 + (𝑟 · (𝑑𝑐))) ∧ (ℑ‘((∗‘(𝑏𝑎)) · (𝑑𝑐))) ≠ 0) ∨ ∃𝑎𝑠𝑏𝑠𝑐𝑠𝑒𝑠𝑓𝑠𝑡 ∈ ℝ (𝑥 = (𝑎 + (𝑡 · (𝑏𝑎))) ∧ (abs‘(𝑥𝑐)) = (abs‘(𝑒𝑓))) ∨ ∃𝑎𝑠𝑏𝑠𝑐𝑠𝑑𝑠𝑒𝑠𝑓𝑠 (𝑎𝑑 ∧ (abs‘(𝑥𝑎)) = (abs‘(𝑏𝑐)) ∧ (abs‘(𝑥𝑑)) = (abs‘(𝑒𝑓))))}), {0, 1})       (𝐶‘∅) = {0, 1}
 
25-Jun-2025re0cj 32742 The conjugate of a pure imaginary number is its negative. (Contributed by Thierry Arnoux, 25-Jun-2025.)
(𝜑𝐴 ∈ ℂ)    &   (𝜑 → (ℜ‘𝐴) = 0)       (𝜑 → (∗‘𝐴) = -𝐴)
 
25-Jun-2025abvtrivg 20826 The trivial absolute value. This theorem is not true for rings with zero divisors, which violate the multiplication axiom; abvdom 20823 is the converse of this theorem. (Contributed by SN, 25-Jun-2025.)
𝐴 = (AbsVal‘𝑅)    &   𝐵 = (Base‘𝑅)    &    0 = (0g𝑅)    &   𝐹 = (𝑥𝐵 ↦ if(𝑥 = 0 , 0, 1))       (𝑅 ∈ Domn → 𝐹𝐴)
 
25-Jun-2025drngmul0or 20752 A product is zero iff one of its factors is zero. (Contributed by NM, 8-Oct-2014.) (Proof shortened by SN, 25-Jun-2025.)
𝐵 = (Base‘𝑅)    &    0 = (0g𝑅)    &    · = (.r𝑅)    &   (𝜑𝑅 ∈ DivRing)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)       (𝜑 → ((𝑋 · 𝑌) = 0 ↔ (𝑋 = 0𝑌 = 0 )))
 
25-Jun-2025drngmcl 20742 The product of two nonzero elements of a division ring is nonzero. (Contributed by NM, 7-Sep-2011.) (Proof shortened by SN, 25-Jun-2025.)
𝐵 = (Base‘𝑅)    &    · = (.r𝑅)    &    0 = (0g𝑅)       ((𝑅 ∈ DivRing ∧ 𝑋 ∈ (𝐵 ∖ { 0 }) ∧ 𝑌 ∈ (𝐵 ∖ { 0 })) → (𝑋 · 𝑌) ∈ (𝐵 ∖ { 0 }))
 
23-Jun-2025dfac5lem4 10162 Lemma for dfac5 10165. (Contributed by NM, 11-Apr-2004.) Avoid ax-11 2157. (Revised by BTernaryTau, 23-Jun-2025.)
𝐴 = {𝑢 ∣ (𝑢 ≠ ∅ ∧ ∃𝑡 𝑢 = ({𝑡} × 𝑡))}    &   (𝜑 ↔ ∀𝑥((∀𝑧𝑥 𝑧 ≠ ∅ ∧ ∀𝑧𝑥𝑤𝑥 (𝑧𝑤 → (𝑧𝑤) = ∅)) → ∃𝑦𝑧𝑥 ∃!𝑣 𝑣 ∈ (𝑧𝑦)))       (𝜑 → ∃𝑦𝑧𝐴 ∃!𝑣 𝑣 ∈ (𝑧𝑦))
 
23-Jun-2025fodomfib 9365 Equivalence of an onto mapping and dominance for a nonempty finite set. Unlike fodomb 10562 for arbitrary sets, this theorem does not require the Axiom of Replacement nor the Axiom of Power Sets nor the Axiom of Choice for its proof. (Contributed by NM, 23-Mar-2006.) Avoid ax-pow 5363. (Revised by BTernaryTau, 23-Jun-2025.)
(𝐴 ∈ Fin → ((𝐴 ≠ ∅ ∧ ∃𝑓 𝑓:𝐴onto𝐵) ↔ (∅ ≺ 𝐵𝐵𝐴)))
 
23-Jun-2025fodomfir 9364 There exists a mapping from a finite set onto any nonempty set that it dominates, proved without using the Axiom of Power Sets (unlike fodomr 9164). (Contributed by BTernaryTau, 23-Jun-2025.)
((𝐴 ∈ Fin ∧ ∅ ≺ 𝐵𝐵𝐴) → ∃𝑓 𝑓:𝐴onto𝐵)
 
23-Jun-2025dmcosseq 5985 Domain of a composition. (Contributed by NM, 28-May-1998.) (Proof shortened by Andrew Salmon, 27-Aug-2011.) Avoid ax-11 2157. (Revised by BTernaryTau, 23-Jun-2025.)
(ran 𝐵 ⊆ dom 𝐴 → dom (𝐴𝐵) = dom 𝐵)
 
23-Jun-2025excomimw 2043 Weak version of excomim 2163. Uses only Tarski's FOL axiom schemes. (Contributed by BTernaryTau, 23-Jun-2025.)
(𝑥 = 𝑧 → (𝜑𝜓))       (∃𝑥𝑦𝜑 → ∃𝑦𝑥𝜑)
 
22-Jun-2025prcinf 35086 Any proper class is literally infinite, in the sense that it contains subsets of arbitrarily large finite cardinality. This proof holds regardless of whether the Axiom of Infinity is accepted or negated. (Contributed by BTernaryTau, 22-Jun-2025.)
𝐴 ∈ V → ∀𝑛 ∈ ω ∃𝑥(𝑥𝐴𝑥𝑛))
 
22-Jun-2025axnulALT2 35085 Alternate proof of axnul 5303, proved from propositional calculus, ax-gen 1795, ax-4 1809, ax-5 1910, and ax-inf2 9677. (Contributed by BTernaryTau, 22-Jun-2025.) (Proof modification is discouraged.) (New usage is discouraged.)
𝑥𝑦 ¬ 𝑦𝑥
 
22-Jun-2025rtelextdg2 33749 If an element 𝑋 is a solution of a quadratic equation, then it is either in the base field, or the degree of its field extension is exactly 2. (Contributed by Thierry Arnoux, 22-Jun-2025.)
𝐾 = (𝐸s 𝐹)    &   𝐿 = (𝐸s (𝐸 fldGen (𝐹 ∪ {𝑋})))    &    0 = (0g𝐸)    &   𝑃 = (Poly1𝐾)    &   𝑉 = (Base‘𝐸)    &    · = (.r𝐸)    &    + = (+g𝐸)    &    = (.g‘(mulGrp‘𝐸))    &   (𝜑𝐸 ∈ Field)    &   (𝜑𝐹 ∈ (SubDRing‘𝐸))    &   (𝜑𝑋𝑉)    &   (𝜑𝐴𝐹)    &   (𝜑𝐵𝐹)    &   (𝜑 → ((2 𝑋) + ((𝐴 · 𝑋) + 𝐵)) = 0 )       (𝜑 → (𝑋𝐹 ∨ (𝐿[:]𝐾) = 2))
 
22-Jun-2025rtelextdg2lem 33748 Lemma for rtelextdg2 33749: If an element 𝑋 is a solution of a quadratic equation, then the degree of its field extension is at most 2. (Contributed by Thierry Arnoux, 22-Jun-2025.)
𝐾 = (𝐸s 𝐹)    &   𝐿 = (𝐸s (𝐸 fldGen (𝐹 ∪ {𝑋})))    &    0 = (0g𝐸)    &   𝑃 = (Poly1𝐾)    &   𝑉 = (Base‘𝐸)    &    · = (.r𝐸)    &    + = (+g𝐸)    &    = (.g‘(mulGrp‘𝐸))    &   (𝜑𝐸 ∈ Field)    &   (𝜑𝐹 ∈ (SubDRing‘𝐸))    &   (𝜑𝑋𝑉)    &   (𝜑𝐴𝐹)    &   (𝜑𝐵𝐹)    &   (𝜑 → ((2 𝑋) + ((𝐴 · 𝑋) + 𝐵)) = 0 )    &   𝑌 = (var1𝐾)    &    = (+g𝑃)    &    = (.r𝑃)    &    = (.g‘(mulGrp‘𝑃))    &   𝑈 = (algSc‘𝑃)    &   𝐺 = ((2 𝑌) (((𝑈𝐴) 𝑌) (𝑈𝐵)))       (𝜑 → (𝐿[:]𝐾) ≤ 2)
 
22-Jun-2025minplymindeg 33732 The minimal polynomial of 𝐴 is minimal among the nonzero annihilators of 𝐴 with regard to degree. (Contributed by Thierry Arnoux, 22-Jun-2025.)
𝑂 = (𝐸 evalSub1 𝐹)    &   𝑃 = (Poly1‘(𝐸s 𝐹))    &   𝐵 = (Base‘𝐸)    &   (𝜑𝐸 ∈ Field)    &   (𝜑𝐹 ∈ (SubDRing‘𝐸))    &   (𝜑𝐴𝐵)    &    0 = (0g𝐸)    &   𝑀 = (𝐸 minPoly 𝐹)    &   𝐷 = (deg1‘(𝐸s 𝐹))    &   𝑍 = (0g𝑃)    &   𝑈 = (Base‘𝑃)    &   (𝜑 → ((𝑂𝐻)‘𝐴) = 0 )    &   (𝜑𝐻𝑈)    &   (𝜑𝐻𝑍)       (𝜑 → (𝐷‘(𝑀𝐴)) ≤ (𝐷𝐻))
 
22-Jun-2025fldgenfldext 33703 A subfield 𝐹 extended with a set 𝐴 forms a field extension. (Contributed by Thierry Arnoux, 22-Jun-2025.)
𝐵 = (Base‘𝐸)    &   𝐾 = (𝐸s 𝐹)    &   𝐿 = (𝐸s (𝐸 fldGen (𝐹𝐴)))    &   (𝜑𝐸 ∈ Field)    &   (𝜑𝐹 ∈ (SubDRing‘𝐸))    &   (𝜑𝐴𝐵)       (𝜑𝐿/FldExt𝐾)
 
22-Jun-2025deg1vr 33601 The degree of the variable polynomial is 1. (Contributed by Thierry Arnoux, 22-Jun-2025.)
𝐷 = (deg1𝑅)    &   𝑃 = (Poly1𝑅)    &   𝑋 = (var1𝑅)    &   (𝜑𝑅 ∈ NzRing)       (𝜑 → (𝐷𝑋) = 1)
 
22-Jun-2025coe1vr1 33600 Polynomial coefficient of the variable. (Contributed by Thierry Arnoux, 22-Jun-2025.)
𝑃 = (Poly1𝑅)    &   𝑋 = (var1𝑅)    &   (𝜑𝑅 ∈ Ring)    &    0 = (0g𝑅)    &    1 = (1r𝑅)       (𝜑 → (coe1𝑋) = (𝑘 ∈ ℕ0 ↦ if(𝑘 = 1, 1 , 0 )))
 
22-Jun-2025coe1zfv 33599 The coefficients of the zero univariate polynomial. (Contributed by Thierry Arnoux, 22-Jun-2025.)
𝑃 = (Poly1𝑅)    &   𝑍 = (0g𝑃)    &    0 = (0g𝑅)    &   (𝜑𝑅 ∈ Ring)    &   (𝜑𝑁 ∈ ℕ0)       (𝜑 → ((coe1𝑍)‘𝑁) = 0 )
 
22-Jun-2025evl1deg2 33589 Evaluation of a univariate polynomial of degree 2. (Contributed by Thierry Arnoux, 22-Jun-2025.)
𝑃 = (Poly1𝑅)    &   𝑂 = (eval1𝑅)    &   𝐾 = (Base‘𝑅)    &   𝑈 = (Base‘𝑃)    &    · = (.r𝑅)    &    + = (+g𝑅)    &    = (.g‘(mulGrp‘𝑅))    &   𝐹 = (coe1𝑀)    &   𝐸 = (deg1𝑅)    &   𝐴 = (𝐹‘2)    &   𝐵 = (𝐹‘1)    &   𝐶 = (𝐹‘0)    &   (𝜑𝑅 ∈ CRing)    &   (𝜑𝑀𝑈)    &   (𝜑 → (𝐸𝑀) = 2)    &   (𝜑𝑋𝐾)       (𝜑 → ((𝑂𝑀)‘𝑋) = ((𝐴 · (2 𝑋)) + ((𝐵 · 𝑋) + 𝐶)))
 
22-Jun-2025ressasclcl 33583 Closure of the univariate polynomial evaluation for scalars. (Contributed by Thierry Arnoux, 22-Jun-2025.)
𝑊 = (Poly1𝑈)    &   𝑈 = (𝑆s 𝑅)    &   𝐴 = (algSc‘𝑊)    &   𝐵 = (Base‘𝑊)    &   (𝜑𝑆 ∈ CRing)    &   (𝜑𝑅 ∈ (SubRing‘𝑆))    &   (𝜑𝑋𝑅)       (𝜑 → (𝐴𝑋) ∈ 𝐵)
 
22-Jun-2025gsumtp 33046 Group sum of an unordered triple. (Contributed by Thierry Arnoux, 22-Jun-2025.)
𝐵 = (Base‘𝐺)    &    + = (+g𝐺)    &   (𝑘 = 𝑀𝐴 = 𝐶)    &   (𝑘 = 𝑁𝐴 = 𝐷)    &   (𝑘 = 𝑂𝐴 = 𝐸)    &   (𝜑𝐺 ∈ CMnd)    &   (𝜑𝑀𝑉)    &   (𝜑𝑁𝑊)    &   (𝜑𝑂𝑋)    &   (𝜑𝑀𝑁)    &   (𝜑𝑁𝑂)    &   (𝜑𝑀𝑂)    &   (𝜑𝐶𝐵)    &   (𝜑𝐷𝐵)    &   (𝜑𝐸𝐵)       (𝜑 → (𝐺 Σg (𝑘 ∈ {𝑀, 𝑁, 𝑂} ↦ 𝐴)) = ((𝐶 + 𝐷) + 𝐸))
 
21-Jun-2025r1peuqusdeg1 35626 Uniqueness of polynomial remainder in terms of a quotient structure in the sense of the right hand side of r1pid2 26191. (Contributed by SN, 21-Jun-2025.)
𝑃 = (Poly1𝑅)    &   𝐼 = ((RSpan‘𝑃)‘{𝐹})    &   𝑇 = (𝑃 /s (𝑃 ~QG 𝐼))    &   𝑄 = (Base‘𝑇)    &   𝑁 = (Unic1p𝑅)    &   𝐷 = (deg1𝑅)    &   (𝜑𝑅 ∈ Domn)    &   (𝜑𝐹𝑁)    &   (𝜑𝑍𝑄)       (𝜑 → ∃!𝑞𝑍 (𝐷𝑞) < (𝐷𝐹))
 
21-Jun-2025df-plfl 35620 Define the field extension that augments a field with the root of the given irreducible polynomial, and extends the norm if one exists and the extension is unique. (Contributed by Mario Carneiro, 2-Dec-2014.) (Revised by Thierry Arnoux and Steven Nguyen, 21-Jun-2025.)
polyFld = (𝑟 ∈ V, 𝑝 ∈ V ↦ (Poly1𝑟) / 𝑠((RSpan‘𝑠)‘{𝑝}) / 𝑖(𝑐 ∈ (Base‘𝑟) ↦ [(𝑐( ·𝑠𝑠)(1r𝑠))](𝑠 ~QG 𝑖)) / 𝑓(𝑠 /s (𝑠 ~QG 𝑖)) / 𝑡((𝑡 toNrmGrp (𝑛 ∈ (AbsVal‘𝑡)(𝑛𝑓) = (norm‘𝑟))) sSet ⟨(le‘ndx), (𝑧 ∈ (Base‘𝑡) ↦ (𝑞𝑧 (𝑞(rem1p𝑟)𝑝) = 𝑞)) / 𝑔(𝑔 ∘ ((le‘𝑠) ∘ 𝑔))⟩), 𝑓⟩)
 
21-Jun-2025idomrcan 33270 Right-cancellation law for integral domains. (Contributed by Thierry Arnoux, 22-Mar-2025.) (Proof shortened by SN, 21-Jun-2025.)
𝐵 = (Base‘𝑅)    &    0 = (0g𝑅)    &    · = (.r𝑅)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)    &   (𝜑𝑍 ∈ (𝐵 ∖ { 0 }))    &   (𝜑𝑅 ∈ IDomn)    &   (𝜑 → (𝑋 · 𝑍) = (𝑌 · 𝑍))       (𝜑𝑋 = 𝑌)
 
21-Jun-2025r1pid2 26191 Identity law for polynomial remainder operation: it leaves a polynomial 𝐴 unchanged iff the degree of 𝐴 is less than the degree of the divisor 𝐵. (Contributed by Thierry Arnoux, 2-Apr-2025.) Generalize to domains. (Revised by SN, 21-Jun-2025.)
𝑃 = (Poly1𝑅)    &   𝑈 = (Base‘𝑃)    &   𝑁 = (Unic1p𝑅)    &   𝐸 = (rem1p𝑅)    &   𝐷 = (deg1𝑅)    &   (𝜑𝑅 ∈ Domn)    &   (𝜑𝐴𝑈)    &   (𝜑𝐵𝑁)       (𝜑 → ((𝐴𝐸𝐵) = 𝐴 ↔ (𝐷𝐴) < (𝐷𝐵)))
 
21-Jun-2025domneq0r 20716 Right multiplication by a nonzero element does not change zeroness in a domain. Compare rrgeq0 20692. (Contributed by SN, 21-Jun-2025.)
𝐵 = (Base‘𝑅)    &    0 = (0g𝑅)    &    · = (.r𝑅)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌 ∈ (𝐵 ∖ { 0 }))    &   (𝜑𝑅 ∈ Domn)       (𝜑 → ((𝑋 · 𝑌) = 0𝑋 = 0 ))
 
21-Jun-2025domnrcan 20715 Right-cancellation law for domains. (Contributed by SN, 21-Jun-2025.)
𝐵 = (Base‘𝑅)    &    0 = (0g𝑅)    &    · = (.r𝑅)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)    &   (𝜑𝑍 ∈ (𝐵 ∖ { 0 }))    &   (𝜑𝑅 ∈ Domn)    &   (𝜑 → (𝑋 · 𝑍) = (𝑌 · 𝑍))       (𝜑𝑋 = 𝑌)
 
21-Jun-2025domnrcanb 20714 Right-cancellation law for domains, biconditional version of domnrcan 20715. (Contributed by SN, 21-Jun-2025.)
𝐵 = (Base‘𝑅)    &    0 = (0g𝑅)    &    · = (.r𝑅)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)    &   (𝜑𝑍 ∈ (𝐵 ∖ { 0 }))    &   (𝜑𝑅 ∈ Domn)       (𝜑 → ((𝑋 · 𝑍) = (𝑌 · 𝑍) ↔ 𝑋 = 𝑌))
 
21-Jun-2025domnlcan 20713 Left-cancellation law for domains. (Contributed by Thierry Arnoux, 22-Mar-2025.) (Proof shortened by SN, 21-Jun-2025.)
𝐵 = (Base‘𝑅)    &    0 = (0g𝑅)    &    · = (.r𝑅)    &   (𝜑𝑋 ∈ (𝐵 ∖ { 0 }))    &   (𝜑𝑌𝐵)    &   (𝜑𝑍𝐵)    &   (𝜑𝑅 ∈ Domn)    &   (𝜑 → (𝑋 · 𝑌) = (𝑋 · 𝑍))       (𝜑𝑌 = 𝑍)
 
21-Jun-2025domnlcanb 20712 Left-cancellation law for domains, biconditional version of domnlcan 20713. (Contributed by Thierry Arnoux, 8-Jun-2025.) Shorten this theorem and domnlcan 20713 overall. (Revised by SN, 21-Jun-2025.)
𝐵 = (Base‘𝑅)    &    0 = (0g𝑅)    &    · = (.r𝑅)    &   (𝜑𝑋 ∈ (𝐵 ∖ { 0 }))    &   (𝜑𝑌𝐵)    &   (𝜑𝑍𝐵)    &   (𝜑𝑅 ∈ Domn)       (𝜑 → ((𝑋 · 𝑌) = (𝑋 · 𝑍) ↔ 𝑌 = 𝑍))
 
21-Jun-2025isdomn2 20703 A ring is a domain iff all nonzero elements are regular elements. (Contributed by Mario Carneiro, 28-Mar-2015.) (Proof shortened by SN, 21-Jun-2025.)
𝐵 = (Base‘𝑅)    &   𝐸 = (RLReg‘𝑅)    &    0 = (0g𝑅)       (𝑅 ∈ Domn ↔ (𝑅 ∈ NzRing ∧ (𝐵 ∖ { 0 }) ⊆ 𝐸))
 
21-Jun-2025nzrpropd 20512 If two structures have the same components (properties), one is a nonzero ring iff the other one is. (Contributed by SN, 21-Jun-2025.)
(𝜑𝐵 = (Base‘𝐾))    &   (𝜑𝐵 = (Base‘𝐿))    &   ((𝜑 ∧ (𝑥𝐵𝑦𝐵)) → (𝑥(+g𝐾)𝑦) = (𝑥(+g𝐿)𝑦))    &   ((𝜑 ∧ (𝑥𝐵𝑦𝐵)) → (𝑥(.r𝐾)𝑦) = (𝑥(.r𝐿)𝑦))       (𝜑 → (𝐾 ∈ NzRing ↔ 𝐿 ∈ NzRing))
 
20-Jun-2025opprablb 42501 A class is an Abelian group if and only if its opposite (ring) is an Abelian group. (Contributed by SN, 20-Jun-2025.)
𝑂 = (oppr𝑅)       (𝑅 ∈ Abel ↔ 𝑂 ∈ Abel)
 
20-Jun-2025opprgrpb 42500 A class is a group if and only if its opposite (ring) is a group. (Contributed by SN, 20-Jun-2025.)
𝑂 = (oppr𝑅)       (𝑅 ∈ Grp ↔ 𝑂 ∈ Grp)
 
20-Jun-2025opprmndb 42499 A class is a monoid if and only if its opposite (ring) is a monoid. (Contributed by SN, 20-Jun-2025.)
𝑂 = (oppr𝑅)       (𝑅 ∈ Mnd ↔ 𝑂 ∈ Mnd)
 
20-Jun-2025ply1divalg3 35625 Uniqueness of polynomial remainder: convert the subtraction in ply1divalg2 26168 to addition. (Contributed by SN, 20-Jun-2025.)
𝑃 = (Poly1𝑅)    &   𝐷 = (deg1𝑅)    &   𝐵 = (Base‘𝑃)    &    + = (+g𝑃)    &    = (.r𝑃)    &   𝐶 = (Unic1p𝑅)    &   (𝜑𝑅 ∈ Ring)    &   (𝜑𝐹𝐵)    &   (𝜑𝐺𝐶)       (𝜑 → ∃!𝑞𝐵 (𝐷‘(𝐹 + (𝑞 𝐺))) < (𝐷𝐺))
 
20-Jun-2025rexxfr3d 35621 Transfer existential quantification from a variable 𝑥 to another variable 𝑦 contained in expression 𝐴. (Contributed by SN, 20-Jun-2025.)
(𝑥 = 𝑋 → (𝜓𝜒))    &   (𝜑 → (𝑥𝐴 ↔ ∃𝑦𝐵 𝑥 = 𝑋))    &   (𝜑𝑋𝑉)       (𝜑 → (∃𝑥𝐴 𝜓 ↔ ∃𝑦𝐵 𝜒))
 
20-Jun-2025isdomn4r 20711 A ring is a domain iff it is nonzero and the right cancellation law for multiplication holds. (Contributed by SN, 20-Jun-2025.)
𝐵 = (Base‘𝑅)    &    0 = (0g𝑅)    &    · = (.r𝑅)       (𝑅 ∈ Domn ↔ (𝑅 ∈ NzRing ∧ ∀𝑎𝐵𝑏𝐵𝑐 ∈ (𝐵 ∖ { 0 })((𝑎 · 𝑐) = (𝑏 · 𝑐) → 𝑎 = 𝑏)))
 
20-Jun-2025opprnzrb 20513 The opposite of a nonzero ring is nonzero, bidirectional form of opprnzr 20514. (Contributed by SN, 20-Jun-2025.)
𝑂 = (oppr𝑅)       (𝑅 ∈ NzRing ↔ 𝑂 ∈ NzRing)
 
20-Jun-2025fodomfi 9346 An onto function implies dominance of domain over range, for finite sets. Unlike fodomg 10558 for arbitrary sets, this theorem does not require the Axiom of Replacement nor the Axiom of Power Sets nor the Axiom of Choice for its proof. (Contributed by NM, 23-Mar-2006.) (Proof shortened by Mario Carneiro, 16-Nov-2014.) Avoid ax-pow 5363. (Revised by BTernaryTau, 20-Jun-2025.)
((𝐴 ∈ Fin ∧ 𝐹:𝐴onto𝐵) → 𝐵𝐴)
 
20-Jun-2025ru 3785 Russell's Paradox. Proposition 4.14 of [TakeutiZaring] p. 14.

In the late 1800s, Frege's Axiom of (unrestricted) Comprehension, expressed in our notation as 𝐴 ∈ V, asserted that any collection of sets 𝐴 is a set i.e. belongs to the universe V of all sets. In particular, by substituting {𝑥𝑥𝑥} (the "Russell class") for 𝐴, it asserted {𝑥𝑥𝑥} ∈ V, meaning that the "collection of all sets which are not members of themselves" is a set. However, here we prove {𝑥𝑥𝑥} ∉ V. This contradiction was discovered by Russell in 1901 (published in 1903), invalidating the Comprehension Axiom and leading to the collapse of Frege's system, which Frege acknowledged in the second edition of his Grundgesetze der Arithmetik.

In 1908, Zermelo rectified this fatal flaw by replacing Comprehension with a weaker Subset (or Separation) Axiom ssex 5319 asserting that 𝐴 is a set only when it is smaller than some other set 𝐵. However, Zermelo was then faced with a "chicken and egg" problem of how to show 𝐵 is a set, leading him to introduce the set-building axioms of Null Set 0ex 5305, Pairing prex 5435, Union uniex 7757, Power Set pwex 5378, and Infinity omex 9679 to give him some starting sets to work with (all of which, before Russell's Paradox, were immediate consequences of Frege's Comprehension). In 1922 Fraenkel strengthened the Subset Axiom with our present Replacement Axiom funimaex 6653 (whose modern formalization is due to Skolem, also in 1922). Thus, in a very real sense Russell's Paradox spawned the invention of ZF set theory and completely revised the foundations of mathematics!

Another mainstream formalization of set theory, devised by von Neumann, Bernays, and Goedel, uses class variables rather than setvar variables as its primitives. The axiom system NBG in [Mendelson] p. 225 is suitable for a Metamath encoding. NBG is a conservative extension of ZF in that it proves exactly the same theorems as ZF that are expressible in the language of ZF. An advantage of NBG is that it is finitely axiomatizable - the Axiom of Replacement can be broken down into a finite set of formulas that eliminate its wff metavariable. Finite axiomatizability is required by some proof languages (although not by Metamath). There is a stronger version of NBG called Morse-Kelley (axiom system MK in [Mendelson] p. 287).

Russell himself continued in a different direction, avoiding the paradox with his "theory of types". Quine extended Russell's ideas to formulate his New Foundations set theory (axiom system NF of [Quine] p. 331). In NF, the collection of all sets is a set, contrarily to ZF and NBG set theories. Russell's paradox has other consequences: when classes are too large (beyond the size of those used in standard mathematics), the axiom of choice ac4 10511 and Cantor's theorem canth 7383 are provably false. (See ncanth 7384 for some intuition behind the latter.) Recent results (as of 2014) seem to show that NF is equiconsistent to Z (ZF in which ax-sep 5294 replaces ax-rep 5277) with ax-sep 5294 restricted to only bounded quantifiers. NF is finitely axiomatizable and can be encoded in Metamath using the axioms from T. Hailperin, "A set of axioms for logic", J. Symb. Logic 9:1-19 (1944).

Under our ZF set theory, every set is a member of the Russell class by elirrv 9632 (derived from the Axiom of Regularity), so for us the Russell class equals the universe V (Theorem ruv 9638). See ruALT 9639 for an alternate proof of ru 3785 derived from that fact. (Contributed by NM, 7-Aug-1994.) Remove use of ax-13 2376. (Revised by BJ, 12-Oct-2019.) Remove use of ax-10 2141, ax-11 2157, and ax-12 2177. (Revised by BTernaryTau, 20-Jun-2025.) (Proof modification is discouraged.)

{𝑥𝑥𝑥} ∉ V
 
20-Jun-2025vtocl 3557 Implicit substitution of a class for a setvar variable. (Contributed by NM, 30-Aug-1993.) Remove dependency on ax-10 2141. (Revised by BJ, 29-Nov-2020.) (Proof shortened by SN, 20-Apr-2024.) (Proof shortened by Wolf Lammen, 20-Jun-2025.)
𝐴 ∈ V    &   (𝑥 = 𝐴 → (𝜑𝜓))    &   𝜑       𝜓
 
19-Jun-2025ellcsrspsn 35624 Membership in a left coset in a quotient of a ring by the span of a singleton (that is, by the ideal generated by an element). This characterization comes from eqglact 19193 and elrspsn 21242. (Contributed by SN, 19-Jun-2025.)
𝐵 = (Base‘𝑅)    &    + = (+g𝑅)    &    · = (.r𝑅)    &    = (𝑅 ~QG 𝐼)    &   𝑈 = (𝑅 /s )    &   𝐼 = ((RSpan‘𝑅)‘{𝑀})    &   (𝜑𝑅 ∈ Ring)    &   (𝜑𝑀𝐵)    &   (𝜑𝑋 ∈ (Base‘𝑈))       (𝜑 → ∃𝑥𝐵 (𝑋 = [𝑥] 𝑋 = {𝑧 ∣ ∃𝑦𝐵 𝑧 = (𝑥 + (𝑦 · 𝑀))}))
 
19-Jun-2025rspssbasd 35623 The span of a set of ring elements is a set of ring elements. (Contributed by SN, 19-Jun-2025.)
𝐾 = (RSpan‘𝑅)    &   𝐵 = (Base‘𝑅)    &   (𝜑𝑅 ∈ Ring)    &   (𝜑𝐺𝐵)       (𝜑 → (𝐾𝐺) ⊆ 𝐵)
 
19-Jun-2025rexxfr3dALT 35622 Longer proof of rexxfr3d 35621 using ax-11 2157 instead of ax-12 2177, without the disjoint variable condition 𝐴𝑥𝑦. (Contributed by SN, 19-Jun-2025.) (Proof modification is discouraged.) (New usage is discouraged.)
(𝑥 = 𝑋 → (𝜓𝜒))    &   (𝜑 → (𝑥𝐴 ↔ ∃𝑦𝐵 𝑥 = 𝑋))    &   (𝜑𝑋𝑉)       (𝜑 → (∃𝑥𝐴 𝜓 ↔ ∃𝑦𝐵 𝜒))
 
19-Jun-2025fldext2chn 33750 In a non-empty tower 𝑇 of quadratic field extensions, the degree of the extension of the first member by the last is a power of two. (Contributed by Thierry Arnoux, 19-Jun-2025.)
< = {⟨𝑓, 𝑒⟩ ∣ (𝑒/FldExt𝑓 ∧ (𝑒[:]𝑓) = 2)}    &   (𝜑𝑇 ∈ ( < ChainField))    &   (𝜑 → (𝑇‘0) = 𝑄)    &   (𝜑 → (lastS‘𝑇) = 𝐹)    &   (𝜑 → 0 < (♯‘𝑇))       (𝜑 → ∃𝑛 ∈ ℕ0 (𝐹[:]𝑄) = (2↑𝑛))
 
19-Jun-2025chnso 32990 A chain induces a total order. (Contributed by Thierry Arnoux, 19-Jun-2025.)
(( < Po 𝐴𝐶 ∈ ( < Chain𝐴)) → < Or ran 𝐶)
 
19-Jun-2025chnlt 32989 Compare any two elements in a chain. (Contributed by Thierry Arnoux, 19-Jun-2025.)
(𝜑< Po 𝐴)    &   (𝜑𝐶 ∈ ( < Chain𝐴))    &   (𝜑𝐽 ∈ (0..^(♯‘𝐶)))    &   (𝜑𝐼 ∈ (0..^𝐽))       (𝜑 → (𝐶𝐼) < (𝐶𝐽))
 
19-Jun-2025chnub 32988 In a chain, the last element is an upper bound. (Contributed by Thierry Arnoux, 19-Jun-2025.)
(𝜑< Po 𝐴)    &   (𝜑𝐶 ∈ ( < Chain𝐴))    &   (𝜑𝐼 ∈ (0..^((♯‘𝐶) − 1)))       (𝜑 → (𝐶𝐼) < (lastS‘𝐶))
 
19-Jun-2025chnind 32987 Induction over a chain. See nnind 12280 for an explanation about the hypotheses. (Contributed by Thierry Arnoux, 19-Jun-2025.)
(𝑐 = ∅ → (𝜓𝜒))    &   (𝑐 = 𝑑 → (𝜓𝜃))    &   (𝑐 = (𝑑 ++ ⟨“𝑥”⟩) → (𝜓𝜏))    &   (𝑐 = 𝐶 → (𝜓𝜂))    &   (𝜑𝐶 ∈ ( < Chain𝐴))    &   (𝜑𝜒)    &   (((((𝜑𝑑 ∈ ( < Chain𝐴)) ∧ 𝑥𝐴) ∧ (𝑑 = ∅ ∨ (lastS‘𝑑) < 𝑥)) ∧ 𝜃) → 𝜏)       (𝜑𝜂)
 
19-Jun-2025pfxchn 32986 A prefix of a chain is still a chain. (Contributed by Thierry Arnoux, 19-Jun-2025.)
(𝜑𝐶 ∈ ( < Chain𝐴))    &   (𝜑𝐿 ∈ (0...(♯‘𝐶)))       (𝜑 → (𝐶 prefix 𝐿) ∈ ( < Chain𝐴))
 
19-Jun-2025chnltm1 32985 Basic property of a chain. (Contributed by Thierry Arnoux, 19-Jun-2025.)
(𝜑𝐶 ∈ ( < Chain𝐴))    &   (𝜑𝑁 ∈ (dom 𝐶 ∖ {0}))       (𝜑 → (𝐶‘(𝑁 − 1)) < (𝐶𝑁))
 
19-Jun-2025chnwrd 32984 A chain is an ordered sequence, i.e. a word. (Contributed by Thierry Arnoux, 19-Jun-2025.)
(𝜑𝐶 ∈ ( < Chain𝐴))       (𝜑𝐶 ∈ Word 𝐴)
 
19-Jun-2025ischn 32983 Property of being a chain. (Contributed by Thierry Arnoux, 19-Jun-2025.)
(𝐶 ∈ ( < Chain𝐴) ↔ (𝐶 ∈ Word 𝐴 ∧ ∀𝑛 ∈ (dom 𝐶 ∖ {0})(𝐶‘(𝑛 − 1)) < (𝐶𝑛)))
 
19-Jun-2025df-chn 32982 Define the class of (finite) chains. A chain is defined to be a sequence of objects, where each object is less than the next one in the sequence. The term "chain" is usually used in order theory. In the context of algebra, chains are often called "towers", for example for fields, or "series", for example for subgroup or subnormal series. (Contributed by Thierry Arnoux, 19-Jun-2025.)
( < Chain𝐴) = {𝑐 ∈ Word 𝐴 ∣ ∀𝑛 ∈ (dom 𝑐 ∖ {0})(𝑐‘(𝑛 − 1)) < (𝑐𝑛)}
 
19-Jun-2025ccatdmss 32921 The domain of a concatenated word is a superset of the domain of the first word. (Contributed by Thierry Arnoux, 19-Jun-2025.)
(𝜑𝐴 ∈ Word 𝑆)    &   (𝜑𝐵 ∈ Word 𝑆)       (𝜑 → dom 𝐴 ⊆ dom (𝐴 ++ 𝐵))
 
17-Jun-2025aks5lem5a 42170 Lemma for AKS, section 5, connect to Theorem 6.1. (Contributed by metakunt, 17-Jun-2025.)
(𝜑𝐾 ∈ Field)    &   𝑃 = (chr‘𝐾)    &   (𝜑 → (𝑃 ∈ ℙ ∧ 𝑁 ∈ ℕ ∧ 𝑃𝑁))    &   𝐵 = (𝑆 /s (𝑆 ~QG 𝐿))    &   𝐿 = ((RSpan‘𝑆)‘{((𝑅(.g‘(mulGrp‘𝑆))(var1‘(ℤ/nℤ‘𝑁)))(-g𝑆)(1r𝑆))})    &   (𝜑𝑅 ∈ ℕ)    &    = {⟨𝑒, 𝑓⟩ ∣ (𝑒 ∈ ℕ ∧ 𝑓 ∈ (Base‘(Poly1𝐾)) ∧ ∀𝑦 ∈ ((mulGrp‘𝐾) PrimRoots 𝑅)(𝑒(.g‘(mulGrp‘𝐾))(((eval1𝐾)‘𝑓)‘𝑦)) = (((eval1𝐾)‘𝑓)‘(𝑒(.g‘(mulGrp‘𝐾))𝑦)))}    &   𝑆 = (Poly1‘(ℤ/nℤ‘𝑁))    &   (𝜑 → ∀𝑎 ∈ (1...𝐴)[(𝑁(.g‘(mulGrp‘𝑆))((var1‘(ℤ/nℤ‘𝑁))(+g𝑆)((ℤRHom‘𝑆)‘𝑎)))](𝑆 ~QG 𝐿) = [((𝑁(.g‘(mulGrp‘𝑆))(var1‘(ℤ/nℤ‘𝑁)))(+g𝑆)((ℤRHom‘𝑆)‘𝑎))](𝑆 ~QG 𝐿))       (𝜑 → ∀𝑎 ∈ (1...𝐴)𝑁 ((var1𝐾)(+g‘(Poly1𝐾))((algSc‘(Poly1𝐾))‘((ℤRHom‘𝐾)‘𝑎))))
 
17-Jun-2025aks5lem4a 42169 Lemma for AKS section 5, reduce hypotheses. (Contributed by metakunt, 17-Jun-2025.)
(𝜑𝐾 ∈ Field)    &   𝑃 = (chr‘𝐾)    &   (𝜑 → (𝑃 ∈ ℙ ∧ 𝑁 ∈ ℕ ∧ 𝑃𝑁))    &   𝐵 = (𝑆 /s (𝑆 ~QG 𝐿))    &   𝐿 = ((RSpan‘𝑆)‘{((𝑅(.g‘(mulGrp‘𝑆))(var1‘(ℤ/nℤ‘𝑁)))(-g𝑆)(1r𝑆))})    &   (𝜑𝑅 ∈ ℕ)    &    = {⟨𝑒, 𝑓⟩ ∣ (𝑒 ∈ ℕ ∧ 𝑓 ∈ (Base‘(Poly1𝐾)) ∧ ∀𝑦 ∈ ((mulGrp‘𝐾) PrimRoots 𝑅)(𝑒(.g‘(mulGrp‘𝐾))(((eval1𝐾)‘𝑓)‘𝑦)) = (((eval1𝐾)‘𝑓)‘(𝑒(.g‘(mulGrp‘𝐾))𝑦)))}    &   𝑆 = (Poly1‘(ℤ/nℤ‘𝑁))    &   (𝜑𝑀 ∈ ((mulGrp‘𝐾) PrimRoots 𝑅))    &   (𝜑𝐴 ∈ ℤ)    &   (𝜑 → [(𝑁(.g‘(mulGrp‘𝑆))((var1‘(ℤ/nℤ‘𝑁))(+g𝑆)((algSc‘𝑆)‘((ℤRHom‘(ℤ/nℤ‘𝑁))‘𝐴))))](𝑆 ~QG 𝐿) = [((𝑁(.g‘(mulGrp‘𝑆))(var1‘(ℤ/nℤ‘𝑁)))(+g𝑆)((algSc‘𝑆)‘((ℤRHom‘(ℤ/nℤ‘𝑁))‘𝐴)))](𝑆 ~QG 𝐿))       (𝜑 → (𝑁(.g‘(mulGrp‘𝐾))(((eval1𝐾)‘((var1𝐾)(+g‘(Poly1𝐾))((algSc‘(Poly1𝐾))‘((ℤRHom‘𝐾)‘𝐴))))‘𝑀)) = (((eval1𝐾)‘((var1𝐾)(+g‘(Poly1𝐾))((algSc‘(Poly1𝐾))‘((ℤRHom‘𝐾)‘𝐴))))‘(𝑁(.g‘(mulGrp‘𝐾))𝑀)))
 
17-Jun-2025aks5lem3a 42168 Lemma for AKS section 5. (Contributed by metakunt, 17-Jun-2025.)
(𝜑𝐾 ∈ Field)    &   𝑃 = (chr‘𝐾)    &   (𝜑 → (𝑃 ∈ ℙ ∧ 𝑁 ∈ ℕ ∧ 𝑃𝑁))    &   𝐵 = (𝑆 /s (𝑆 ~QG 𝐿))    &   𝐿 = ((RSpan‘𝑆)‘{((𝑅(.g‘(mulGrp‘𝑆))(var1‘(ℤ/nℤ‘𝑁)))(-g𝑆)(1r𝑆))})    &   (𝜑𝑅 ∈ ℕ)    &    = {⟨𝑒, 𝑓⟩ ∣ (𝑒 ∈ ℕ ∧ 𝑓 ∈ (Base‘(Poly1𝐾)) ∧ ∀𝑦 ∈ ((mulGrp‘𝐾) PrimRoots 𝑅)(𝑒(.g‘(mulGrp‘𝐾))(((eval1𝐾)‘𝑓)‘𝑦)) = (((eval1𝐾)‘𝑓)‘(𝑒(.g‘(mulGrp‘𝐾))𝑦)))}    &   𝑆 = (Poly1‘(ℤ/nℤ‘𝑁))    &   𝐹 = (𝑝 ∈ (Base‘(Poly1‘(ℤ/nℤ‘𝑁))) ↦ (𝐺𝑝))    &   𝐺 = (𝑞 ∈ (Base‘(ℤ/nℤ‘𝑁)) ↦ ((ℤRHom‘𝐾) “ 𝑞))    &   𝐻 = (𝑟 ∈ (Base‘(Poly1𝐾)) ↦ (((eval1𝐾)‘𝑟)‘𝑀))    &   (𝜑𝑀 ∈ ((mulGrp‘𝐾) PrimRoots 𝑅))    &   𝐼 = (𝑠 ∈ (Base‘𝐵) ↦ ((𝐻𝐹) “ 𝑠))    &   (𝜑𝐴 ∈ ℤ)    &   (𝜑 → [(𝑁(.g‘(mulGrp‘𝑆))((var1‘(ℤ/nℤ‘𝑁))(+g𝑆)((algSc‘𝑆)‘((ℤRHom‘(ℤ/nℤ‘𝑁))‘𝐴))))](𝑆 ~QG 𝐿) = [((𝑁(.g‘(mulGrp‘𝑆))(var1‘(ℤ/nℤ‘𝑁)))(+g𝑆)((algSc‘𝑆)‘((ℤRHom‘(ℤ/nℤ‘𝑁))‘𝐴)))](𝑆 ~QG 𝐿))       (𝜑 → (𝑁(.g‘(mulGrp‘𝐾))(((eval1𝐾)‘((var1𝐾)(+g‘(Poly1𝐾))((algSc‘(Poly1𝐾))‘((ℤRHom‘𝐾)‘𝐴))))‘𝑀)) = (((eval1𝐾)‘((var1𝐾)(+g‘(Poly1𝐾))((algSc‘(Poly1𝐾))‘((ℤRHom‘𝐾)‘𝐴))))‘(𝑁(.g‘(mulGrp‘𝐾))𝑀)))
 
17-Jun-2025ply1asclzrhval 42167 Transfer results from algebraic scalars and ZR ring homomorphisms. (Contributed by metakunt, 17-Jun-2025.)
𝑊 = (Poly1𝑅)    &   𝐴 = (algSc‘𝑊)    &   𝐵 = (ℤRHom‘𝑊)    &   𝐶 = (ℤRHom‘𝑅)    &   (𝜑𝑅 ∈ CRing)    &   (𝜑𝑋 ∈ ℤ)       (𝜑 → (𝐴‘(𝐶𝑋)) = (𝐵𝑋))
 
16-Jun-2025mapex 7959 The class of all functions mapping one set to another is a set. Remark after Definition 10.24 of [Kunen] p. 31. (Contributed by Raph Levien, 4-Dec-2003.) (Proof shortened by AV, 16-Jun-2025.)
((𝐴𝐶𝐵𝐷) → {𝑓𝑓:𝐴𝐵} ∈ V)
 
14-Jun-20252sqr3minply 33769 The polynomial ((𝑋↑3) − 2) is the minimal polynomial for (2↑𝑐(1 / 3)) over , and its degree is 3. (Contributed by Thierry Arnoux, 14-Jun-2025.)
𝑄 = (ℂflds ℚ)    &    = (-g𝑃)    &    = (.g‘(mulGrp‘𝑃))    &   𝑃 = (Poly1𝑄)    &   𝐾 = (algSc‘𝑃)    &   𝑋 = (var1𝑄)    &   𝐷 = (deg1𝑄)    &   𝐹 = ((3 𝑋) (𝐾‘2))    &   𝐴 = (2↑𝑐(1 / 3))    &   𝑀 = (ℂfld minPoly ℚ)       (𝐹 = (𝑀𝐴) ∧ (𝐷𝐹) = 3)
 
14-Jun-2025evl1deg3 33590 Evaluation of a univariate polynomial of degree 3. (Contributed by Thierry Arnoux, 14-Jun-2025.)
𝑃 = (Poly1𝑅)    &   𝑂 = (eval1𝑅)    &   𝐾 = (Base‘𝑅)    &   𝑈 = (Base‘𝑃)    &    · = (.r𝑅)    &    + = (+g𝑅)    &    = (.g‘(mulGrp‘𝑅))    &   𝐹 = (coe1𝑀)    &   𝐸 = (deg1𝑅)    &   𝐴 = (𝐹‘3)    &   𝐵 = (𝐹‘2)    &   𝐶 = (𝐹‘1)    &   𝐷 = (𝐹‘0)    &   (𝜑𝑅 ∈ CRing)    &   (𝜑𝑀𝑈)    &   (𝜑 → (𝐸𝑀) = 3)    &   (𝜑𝑋𝐾)       (𝜑 → ((𝑂𝑀)‘𝑋) = (((𝐴 · (3 𝑋)) + (𝐵 · (2 𝑋))) + ((𝐶 · 𝑋) + 𝐷)))
 
14-Jun-2025df-ufd 33554 Define the class of unique factorization domains. A unique factorization domain (UFD for short), is an integral domain such that every nonzero prime ideal contains a prime element (this is a characterization due to Irving Kaplansky). A UFD is sometimes also called a "factorial ring" following the terminology of Bourbaki. (Contributed by Mario Carneiro, 17-Feb-2015.) Exclude the 0 prime ideal. (Revised by Thierry Arnoux, 9-May-2025.) Exclude the 0 ring. (Revised by Thierry Arnoux, 14-Jun-2025.)
UFD = {𝑟 ∈ IDomn ∣ ∀𝑖 ∈ ((PrmIdeal‘𝑟) ∖ {{(0g𝑟)}})(𝑖 ∩ (RPrime‘𝑟)) ≠ ∅}

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]