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 6-Dec-2025 at 5:35 AM ET.
Recent Additions to the Metamath Proof Explorer   Notes (last updated 7-Dec-2020 )
DateLabelDescription
Theorem
 
30-Nov-2025eluz3nn 12854 An integer greater than or equal to 3 is a positive integer. (Contributed by Alexander van der Vekens, 17-Sep-2018.) (Proof shortened by AV, 30-Nov-2025.)
(𝑁 ∈ (ℤ‘3) → 𝑁 ∈ ℕ)
 
27-Nov-2025difmodm1lt 47350 The difference between an integer modulo a positive integer and the integer decreased by 1 modulo the same modulus is less than the modulus decreased by 1 (if the modulus is greater than 2). This theorem would not be valid for an odd 𝐴 and 𝑁 = 2, since ((𝐴 mod 𝑁) − ((𝐴 − 1) mod 𝑁)) would be (1 − 0) = 1 which is not less than (𝑁 − 1) = 1. (Contributed by AV, 6-Jun-2012.) (Proof shortened by SN, 27-Nov-2025.)
((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ ∧ 2 < 𝑁) → ((𝐴 mod 𝑁) − ((𝐴 − 1) mod 𝑁)) < (𝑁 − 1))
 
26-Nov-2025cmdlan 49651 To each colimit of a diagram there is a corresponding left Kan extention of the diagram along a functor to a terminal category. The morphism parts coincide, while the object parts are one-to-one correspondent (diag1f1o 49513). (Contributed by Zhi Wang, 26-Nov-2025.)
(𝜑1 ∈ TermCat)    &   (𝜑𝐺 ∈ (𝐷 Func 1 ))    &   𝐿 = (𝐶Δfunc 1 )    &   (𝜑𝑌 = ((1st𝐿)‘𝑋))       (𝜑 → (𝑋((𝐶 Colimit 𝐷)‘𝐹)𝑀𝑌(𝐺(⟨𝐷, 1 ⟩ Lan 𝐶)𝐹)𝑀))
 
26-Nov-2025lmdran 49650 To each limit of a diagram there is a corresponding right Kan extention of the diagram along a functor to a terminal category. The morphism parts coincide, while the object parts are one-to-one correspondent (diag1f1o 49513). (Contributed by Zhi Wang, 26-Nov-2025.)
(𝜑1 ∈ TermCat)    &   (𝜑𝐺 ∈ (𝐷 Func 1 ))    &   𝐿 = (𝐶Δfunc 1 )    &   (𝜑𝑌 = ((1st𝐿)‘𝑋))       (𝜑 → (𝑋((𝐶 Limit 𝐷)‘𝐹)𝑀𝑌(𝐺(⟨𝐷, 1 ⟩ Ran 𝐶)𝐹)𝑀))
 
26-Nov-2025ranval3 49610 The set of right Kan extensions is the set of universal pairs. (Contributed by Zhi Wang, 26-Nov-2025.)
𝑂 = (oppCat‘(𝐷 FuncCat 𝐸))    &   𝑃 = (oppCat‘(𝐶 FuncCat 𝐸))    &   𝐾 = (⟨𝐷, 𝐸⟩ −∘F 𝐹)       (𝐹 ∈ (𝐶 Func 𝐷) → (𝐹(⟨𝐶, 𝐷⟩ Ran 𝐸)𝑋) = (( oppFunc ‘𝐾)(𝑂 UP 𝑃)𝑋))
 
26-Nov-2025ffthoppf 49144 The opposite functor of a fully faithful functor is also full and faithful. (Contributed by Zhi Wang, 26-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   (𝜑𝐹 ∈ ((𝐶 Full 𝐷) ∩ (𝐶 Faith 𝐷)))       (𝜑 → ( oppFunc ‘𝐹) ∈ ((𝑂 Full 𝑃) ∩ (𝑂 Faith 𝑃)))
 
26-Nov-2025fthoppf 49143 The opposite functor of a faithful functor is also faithful. Proposition 3.43(c) in [Adamek] p. 39. (Contributed by Zhi Wang, 26-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   (𝜑𝐹 ∈ (𝐶 Faith 𝐷))       (𝜑 → ( oppFunc ‘𝐹) ∈ (𝑂 Faith 𝑃))
 
26-Nov-2025fulloppf 49142 The opposite functor of a full functor is also full. Proposition 3.43(d) in [Adamek] p. 39. (Contributed by Zhi Wang, 26-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   (𝜑𝐹 ∈ (𝐶 Full 𝐷))       (𝜑 → ( oppFunc ‘𝐹) ∈ (𝑂 Full 𝑃))
 
26-Nov-2025cofuoppf 49129 Composition of opposite functors. (Contributed by Zhi Wang, 26-Nov-2025.)
(𝜑 → (𝐺func 𝐹) = 𝐾)    &   (𝜑𝐹 ∈ (𝐶 Func 𝐷))    &   (𝜑𝐺 ∈ (𝐷 Func 𝐸))       (𝜑 → (( oppFunc ‘𝐺) ∘func ( oppFunc ‘𝐹)) = ( oppFunc ‘𝐾))
 
26-Nov-2025mullt0b2d 42467 When the second term is negative, the first term is positive iff the product is negative. (Contributed by SN, 26-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐵 ∈ ℝ)    &   (𝜑𝐵 < 0)       (𝜑 → (0 < 𝐴 ↔ (𝐴 · 𝐵) < 0))
 
26-Nov-2025mullt0b1d 42466 When the first term is negative, the second term is positive iff the product is negative. (Contributed by SN, 26-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐵 ∈ ℝ)    &   (𝜑𝐴 < 0)       (𝜑 → (0 < 𝐵 ↔ (𝐴 · 𝐵) < 0))
 
26-Nov-2025mulltgt0d 42465 Negative times positive is negative. (Contributed by SN, 26-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐵 ∈ ℝ)    &   (𝜑𝐴 < 0)    &   (𝜑 → 0 < 𝐵)       (𝜑 → (𝐴 · 𝐵) < 0)
 
26-Nov-2025sn-reclt0d 42464 The reciprocal of a negative real is negative. (Contributed by SN, 26-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐴 < 0)       (𝜑 → (1 / 𝐴) < 0)
 
26-Nov-2025sn-recgt0d 42460 The reciprocal of a positive real is positive. (Contributed by SN, 26-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑 → 0 < 𝐴)       (𝜑 → 0 < (1 / 𝐴))
 
25-Nov-2025prcofdiag 49373 A diagonal functor post-composed by a pre-composition functor is another diagonal functor. (Contributed by Zhi Wang, 25-Nov-2025.)
𝐿 = (𝐶Δfunc𝐷)    &   𝑀 = (𝐶Δfunc𝐸)    &   (𝜑𝐹 ∈ (𝐸 Func 𝐷))    &   (𝜑𝐶 ∈ Cat)    &   (𝜑 → (⟨𝐷, 𝐶⟩ −∘F 𝐹) = 𝐺)       (𝜑 → (𝐺func 𝐿) = 𝑀)
 
25-Nov-2025prcofdiag1 49372 A constant functor pre-composed by a functor is another constant functor. (Contributed by Zhi Wang, 25-Nov-2025.)
𝐿 = (𝐶Δfunc𝐷)    &   𝑀 = (𝐶Δfunc𝐸)    &   (𝜑𝐹 ∈ (𝐸 Func 𝐷))    &   (𝜑𝐶 ∈ Cat)    &   𝐵 = (Base‘𝐶)    &   (𝜑𝑋𝐵)       (𝜑 → (((1st𝐿)‘𝑋) ∘func 𝐹) = ((1st𝑀)‘𝑋))
 
25-Nov-2025uptr2a 49201 Universal property and fully faithful functor surjective on objects. (Contributed by Zhi Wang, 25-Nov-2025.)
𝐴 = (Base‘𝐶)    &   𝐵 = (Base‘𝐷)    &   (𝜑𝑌 = ((1st𝐾)‘𝑋))    &   (𝜑 → (𝐺func 𝐾) = 𝐹)    &   (𝜑𝑋𝐴)    &   (𝜑𝐺 ∈ (𝐷 Func 𝐸))    &   (𝜑𝐾 ∈ ((𝐶 Full 𝐷) ∩ (𝐶 Faith 𝐷)))    &   (𝜑 → (1st𝐾):𝐴onto𝐵)       (𝜑 → (𝑋(𝐹(𝐶 UP 𝐸)𝑍)𝑀𝑌(𝐺(𝐷 UP 𝐸)𝑍)𝑀))
 
25-Nov-2025uptr2 49200 Universal property and fully faithful functor surjective on objects. (Contributed by Zhi Wang, 25-Nov-2025.)
𝐴 = (Base‘𝐶)    &   𝐵 = (Base‘𝐷)    &   (𝜑𝑌 = (𝑅𝑋))    &   (𝜑𝑅:𝐴onto𝐵)    &   (𝜑𝑅((𝐶 Full 𝐷) ∩ (𝐶 Faith 𝐷))𝑆)    &   (𝜑 → (⟨𝐾, 𝐿⟩ ∘func𝑅, 𝑆⟩) = ⟨𝐹, 𝐺⟩)    &   (𝜑𝑋𝐴)    &   (𝜑𝐾(𝐷 Func 𝐸)𝐿)       (𝜑 → (𝑋(⟨𝐹, 𝐺⟩(𝐶 UP 𝐸)𝑍)𝑀𝑌(⟨𝐾, 𝐿⟩(𝐷 UP 𝐸)𝑍)𝑀))
 
25-Nov-2025xpco2 48835 Composition of a Cartesian product with a function. (Contributed by Zhi Wang, 25-Nov-2025.)
(𝐹:𝐴𝐵 → ((𝐵 × 𝐶) ∘ 𝐹) = (𝐴 × 𝐶))
 
25-Nov-2025ffvbr 48834 Relation with function value. (Contributed by Zhi Wang, 25-Nov-2025.)
((𝐹:𝐴𝐵𝑋𝐴) → 𝑋𝐹(𝐹𝑋))
 
25-Nov-2025rerecid2 42433 Multiplication of a number and its reciprocal. (Contributed by SN, 25-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐴 ≠ 0)       (𝜑 → ((1 / 𝐴) · 𝐴) = 1)
 
25-Nov-2025rerecid 42432 Multiplication of a number and its reciprocal. (Contributed by SN, 25-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐴 ≠ 0)       (𝜑 → (𝐴 · (1 / 𝐴)) = 1)
 
25-Nov-2025sn-rereccld 42431 Closure law for reciprocal. (Contributed by SN, 25-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐴 ≠ 0)       (𝜑 → (1 / 𝐴) ∈ ℝ)
 
25-Nov-2025redivcan3d 42430 A cancellation law for division. (Contributed by SN, 25-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐵 ∈ ℝ)    &   (𝜑𝐵 ≠ 0)       (𝜑 → ((𝐵 · 𝐴) / 𝐵) = 𝐴)
 
25-Nov-2025redivcan2d 42429 A cancellation law for division. (Contributed by SN, 25-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐵 ∈ ℝ)    &   (𝜑𝐵 ≠ 0)       (𝜑 → (𝐵 · (𝐴 / 𝐵)) = 𝐴)
 
25-Nov-2025redivmuld 42428 Relationship between division and multiplication. (Contributed by SN, 25-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐵 ∈ ℝ)    &   (𝜑𝐶 ∈ ℝ)    &   (𝜑𝐶 ≠ 0)       (𝜑 → ((𝐴 / 𝐶) = 𝐵 ↔ (𝐶 · 𝐵) = 𝐴))
 
25-Nov-2025sn-redivcld 42427 Closure law for real division. (Contributed by SN, 25-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐵 ∈ ℝ)    &   (𝜑𝐵 ≠ 0)       (𝜑 → (𝐴 / 𝐵) ∈ ℝ)
 
25-Nov-2025rediveud 42426 Existential uniqueness of real quotients. (Contributed by SN, 25-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐵 ∈ ℝ)    &   (𝜑𝐵 ≠ 0)       (𝜑 → ∃!𝑥 ∈ ℝ (𝐵 · 𝑥) = 𝐴)
 
25-Nov-2025redivvald 42425 Value of real division, which is the (unique) real 𝑥 such that (𝐵 · 𝑥) = 𝐴. (Contributed by SN, 25-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐵 ∈ ℝ)    &   (𝜑𝐵 ≠ 0)       (𝜑 → (𝐴 / 𝐵) = (𝑥 ∈ ℝ (𝐵 · 𝑥) = 𝐴))
 
25-Nov-2025df-rediv 42424 Define division between real numbers. This operator saves ax-mulcom 11138 over df-div 11842 in certain situations. (Contributed by SN, 25-Nov-2025.)
/ = (𝑥 ∈ ℝ, 𝑦 ∈ (ℝ ∖ {0}) ↦ (𝑧 ∈ ℝ (𝑦 · 𝑧) = 𝑥))
 
25-Nov-2025uniqsw 8750 The union of a quotient set. More restrictive antecedent; kept for backward compatibility; for new work, prefer uniqs 8749. (Contributed by NM, 9-Dec-2008.) (Proof shortened by AV, 25-Nov-2025.)
(𝑅𝑉 (𝐴 / 𝑅) = (𝑅𝐴))
 
25-Nov-2025ecelqsw 8744 Membership of an equivalence class in a quotient set. More restrictive antecedent; kept for backward compatibility; for new work, prefer ecelqs 8743. (Contributed by Jeff Madsen, 10-Jun-2010.) (Revised by Mario Carneiro, 9-Jul-2014.) (Proof shortened by AV, 25-Nov-2025.)
((𝑅𝑉𝐵𝐴) → [𝐵]𝑅 ∈ (𝐴 / 𝑅))
 
24-Nov-2025f1omo 48871 There is at most one element in the function value of a constant function whose output is 1o. (An artifact of our function value definition.) Proof could be significantly shortened by fvconstdomi 48870 assuming ax-un 7713 (see f1omoALT 48873). (Contributed by Zhi Wang, 19-Sep-2024.) (Proof shortened by SN, 24-Nov-2025.)
(𝜑𝐹 = (𝐴 × {1o}))       (𝜑 → ∃*𝑦 𝑦 ∈ (𝐹𝑋))
 
24-Nov-2025mulgt0b2d 42461 Biconditional, deductive form of mulgt0 11257. The first factor is positive iff the product is. (Contributed by SN, 24-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐵 ∈ ℝ)    &   (𝜑 → 0 < 𝐵)       (𝜑 → (0 < 𝐴 ↔ 0 < (𝐴 · 𝐵)))
 
24-Nov-2025sn-remul0ord 42391 A product is zero iff one of its factors are zero. (Contributed by SN, 24-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐵 ∈ ℝ)       (𝜑 → ((𝐴 · 𝐵) = 0 ↔ (𝐴 = 0 ∨ 𝐵 = 0)))
 
23-Nov-2025lgricngricex 48109 There are two different locally isomorphic graphs which are not isomorphic. (Contributed by AV, 23-Nov-2025.)
𝑔(𝑔𝑙𝑔𝑟 ∧ ¬ 𝑔𝑔𝑟 )
 
23-Nov-2025dmqsblocks 38840 If the pet 38838 span (𝑅 ⋉ (' E | 𝐴)) partitions 𝐴, then every block 𝑢𝐴 is of the form [𝑣] for some 𝑣 that not only lies in the domain but also has at least one internal element 𝑐 and at least one 𝑅-target 𝑏 (cf. also the comments of qseq 38635). It makes explicit that pet 38838 gives active representatives for each block, without ever forcing 𝑣 = 𝑢. (Contributed by Peter Mazsa, 23-Nov-2025.)
((dom (𝑅 ⋉ ( E ↾ 𝐴)) / (𝑅 ⋉ ( E ↾ 𝐴))) = 𝐴 → ∀𝑢𝐴𝑣 ∈ dom (𝑅 ⋉ ( E ↾ 𝐴))∃𝑏𝑐(𝑢 = [𝑣](𝑅 ⋉ ( E ↾ 𝐴)) ∧ 𝑐𝑣𝑣𝑅𝑏))
 
23-Nov-2025eceldmqsxrncnvepres2 38394 An (𝑅 ⋉ (' E | 𝐴))-coset in its domain quotient. In the pet 38838 span (𝑅 ⋉ (' E | 𝐴)), a block [ B ] lies in the domain quotient exactly when its representative 𝐵 belongs to 𝐴 and actually fires at least one arrow (has some 𝑥𝐵 and some 𝑦 with 𝐵𝑅𝑦). (Contributed by Peter Mazsa, 23-Nov-2025.)
((𝐴𝑉𝐵𝑊𝑅𝑋) → ([𝐵](𝑅 ⋉ ( E ↾ 𝐴)) ∈ (dom (𝑅 ⋉ ( E ↾ 𝐴)) / (𝑅 ⋉ ( E ↾ 𝐴))) ↔ (𝐵𝐴 ∧ ∃𝑥 𝑥𝐵 ∧ ∃𝑦 𝐵𝑅𝑦)))
 
23-Nov-2025eceldmqsxrncnvepres 38393 An (𝑅 ⋉ (' E | 𝐴))-coset in its domain quotient. (Contributed by Peter Mazsa, 23-Nov-2025.)
((𝐴𝑉𝐵𝑊𝑅𝑋) → ([𝐵](𝑅 ⋉ ( E ↾ 𝐴)) ∈ (dom (𝑅 ⋉ ( E ↾ 𝐴)) / (𝑅 ⋉ ( E ↾ 𝐴))) ↔ (𝐵𝐴𝐵 ≠ ∅ ∧ [𝐵]𝑅 ≠ ∅)))
 
23-Nov-2025eldmxrncnvepres2 38392 Element of the domain of the range product with restricted converse epsilon relation. This identifies the domain of the pet 38838 span (𝑅 ⋉ (' E | 𝐴)): a 𝐵 belongs to the domain of the span exactly when 𝐵 is in 𝐴 and has at least one 𝑥𝐵 and 𝑦 with 𝐵𝑅𝑦. (Contributed by Peter Mazsa, 23-Nov-2025.)
(𝐵𝑉 → (𝐵 ∈ dom (𝑅 ⋉ ( E ↾ 𝐴)) ↔ (𝐵𝐴 ∧ ∃𝑥 𝑥𝐵 ∧ ∃𝑦 𝐵𝑅𝑦)))
 
23-Nov-2025eldmxrncnvepres 38391 Element of the domain of the range product with restricted converse epsilon relation. (Contributed by Peter Mazsa, 23-Nov-2025.)
(𝐵𝑉 → (𝐵 ∈ dom (𝑅 ⋉ ( E ↾ 𝐴)) ↔ (𝐵𝐴𝐵 ≠ ∅ ∧ [𝐵]𝑅 ≠ ∅)))
 
23-Nov-2025dmxrncnvepres 38390 Domain of the range product with restricted converse epsilon relation. (Contributed by Peter Mazsa, 23-Nov-2025.)
dom (𝑅 ⋉ ( E ↾ 𝐴)) = (dom (𝑅𝐴) ∖ {∅})
 
23-Nov-2025dmxrncnvep 38357 Domain of the range product with converse epsilon relation. (Contributed by Peter Mazsa, 23-Nov-2025.)
dom (𝑅 E ) = (dom 𝑅 ∖ {∅})
 
23-Nov-2025dmcnvep 38356 Domain of converse epsilon relation. (Contributed by Peter Mazsa, 30-Jan-2018.) (Revised by Peter Mazsa, 23-Nov-2025.)
dom E = (V ∖ {∅})
 
23-Nov-2025eldmres3 38260 Elementhood in the domain of a restriction. (Contributed by Peter Mazsa, 23-Nov-2025.)
(𝐵𝑉 → (𝐵 ∈ dom (𝑅𝐴) ↔ (𝐵𝐴 ∧ [𝐵]𝑅 ≠ ∅)))
 
22-Nov-2025gpg5ngric 48108 The two generalized Petersen graphs G(5,K) of order 10, which are the Petersen graph G(5,2) and the 5-prism G(5,1), are not isomorphic. (Contributed by AV, 22-Nov-2025.)
¬ (5 gPetersenGr 1) ≃𝑔𝑟 (5 gPetersenGr 2)
 
22-Nov-2025pg4cyclnex 48107 In the Petersen graph G(5,2), there is no cycle of length 4. (Contributed by AV, 22-Nov-2025.)
¬ ∃𝑝𝑓(𝑓(Cycles‘(5 gPetersenGr 2))𝑝 ∧ (♯‘𝑓) = 4)
 
22-Nov-2025gpg5grlic 48074 The two generalized Petersen graphs G(N,K) of order 10 (𝑁 = 5), which are the Petersen graph G(5,2) and the 5-prism G(5,1), are locally isomorphic. (Contributed by AV, 29-Sep-2025.) (Proof shortened by AV, 22-Nov-2025.)
(5 gPetersenGr 1) ≃𝑙𝑔𝑟 (5 gPetersenGr 2)
 
22-Nov-2025gpg3nbgrvtx1 48059 In a generalized Petersen graph 𝐺, every inside vertex has exactly three (different) neighbors. (Contributed by AV, 3-Sep-2025.) (Proof shortened by AV, 22-Nov-2025.)
𝐽 = (1..^(⌈‘(𝑁 / 2)))    &   𝐺 = (𝑁 gPetersenGr 𝐾)    &   𝑉 = (Vtx‘𝐺)    &   𝑈 = (𝐺 NeighbVtx 𝑋)       (((𝑁 ∈ (ℤ‘3) ∧ 𝐾𝐽) ∧ (𝑋𝑉 ∧ (1st𝑋) = 1)) → (♯‘𝑈) = 3)
 
22-Nov-2025modm1nem2 47360 A nonnegative integer less than a modulus greater than 4 minus one/minus two are not equal modulo the modulus. (Contributed by AV, 22-Nov-2025.)
𝐼 = (0..^𝑁)       ((𝑁 ∈ (ℤ‘5) ∧ 𝑌𝐼) → ((𝑌 − 1) mod 𝑁) ≠ ((𝑌 − 2) mod 𝑁))
 
22-Nov-2025modm1nep2 47359 A nonnegative integer less than a modulus greater than 4 plus one/minus two are not equal modulo the modulus. (Contributed by AV, 22-Nov-2025.)
𝐼 = (0..^𝑁)       ((𝑁 ∈ (ℤ‘5) ∧ 𝑌𝐼) → ((𝑌 − 1) mod 𝑁) ≠ ((𝑌 + 2) mod 𝑁))
 
22-Nov-2025modp2nep1 47358 A nonnegative integer less than a modulus greater than 4 plus one/plus two are not equal modulo the modulus. (Contributed by AV, 22-Nov-2025.)
𝐼 = (0..^𝑁)       ((𝑁 ∈ (ℤ‘5) ∧ 𝑌𝐼) → ((𝑌 + 2) mod 𝑁) ≠ ((𝑌 + 1) mod 𝑁))
 
22-Nov-2025modm2nep1 47357 A nonnegative integer less than a modulus greater than 4 plus one/minus two are not equal modulo the modulus. (Contributed by AV, 22-Nov-2025.)
𝐼 = (0..^𝑁)       ((𝑁 ∈ (ℤ‘5) ∧ 𝑌𝐼) → ((𝑌 − 2) mod 𝑁) ≠ ((𝑌 + 1) mod 𝑁))
 
22-Nov-2025dmxrn 38355 Domain of the range product. (Contributed by Peter Mazsa, 19-Apr-2020.) (Revised by Peter Mazsa, 22-Nov-2025.)
dom (𝑅𝑆) = (dom 𝑅 ∩ dom 𝑆)
 
22-Nov-2025brxrncnvep 38354 The range product with converse epsilon relation. (Contributed by Peter Mazsa, 22-Jun-2020.) (Revised by Peter Mazsa, 22-Nov-2025.)
((𝐴𝑉𝐵𝑊𝐶𝑋) → (𝐴(𝑅 E )⟨𝐵, 𝐶⟩ ↔ (𝐶𝐴𝐴𝑅𝐵)))
 
22-Nov-2025nn0absidi 15403 A nonnegative integer is its own absolute value (inference form). (Contributed by AV, 22-Nov-2025.)
𝑁 ∈ ℕ0       (abs‘𝑁) = 𝑁
 
22-Nov-2025nn0absid 15402 A nonnegative integer is its own absolute value. (Contributed by AV, 22-Nov-2025.)
(𝑁 ∈ ℕ0 → (abs‘𝑁) = 𝑁)
 
22-Nov-2025eluz5nn 12856 An integer greater than or equal to 5 is a positive integer. (Contributed by AV, 22-Nov-2025.)
(𝑁 ∈ (ℤ‘5) → 𝑁 ∈ ℕ)
 
22-Nov-2025eceldmqs 8762 𝑅-coset in its domain quotient. This is the bridge between 𝐴 in the domain and its block [𝐴]𝑅 in its domain quotient. (Contributed by Peter Mazsa, 17-Apr-2019.) (Revised by Peter Mazsa, 22-Nov-2025.)
(𝑅𝑉 → ([𝐴]𝑅 ∈ (dom 𝑅 / 𝑅) ↔ 𝐴 ∈ dom 𝑅))
 
22-Nov-2025ecelqsdmb 8761 𝑅-coset of 𝐵 in a quotient set, biconditional version. (Contributed by Peter Mazsa, 17-Apr-2019.) (Revised by Peter Mazsa, 22-Nov-2025.)
(((𝑅𝐴) ∈ 𝑉 ∧ dom 𝑅 = 𝐴) → ([𝐵]𝑅 ∈ (𝐴 / 𝑅) ↔ 𝐵𝐴))
 
22-Nov-2025ecelqs 8743 Membership of an equivalence class in a quotient set. (Contributed by Jeff Madsen, 10-Jun-2010.) (Revised by Mario Carneiro, 9-Jul-2014.) (Revised by Peter Mazsa, 22-Nov-2025.)
(((𝑅𝐴) ∈ 𝑉𝐵𝐴) → [𝐵]𝑅 ∈ (𝐴 / 𝑅))
 
21-Nov-2025ranpropd 49595 If the categories have the same set of objects, morphisms, and compositions, then they have the same right Kan extensions. (Contributed by Zhi Wang, 21-Nov-2025.)
(𝜑 → (Homf𝐴) = (Homf𝐵))    &   (𝜑 → (compf𝐴) = (compf𝐵))    &   (𝜑 → (Homf𝐶) = (Homf𝐷))    &   (𝜑 → (compf𝐶) = (compf𝐷))    &   (𝜑 → (Homf𝐸) = (Homf𝐹))    &   (𝜑 → (compf𝐸) = (compf𝐹))    &   (𝜑𝐴𝑉)    &   (𝜑𝐵𝑉)    &   (𝜑𝐶𝑉)    &   (𝜑𝐷𝑉)    &   (𝜑𝐸𝑉)    &   (𝜑𝐹𝑉)       (𝜑 → (⟨𝐴, 𝐶⟩ Ran 𝐸) = (⟨𝐵, 𝐷⟩ Ran 𝐹))
 
21-Nov-2025lanpropd 49594 If the categories have the same set of objects, morphisms, and compositions, then they have the same left Kan extensions. (Contributed by Zhi Wang, 21-Nov-2025.)
(𝜑 → (Homf𝐴) = (Homf𝐵))    &   (𝜑 → (compf𝐴) = (compf𝐵))    &   (𝜑 → (Homf𝐶) = (Homf𝐷))    &   (𝜑 → (compf𝐶) = (compf𝐷))    &   (𝜑 → (Homf𝐸) = (Homf𝐹))    &   (𝜑 → (compf𝐸) = (compf𝐹))    &   (𝜑𝐴𝑉)    &   (𝜑𝐵𝑉)    &   (𝜑𝐶𝑉)    &   (𝜑𝐷𝑉)    &   (𝜑𝐸𝑉)    &   (𝜑𝐹𝑉)       (𝜑 → (⟨𝐴, 𝐶⟩ Lan 𝐸) = (⟨𝐵, 𝐷⟩ Lan 𝐹))
 
21-Nov-2025prcofpropd 49358 If the categories have the same set of objects, morphisms, and compositions, then they have the same pre-composition functors. (Contributed by Zhi Wang, 21-Nov-2025.)
(𝜑 → (Homf𝐴) = (Homf𝐵))    &   (𝜑 → (compf𝐴) = (compf𝐵))    &   (𝜑 → (Homf𝐶) = (Homf𝐷))    &   (𝜑 → (compf𝐶) = (compf𝐷))    &   (𝜑𝐴𝑉)    &   (𝜑𝐵𝑉)    &   (𝜑𝐶𝑉)    &   (𝜑𝐷𝑉)    &   (𝜑𝐹𝑊)       (𝜑 → (⟨𝐴, 𝐶⟩ −∘F 𝐹) = (⟨𝐵, 𝐷⟩ −∘F 𝐹))
 
21-Nov-2025pgnbgreunbgrlem5 48103 Lemma 5 for pgnbgreunbgr 48105. Impossible cases. (Contributed by AV, 21-Nov-2025.)
𝐺 = (5 gPetersenGr 2)    &   𝑉 = (Vtx‘𝐺)    &   𝐸 = (Edg‘𝐺)    &   𝑁 = (𝐺 NeighbVtx 𝑋)       ((𝐿 = ⟨0, (((2nd𝑋) + 1) mod 5)⟩ ∨ 𝐿 = ⟨1, (2nd𝑋)⟩ ∨ 𝐿 = ⟨0, (((2nd𝑋) − 1) mod 5)⟩) → ((𝐾 = ⟨0, (((2nd𝑋) + 1) mod 5)⟩ ∨ 𝐾 = ⟨1, (2nd𝑋)⟩ ∨ 𝐾 = ⟨0, (((2nd𝑋) − 1) mod 5)⟩) → ((𝑋 = ⟨0, 𝑦⟩ ∧ 𝑋𝑉) → ((𝐾𝐿 ∧ (𝑏 ∈ (0..^5) ∧ 𝑦 ∈ (0..^5))) → (({𝐾, ⟨1, 𝑏⟩} ∈ 𝐸 ∧ {⟨1, 𝑏⟩, 𝐿} ∈ 𝐸) → 𝑋 = ⟨1, 𝑏⟩)))))
 
21-Nov-2025pgnbgreunbgrlem5lem1 48100 Lemma 1 for pgnbgreunbgrlem5 48103. (Contributed by AV, 21-Nov-2025.)
𝐺 = (5 gPetersenGr 2)    &   𝑉 = (Vtx‘𝐺)    &   𝐸 = (Edg‘𝐺)    &   𝑁 = (𝐺 NeighbVtx 𝑋)       ((((𝐿 = ⟨0, ((𝑦 + 1) mod 5)⟩ ∧ 𝐾 = ⟨1, 𝑦⟩) ∧ (𝑏 ∈ (0..^5) ∧ 𝑦 ∈ (0..^5))) ∧ {𝐾, ⟨1, 𝑏⟩} ∈ 𝐸) → ¬ {⟨1, 𝑏⟩, 𝐿} ∈ 𝐸)
 
21-Nov-2025pgnioedg5 48092 An inside and an outside vertex not adjacent in a Petersen graph. (Contributed by AV, 21-Nov-2025.)
𝐺 = (5 gPetersenGr 2)    &   𝐸 = (Edg‘𝐺)       (𝑦 ∈ (0..^5) → ¬ {⟨1, ((𝑦 − 1) mod 5)⟩, ⟨0, ((𝑦 + 1) mod 5)⟩} ∈ 𝐸)
 
21-Nov-2025pgnioedg4 48091 An inside and an outside vertex not adjacent in a Petersen graph. (Contributed by AV, 21-Nov-2025.)
𝐺 = (5 gPetersenGr 2)    &   𝐸 = (Edg‘𝐺)       (𝑦 ∈ (0..^5) → ¬ {⟨1, ((𝑦 − 2) mod 5)⟩, ⟨0, ((𝑦 − 1) mod 5)⟩} ∈ 𝐸)
 
21-Nov-2025pgnioedg3 48090 An inside and an outside vertex not adjacent in a Petersen graph. (Contributed by AV, 21-Nov-2025.)
𝐺 = (5 gPetersenGr 2)    &   𝐸 = (Edg‘𝐺)       (𝑦 ∈ (0..^5) → ¬ {⟨1, ((𝑦 + 2) mod 5)⟩, ⟨0, ((𝑦 − 1) mod 5)⟩} ∈ 𝐸)
 
21-Nov-2025pgnioedg2 48089 An inside and an outside vertex not adjacent in a Petersen graph. (Contributed by AV, 21-Nov-2025.)
𝐺 = (5 gPetersenGr 2)    &   𝐸 = (Edg‘𝐺)       (𝑦 ∈ (0..^5) → ¬ {⟨1, ((𝑦 + 2) mod 5)⟩, ⟨0, ((𝑦 + 1) mod 5)⟩} ∈ 𝐸)
 
21-Nov-2025pgnioedg1 48088 An inside and an outside vertex not adjacent in a Petersen graph. (Contributed by AV, 21-Nov-2025.)
𝐺 = (5 gPetersenGr 2)    &   𝐸 = (Edg‘𝐺)       (𝑦 ∈ (0..^5) → ¬ {⟨1, ((𝑦 − 2) mod 5)⟩, ⟨0, ((𝑦 + 1) mod 5)⟩} ∈ 𝐸)
 
21-Nov-2025modlt0b 47354 An integer with an absolute value less than a positive integer is 0 modulo the positive integer iff it is 0. (Contributed by AV, 21-Nov-2025.)
((𝑁 ∈ ℕ ∧ 𝑋 ∈ ℤ ∧ (abs‘𝑋) < 𝑁) → ((𝑋 mod 𝑁) = 0 ↔ 𝑋 = 0))
 
21-Nov-2025zabs0b 15286 An integer has an absolute value less than 1 iff it is 0. (Contributed by AV, 21-Nov-2025.)
(𝑋 ∈ ℤ → ((abs‘𝑋) < 1 ↔ 𝑋 = 0))
 
20-Nov-2025termolmd 49649 Terminal objects are the object part of limits of the empty diagram. (Contributed by Zhi Wang, 20-Nov-2025.)
(TermO‘𝐶) = dom (∅(𝐶 Limit ∅)∅)
 
20-Nov-2025cmddu 49647 The duality of limits and colimits: colimits of a diagram are limits of an opposite diagram in opposite categories. (Contributed by Zhi Wang, 20-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   𝐺 = ( oppFunc ‘𝐹)    &   (𝜑𝐶𝑉)    &   (𝜑𝐷𝑊)       (𝜑 → ((𝐶 Colimit 𝐷)‘𝐹) = ((𝑂 Limit 𝑃)‘𝐺))
 
20-Nov-2025lmddu 49646 The duality of limits and colimits: limits of a diagram are colimits of an opposite diagram in opposite categories. (Contributed by Zhi Wang, 20-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   𝐺 = ( oppFunc ‘𝐹)    &   (𝜑𝐶𝑉)    &   (𝜑𝐷𝑊)       (𝜑 → ((𝐶 Limit 𝐷)‘𝐹) = ((𝑂 Colimit 𝑃)‘𝐺))
 
20-Nov-2025cmdpropd 49637 If the categories have the same set of objects, morphisms, and compositions, then they have the same colimits. (Contributed by Zhi Wang, 20-Nov-2025.)
(𝜑 → (Homf𝐴) = (Homf𝐵))    &   (𝜑 → (compf𝐴) = (compf𝐵))    &   (𝜑 → (Homf𝐶) = (Homf𝐷))    &   (𝜑 → (compf𝐶) = (compf𝐷))    &   (𝜑𝐴𝑉)    &   (𝜑𝐵𝑉)    &   (𝜑𝐶𝑉)    &   (𝜑𝐷𝑉)       (𝜑 → (𝐴 Colimit 𝐶) = (𝐵 Colimit 𝐷))
 
20-Nov-2025lmdpropd 49636 If the categories have the same set of objects, morphisms, and compositions, then they have the same limits. (Contributed by Zhi Wang, 20-Nov-2025.)
(𝜑 → (Homf𝐴) = (Homf𝐵))    &   (𝜑 → (compf𝐴) = (compf𝐵))    &   (𝜑 → (Homf𝐶) = (Homf𝐷))    &   (𝜑 → (compf𝐶) = (compf𝐷))    &   (𝜑𝐴𝑉)    &   (𝜑𝐵𝑉)    &   (𝜑𝐶𝑉)    &   (𝜑𝐷𝑉)       (𝜑 → (𝐴 Limit 𝐶) = (𝐵 Limit 𝐷))
 
20-Nov-2025cmdrcl 49631 Reverse closure for a colimit of a diagram. (Contributed by Zhi Wang, 20-Nov-2025.)
(𝑋 ∈ ((𝐶 Colimit 𝐷)‘𝐹) → 𝐹 ∈ (𝐷 Func 𝐶))
 
20-Nov-2025lmdrcl 49630 Reverse closure for a limit of a diagram. (Contributed by Zhi Wang, 20-Nov-2025.)
(𝑋 ∈ ((𝐶 Limit 𝐷)‘𝐹) → 𝐹 ∈ (𝐷 Func 𝐶))
 
20-Nov-2025diagpropd 49271 If two categories have the same set of objects, morphisms, and compositions, then they have same diagonal functors. (Contributed by Zhi Wang, 20-Nov-2025.)
(𝜑 → (Homf𝐴) = (Homf𝐵))    &   (𝜑 → (compf𝐴) = (compf𝐵))    &   (𝜑 → (Homf𝐶) = (Homf𝐷))    &   (𝜑 → (compf𝐶) = (compf𝐷))    &   (𝜑𝐴 ∈ Cat)    &   (𝜑𝐵 ∈ Cat)    &   (𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)       (𝜑 → (𝐴Δfunc𝐶) = (𝐵Δfunc𝐷))
 
20-Nov-20252ndfpropd 49270 If two categories have the same set of objects, morphisms, and compositions, then they have same second projection functors. (Contributed by Zhi Wang, 20-Nov-2025.)
(𝜑 → (Homf𝐴) = (Homf𝐵))    &   (𝜑 → (compf𝐴) = (compf𝐵))    &   (𝜑 → (Homf𝐶) = (Homf𝐷))    &   (𝜑 → (compf𝐶) = (compf𝐷))    &   (𝜑𝐴 ∈ Cat)    &   (𝜑𝐵 ∈ Cat)    &   (𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)       (𝜑 → (𝐴 2ndF 𝐶) = (𝐵 2ndF 𝐷))
 
20-Nov-20251stfpropd 49269 If two categories have the same set of objects, morphisms, and compositions, then they have same first projection functors. (Contributed by Zhi Wang, 20-Nov-2025.)
(𝜑 → (Homf𝐴) = (Homf𝐵))    &   (𝜑 → (compf𝐴) = (compf𝐵))    &   (𝜑 → (Homf𝐶) = (Homf𝐷))    &   (𝜑 → (compf𝐶) = (compf𝐷))    &   (𝜑𝐴 ∈ Cat)    &   (𝜑𝐵 ∈ Cat)    &   (𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)       (𝜑 → (𝐴 1stF 𝐶) = (𝐵 1stF 𝐷))
 
20-Nov-2025uppropd 49160 If two categories have the same set of objects, morphisms, and compositions, then they have the same universal pairs. (Contributed by Zhi Wang, 20-Nov-2025.)
(𝜑 → (Homf𝐴) = (Homf𝐵))    &   (𝜑 → (compf𝐴) = (compf𝐵))    &   (𝜑 → (Homf𝐶) = (Homf𝐷))    &   (𝜑 → (compf𝐶) = (compf𝐷))    &   (𝜑𝐴𝑉)    &   (𝜑𝐵𝑉)    &   (𝜑𝐶𝑉)    &   (𝜑𝐷𝑉)       (𝜑 → (𝐴 UP 𝐶) = (𝐵 UP 𝐷))
 
20-Nov-2025reueqbidva 48784 Formula-building rule for restricted existential uniqueness quantifier. Deduction form. General version of reueqbidv 3397. (Contributed by Zhi Wang, 20-Nov-2025.)
(𝜑𝐴 = 𝐵)    &   ((𝜑𝑥𝐴) → (𝜓𝜒))       (𝜑 → (∃!𝑥𝐴 𝜓 ↔ ∃!𝑥𝐵 𝜒))
 
20-Nov-2025pgnbgreunbgrlem6 48104 Lemma 6 for pgnbgreunbgr 48105. (Contributed by AV, 20-Nov-2025.)
𝐺 = (5 gPetersenGr 2)    &   𝑉 = (Vtx‘𝐺)    &   𝐸 = (Edg‘𝐺)    &   𝑁 = (𝐺 NeighbVtx 𝑋)       (((𝐾𝑁𝐿𝑁𝐾𝐿) ∧ 𝑏 ∈ (0..^5)) → (({𝐾, ⟨1, 𝑏⟩} ∈ 𝐸 ∧ {⟨1, 𝑏⟩, 𝐿} ∈ 𝐸) → 𝑋 = ⟨1, 𝑏⟩))
 
20-Nov-2025pgnbgreunbgrlem5lem3 48102 Lemma 3 for pgnbgreunbgrlem5 48103. (Contributed by AV, 20-Nov-2025.)
𝐺 = (5 gPetersenGr 2)    &   𝑉 = (Vtx‘𝐺)    &   𝐸 = (Edg‘𝐺)    &   𝑁 = (𝐺 NeighbVtx 𝑋)       ((((𝐿 = ⟨0, ((𝑦 + 1) mod 5)⟩ ∧ 𝐾 = ⟨0, ((𝑦 − 1) mod 5)⟩) ∧ (𝑏 ∈ (0..^5) ∧ 𝑦 ∈ (0..^5))) ∧ {𝐾, ⟨1, 𝑏⟩} ∈ 𝐸) → ¬ {⟨1, 𝑏⟩, 𝐿} ∈ 𝐸)
 
20-Nov-2025pgnbgreunbgrlem5lem2 48101 Lemma 2 for pgnbgreunbgrlem5 48103. (Contributed by AV, 20-Nov-2025.)
𝐺 = (5 gPetersenGr 2)    &   𝑉 = (Vtx‘𝐺)    &   𝐸 = (Edg‘𝐺)    &   𝑁 = (𝐺 NeighbVtx 𝑋)       ((((𝐿 = ⟨0, ((𝑦 − 1) mod 5)⟩ ∧ 𝐾 = ⟨1, 𝑦⟩) ∧ (𝑏 ∈ (0..^5) ∧ 𝑦 ∈ (0..^5))) ∧ {𝐾, ⟨1, 𝑏⟩} ∈ 𝐸) → ¬ {⟨1, 𝑏⟩, 𝐿} ∈ 𝐸)
 
20-Nov-2025pgnbgreunbgrlem4 48099 Lemma 4 for pgnbgreunbgr 48105. (Contributed by AV, 20-Nov-2025.)
𝐺 = (5 gPetersenGr 2)    &   𝑉 = (Vtx‘𝐺)    &   𝐸 = (Edg‘𝐺)    &   𝑁 = (𝐺 NeighbVtx 𝑋)       ((𝐿 = ⟨1, (((2nd𝑋) + 2) mod 5)⟩ ∨ 𝐿 = ⟨0, (2nd𝑋)⟩ ∨ 𝐿 = ⟨1, (((2nd𝑋) − 2) mod 5)⟩) → ((𝐾 = ⟨1, (((2nd𝑋) + 2) mod 5)⟩ ∨ 𝐾 = ⟨0, (2nd𝑋)⟩ ∨ 𝐾 = ⟨1, (((2nd𝑋) − 2) mod 5)⟩) → ((𝑋𝑉𝑋 = ⟨1, 𝑦⟩) → ((𝐾𝐿 ∧ (𝑏 ∈ (0..^5) ∧ 𝑦 ∈ (0..^5))) → (({𝐾, ⟨1, 𝑏⟩} ∈ 𝐸 ∧ {⟨1, 𝑏⟩, 𝐿} ∈ 𝐸) → 𝑋 = ⟨1, 𝑏⟩)))))
 
20-Nov-2025gpgedg2iv 48048 The edges of the generalized Petersen graph GPG(N,K) between two inside vertices. (Contributed by AV, 20-Nov-2025.)
𝐽 = (1..^(⌈‘(𝑁 / 2)))    &   𝐼 = (0..^𝑁)    &   𝐺 = (𝑁 gPetersenGr 𝐾)    &   𝐸 = (Edg‘𝐺)       ((𝑁 ∈ (ℤ‘5) ∧ (𝑋𝐼𝑌𝐼) ∧ (𝐾𝐽 ∧ ((4 · 𝐾) mod 𝑁) ≠ 0)) → (({⟨1, ((𝑌𝐾) mod 𝑁)⟩, ⟨1, 𝑋⟩} ∈ 𝐸 ∧ {⟨1, 𝑋⟩, ⟨1, ((𝑌 + 𝐾) mod 𝑁)⟩} ∈ 𝐸) ↔ 𝑋 = 𝑌))
 
20-Nov-20258mod5e3 47351 8 modulo 5 is 3. (Contributed by AV, 20-Nov-2025.)
(8 mod 5) = 3
 
19-Nov-2025oppfdiag 49395 A diagonal functor for opposite categories is the opposite functor of the diagonal functor for original categories post-composed by an isomorphism (fucoppc 49389). (Contributed by Zhi Wang, 19-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   𝐿 = (𝐶Δfunc𝐷)    &   (𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)    &   (𝜑𝐹 = ( oppFunc ↾ (𝐷 Func 𝐶)))    &   𝑁 = (𝐷 Nat 𝐶)    &   (𝜑𝐺 = (𝑚 ∈ (𝐷 Func 𝐶), 𝑛 ∈ (𝐷 Func 𝐶) ↦ ( I ↾ (𝑛𝑁𝑚))))       (𝜑 → (⟨𝐹, 𝐺⟩ ∘func ( oppFunc ‘𝐿)) = (𝑂Δfunc𝑃))
 
19-Nov-2025oppfdiag1a 49394 A constant functor for opposite categories is the opposite functor of the constant functor for original categories. (Contributed by Zhi Wang, 19-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   𝐿 = (𝐶Δfunc𝐷)    &   (𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)    &   𝐴 = (Base‘𝐶)    &   (𝜑𝑋𝐴)       (𝜑 → ( oppFunc ‘((1st𝐿)‘𝑋)) = ((1st ‘(𝑂Δfunc𝑃))‘𝑋))
 
19-Nov-2025oppfdiag1 49393 A constant functor for opposite categories is the opposite functor of the constant functor for original categories. (Contributed by Zhi Wang, 19-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   𝐿 = (𝐶Δfunc𝐷)    &   (𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)    &   (𝜑𝐹 = ( oppFunc ↾ (𝐷 Func 𝐶)))    &   𝐴 = (Base‘𝐶)    &   (𝜑𝑋𝐴)       (𝜑 → (𝐹‘((1st𝐿)‘𝑋)) = ((1st ‘(𝑂Δfunc𝑃))‘𝑋))
 
19-Nov-2025fucoppcfunc 49391 A functor from the opposite category of functors to the category of opposite functors. (Contributed by Zhi Wang, 19-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   𝑄 = (𝐶 FuncCat 𝐷)    &   𝑅 = (oppCat‘𝑄)    &   𝑆 = (𝑂 FuncCat 𝑃)    &   𝑁 = (𝐶 Nat 𝐷)    &   (𝜑𝐹 = ( oppFunc ↾ (𝐶 Func 𝐷)))    &   (𝜑𝐺 = (𝑥 ∈ (𝐶 Func 𝐷), 𝑦 ∈ (𝐶 Func 𝐷) ↦ ( I ↾ (𝑦𝑁𝑥))))    &   (𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)       (𝜑𝐹(𝑅 Func 𝑆)𝐺)
 
19-Nov-2025fucoppcffth 49390 A fully faithful functor from the opposite category of functors to the category of opposite functors. (Contributed by Zhi Wang, 19-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   𝑄 = (𝐶 FuncCat 𝐷)    &   𝑅 = (oppCat‘𝑄)    &   𝑆 = (𝑂 FuncCat 𝑃)    &   𝑁 = (𝐶 Nat 𝐷)    &   (𝜑𝐹 = ( oppFunc ↾ (𝐶 Func 𝐷)))    &   (𝜑𝐺 = (𝑥 ∈ (𝐶 Func 𝐷), 𝑦 ∈ (𝐶 Func 𝐷) ↦ ( I ↾ (𝑦𝑁𝑥))))    &   (𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)       (𝜑𝐹((𝑅 Full 𝑆) ∩ (𝑅 Faith 𝑆))𝐺)
 
19-Nov-2025opf12 49383 The object part of the op functor on functor categories. Lemma for oppfdiag 49395. (Contributed by Zhi Wang, 19-Nov-2025.)
(𝜑𝐹 = ( oppFunc ↾ (𝐶 Func 𝐷)))    &   (𝜑𝑋 ∈ (𝐶 Func 𝐷))       (𝜑 → (𝑀(2nd ‘(𝐹𝑋))𝑁) = (𝑁(2nd𝑋)𝑀))
 
19-Nov-2025oppc2ndf 49268 The opposite functor of the second projection functor is the second projection functor of opposite categories. (Contributed by Zhi Wang, 19-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   (𝜑𝐶𝑉)    &   (𝜑𝐷𝑊)       (𝜑 → ( oppFunc ‘(𝐶 2ndF 𝐷)) = (𝑂 2ndF 𝑃))
 
19-Nov-2025oppc1stf 49267 The opposite functor of the first projection functor is the first projection functor of opposite categories. (Contributed by Zhi Wang, 19-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   (𝜑𝐶𝑉)    &   (𝜑𝐷𝑊)       (𝜑 → ( oppFunc ‘(𝐶 1stF 𝐷)) = (𝑂 1stF 𝑃))
 
19-Nov-2025oppc1stflem 49266 A utility theorem for proving theorems on projection functors of opposite categories. (Contributed by Zhi Wang, 19-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   (𝜑𝐶𝑉)    &   (𝜑𝐷𝑊)    &   ((𝜑 ∧ (𝐶 ∈ Cat ∧ 𝐷 ∈ Cat)) → ( oppFunc ‘(𝐶𝐹𝐷)) = (𝑂𝐹𝑃))    &   𝐹 = (𝑐 ∈ Cat, 𝑑 ∈ Cat ↦ 𝑌)       (𝜑 → ( oppFunc ‘(𝐶𝐹𝐷)) = (𝑂𝐹𝑃))
 
19-Nov-2025uobffth 49197 A fully faithful functor generates equal sets of universal objects. (Contributed by Zhi Wang, 19-Nov-2025.)
𝐵 = (Base‘𝐷)    &   (𝜑𝑋𝐵)    &   (𝜑𝐹 ∈ (𝐶 Func 𝐷))    &   (𝜑 → (𝐾func 𝐹) = 𝐺)    &   (𝜑 → ((1st𝐾)‘𝑋) = 𝑌)    &   (𝜑𝐾 ∈ ((𝐷 Full 𝐸) ∩ (𝐷 Faith 𝐸)))       (𝜑 → dom (𝐹(𝐶 UP 𝐷)𝑋) = dom (𝐺(𝐶 UP 𝐸)𝑌))
 
19-Nov-2025oppf2 49119 Value of the morphism part of the opposite functor. (Contributed by Zhi Wang, 19-Nov-2025.)
(𝜑𝐹 ∈ (𝐶 Func 𝐷))       (𝜑 → (𝑀(2nd ‘( oppFunc ‘𝐹))𝑁) = (𝑁(2nd𝐹)𝑀))
 
19-Nov-2025oppf1 49118 Value of the object part of the opposite functor. (Contributed by Zhi Wang, 19-Nov-2025.)
(𝜑𝐹 ∈ (𝐶 Func 𝐷))       (𝜑 → (1st ‘( oppFunc ‘𝐹)) = (1st𝐹))
 
19-Nov-2025oppfval3 49117 Value of the opposite functor. (Contributed by Zhi Wang, 19-Nov-2025.)
(𝜑𝐹 = ⟨𝐺, 𝐾⟩)    &   (𝜑𝐹 ∈ (𝐶 Func 𝐷))       (𝜑 → ( oppFunc ‘𝐹) = ⟨𝐺, tpos 𝐾⟩)
 
19-Nov-2025eqfnovd 48844 Deduction for equality of operations. (Contributed by Zhi Wang, 19-Nov-2025.)
(𝜑𝐹 Fn (𝐴 × 𝐵))    &   (𝜑𝐺 Fn (𝐴 × 𝐵))    &   ((𝜑 ∧ (𝑥𝐴𝑦𝐵)) → (𝑥𝐹𝑦) = (𝑥𝐺𝑦))       (𝜑𝐹 = 𝐺)
 
19-Nov-2025cos4t3rdpi 42339 The cosine of 4 · (π / 3) is -1 / 2. (Contributed by SN, 19-Nov-2025.)
(cos‘(4 · (π / 3))) = -(1 / 2)
 
19-Nov-2025sin4t3rdpi 42338 The sine of 4 · (π / 3) is -(√3) / 2. (Contributed by SN, 19-Nov-2025.)
(sin‘(4 · (π / 3))) = -((√‘3) / 2)
 
19-Nov-2025cos2t3rdpi 42337 The cosine of 2 · (π / 3) is -1 / 2. (Contributed by SN, 19-Nov-2025.)
(cos‘(2 · (π / 3))) = -(1 / 2)
 
19-Nov-2025sin2t3rdpi 42336 The sine of 2 · (π / 3) is (√3) / 2. (Contributed by SN, 19-Nov-2025.)
(sin‘(2 · (π / 3))) = ((√‘3) / 2)
 
19-Nov-2025cospim 42334 Cosine of a number subtracted from π. (Contributed by SN, 19-Nov-2025.)
(𝐴 ∈ ℂ → (cos‘(π − 𝐴)) = -(cos‘𝐴))
 
19-Nov-2025sinpim 42333 Sine of a number subtracted from π. (Contributed by SN, 19-Nov-2025.)
(𝐴 ∈ ℂ → (sin‘(π − 𝐴)) = (sin‘𝐴))
 
19-Nov-20253rdpwhole 42275 A third of a number plus the number is four thirds of the number. (Contributed by SN, 19-Nov-2025.)
(𝐴 ∈ ℂ → ((𝐴 / 3) + 𝐴) = (4 · (𝐴 / 3)))
 
19-Nov-20251p3e4 42242 1 + 3 = 4. (Contributed by SN, 19-Nov-2025.)
(1 + 3) = 4
 
19-Nov-2025spsv 1987 Generalization of antecedent. A trivial weak version of sps 2186 avoiding ax-12 2178. (Contributed by SN, 13-Nov-2025.) (Proof shortened by WL, 19-Nov-2025.)
(𝜑𝜓)       (∀𝑥𝜑𝜓)
 
18-Nov-2025fucoppccic 49392 The opposite category of functors is isomorphic to the category of opposite functors. (Contributed by Zhi Wang, 18-Nov-2025.)
𝐶 = (CatCat‘𝑈)    &   𝐵 = (Base‘𝐶)    &   𝑋 = (oppCat‘(𝐷 FuncCat 𝐸))    &   𝑌 = ((oppCat‘𝐷) FuncCat (oppCat‘𝐸))    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)    &   (𝜑𝐷𝑉)    &   (𝜑𝐸𝑊)       (𝜑𝑋( ≃𝑐𝐶)𝑌)
 
18-Nov-2025fucoppc 49389 The isomorphism from the opposite category of functors to the category of opposite functors. (Contributed by Zhi Wang, 18-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   𝑄 = (𝐶 FuncCat 𝐷)    &   𝑅 = (oppCat‘𝑄)    &   𝑆 = (𝑂 FuncCat 𝑃)    &   𝑁 = (𝐶 Nat 𝐷)    &   (𝜑𝐹 = ( oppFunc ↾ (𝐶 Func 𝐷)))    &   (𝜑𝐺 = (𝑥 ∈ (𝐶 Func 𝐷), 𝑦 ∈ (𝐶 Func 𝐷) ↦ ( I ↾ (𝑦𝑁𝑥))))    &   𝑇 = (CatCat‘𝑈)    &   𝐵 = (Base‘𝑇)    &   𝐼 = (Iso‘𝑇)    &   (𝜑𝐶𝑉)    &   (𝜑𝐷𝑊)    &   (𝜑𝑅𝐵)    &   (𝜑𝑆𝐵)       (𝜑𝐹(𝑅𝐼𝑆)𝐺)
 
18-Nov-2025fucoppcco 49388 The opposite category of functors is compatible with the category of opposite functors in terms of composition. (Contributed by Zhi Wang, 18-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   𝑄 = (𝐶 FuncCat 𝐷)    &   𝑅 = (oppCat‘𝑄)    &   𝑆 = (𝑂 FuncCat 𝑃)    &   𝑁 = (𝐶 Nat 𝐷)    &   (𝜑𝐹 = ( oppFunc ↾ (𝐶 Func 𝐷)))    &   (𝜑𝐺 = (𝑥 ∈ (𝐶 Func 𝐷), 𝑦 ∈ (𝐶 Func 𝐷) ↦ ( I ↾ (𝑦𝑁𝑥))))    &   (𝜑𝐴 ∈ (𝑋(Hom ‘𝑅)𝑌))    &   (𝜑𝐵 ∈ (𝑌(Hom ‘𝑅)𝑍))       (𝜑 → ((𝑋𝐺𝑍)‘(𝐵(⟨𝑋, 𝑌⟩(comp‘𝑅)𝑍)𝐴)) = (((𝑌𝐺𝑍)‘𝐵)(⟨(𝐹𝑋), (𝐹𝑌)⟩(comp‘𝑆)(𝐹𝑍))((𝑋𝐺𝑌)‘𝐴)))
 
18-Nov-2025fucoppcid 49387 The opposite category of functors is compatible with the category of opposite functors in terms of identity morphism. (Contributed by Zhi Wang, 18-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   𝑄 = (𝐶 FuncCat 𝐷)    &   𝑅 = (oppCat‘𝑄)    &   𝑆 = (𝑂 FuncCat 𝑃)    &   𝑁 = (𝐶 Nat 𝐷)    &   (𝜑𝐹 = ( oppFunc ↾ (𝐶 Func 𝐷)))    &   (𝜑𝐺 = (𝑥 ∈ (𝐶 Func 𝐷), 𝑦 ∈ (𝐶 Func 𝐷) ↦ ( I ↾ (𝑦𝑁𝑥))))    &   (𝜑𝑋 ∈ (𝐶 Func 𝐷))       (𝜑 → ((𝑋𝐺𝑋)‘((Id‘𝑅)‘𝑋)) = ((Id‘𝑆)‘(𝐹𝑋)))
 
18-Nov-2025fucoppclem 49386 Lemma for fucoppc 49389. (Contributed by Zhi Wang, 18-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   𝑁 = (𝐶 Nat 𝐷)    &   (𝜑𝐹 = ( oppFunc ↾ (𝐶 Func 𝐷)))    &   (𝜑𝑋 ∈ (𝐶 Func 𝐷))    &   (𝜑𝑌 ∈ (𝐶 Func 𝐷))       (𝜑 → (𝑌𝑁𝑋) = ((𝐹𝑋)(𝑂 Nat 𝑃)(𝐹𝑌)))
 
18-Nov-2025opf2 49385 The morphism part of the op functor on functor categories. Lemma for fucoppc 49389. (Contributed by Zhi Wang, 18-Nov-2025.)
(𝜑𝐹 = (𝑥𝐴, 𝑦𝐵 ↦ ( I ↾ (𝑦𝑁𝑥))))    &   (𝜑𝑋𝐴)    &   (𝜑𝑌𝐵)    &   (𝜑𝐶 = 𝐷)    &   (𝜑𝐷 ∈ (𝑌𝑁𝑋))       (𝜑 → ((𝑋𝐹𝑌)‘𝐶) = 𝐷)
 
18-Nov-2025opf2fval 49384 The morphism part of the op functor on functor categories. Lemma for fucoppc 49389. (Contributed by Zhi Wang, 18-Nov-2025.)
(𝜑𝐹 = (𝑥𝐴, 𝑦𝐵 ↦ ( I ↾ (𝑦𝑁𝑥))))    &   (𝜑𝑋𝐴)    &   (𝜑𝑌𝐵)       (𝜑 → (𝑋𝐹𝑌) = ( I ↾ (𝑌𝑁𝑋)))
 
18-Nov-2025opf11 49382 The object part of the op functor on functor categories. Lemma for fucoppc 49389. (Contributed by Zhi Wang, 18-Nov-2025.)
(𝜑𝐹 = ( oppFunc ↾ (𝐶 Func 𝐷)))    &   (𝜑𝑋 ∈ (𝐶 Func 𝐷))       (𝜑 → (1st ‘(𝐹𝑋)) = (1st𝑋))
 
18-Nov-2025natoppfb 49210 A natural transformation is natural between opposite functors, and vice versa. (Contributed by Zhi Wang, 18-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   𝑁 = (𝐶 Nat 𝐷)    &   𝑀 = (𝑂 Nat 𝑃)    &   (𝜑𝐾 = ( oppFunc ‘𝐹))    &   (𝜑𝐿 = ( oppFunc ‘𝐺))    &   (𝜑𝐶𝑉)    &   (𝜑𝐷𝑊)       (𝜑 → (𝐹𝑁𝐺) = (𝐿𝑀𝐾))
 
18-Nov-2025natoppf2 49209 A natural transformation is natural between opposite functors. (Contributed by Zhi Wang, 18-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   𝑁 = (𝐶 Nat 𝐷)    &   𝑀 = (𝑂 Nat 𝑃)    &   (𝜑𝐾 = ( oppFunc ‘𝐹))    &   (𝜑𝐿 = ( oppFunc ‘𝐺))    &   (𝜑𝐴 ∈ (𝐹𝑁𝐺))       (𝜑𝐴 ∈ (𝐿𝑀𝐾))
 
18-Nov-2025natoppf 49208 A natural transformation is natural between opposite functors. (Contributed by Zhi Wang, 18-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   𝑁 = (𝐶 Nat 𝐷)    &   𝑀 = (𝑂 Nat 𝑃)    &   (𝜑𝐴 ∈ (⟨𝐹, 𝐺𝑁𝐾, 𝐿⟩))       (𝜑𝐴 ∈ (⟨𝐾, tpos 𝐿𝑀𝐹, tpos 𝐺⟩))
 
18-Nov-2025eloppf2 49113 Both components of a pre-image of a non-empty opposite functor exist; and the second component is a relation on triples. (Contributed by Zhi Wang, 18-Nov-2025.)
(𝐹 oppFunc 𝐺) = 𝐾    &   (𝜑𝑋𝐾)       (𝜑 → ((𝐹 ∈ V ∧ 𝐺 ∈ V) ∧ (Rel 𝐺 ∧ Rel dom 𝐺)))
 
18-Nov-2025eloppf 49112 The pre-image of a non-empty opposite functor is non-empty; and the second component of the pre-image is a relation on triples. (Contributed by Zhi Wang, 18-Nov-2025.)
𝐺 = ( oppFunc ‘𝐹)    &   (𝜑𝑋𝐺)       (𝜑 → (𝐹 ≠ ∅ ∧ (Rel (2nd𝐹) ∧ Rel dom (2nd𝐹))))
 
18-Nov-2025pgnbgreunbgrlem3 48098 Lemma 3 for pgnbgreunbgr 48105. (Contributed by AV, 18-Nov-2025.)
𝐺 = (5 gPetersenGr 2)    &   𝑉 = (Vtx‘𝐺)    &   𝐸 = (Edg‘𝐺)    &   𝑁 = (𝐺 NeighbVtx 𝑋)       (((𝐾𝑁𝐿𝑁𝐾𝐿) ∧ 𝑏 ∈ (0..^5)) → (({𝐾, ⟨0, 𝑏⟩} ∈ 𝐸 ∧ {⟨0, 𝑏⟩, 𝐿} ∈ 𝐸) → 𝑋 = ⟨0, 𝑏⟩))
 
18-Nov-2025pgnbgreunbgrlem2 48097 Lemma 2 for pgnbgreunbgr 48105. Impossible cases. (Contributed by AV, 18-Nov-2025.)
𝐺 = (5 gPetersenGr 2)    &   𝑉 = (Vtx‘𝐺)    &   𝐸 = (Edg‘𝐺)    &   𝑁 = (𝐺 NeighbVtx 𝑋)       ((𝐿 = ⟨1, (((2nd𝑋) + 2) mod 5)⟩ ∨ 𝐿 = ⟨0, (2nd𝑋)⟩ ∨ 𝐿 = ⟨1, (((2nd𝑋) − 2) mod 5)⟩) → ((𝐾 = ⟨1, (((2nd𝑋) + 2) mod 5)⟩ ∨ 𝐾 = ⟨0, (2nd𝑋)⟩ ∨ 𝐾 = ⟨1, (((2nd𝑋) − 2) mod 5)⟩) → ((𝑋 = ⟨1, 𝑦⟩ ∧ 𝑋𝑉) → ((𝐾𝐿 ∧ (𝑏 ∈ (0..^5) ∧ 𝑦 ∈ (0..^5))) → (({𝐾, ⟨0, 𝑏⟩} ∈ 𝐸 ∧ {⟨0, 𝑏⟩, 𝐿} ∈ 𝐸) → 𝑋 = ⟨0, 𝑏⟩)))))
 
18-Nov-2025fxpsubm 33135 Provided the group action 𝐴 induces monoid automorphisms, the set of fixed points of 𝐴 on a monoid 𝑊 is a submonoid, which could be called the fixed submonoid under 𝐴. (Contributed by Thierry Arnoux, 18-Nov-2025.)
𝐵 = (Base‘𝐺)    &   𝐶 = (Base‘𝑊)    &   𝐹 = (𝑥𝐶 ↦ (𝑝𝐴𝑥))    &   (𝜑𝐴 ∈ (𝐺 GrpAct 𝐶))    &   ((𝜑𝑝𝐵) → 𝐹 ∈ (𝑊 MndHom 𝑊))       (𝜑 → (𝐶FixPts𝐴) ∈ (SubMnd‘𝑊))
 
18-Nov-2025cntrval2 33134 Express the center 𝑍 of a group 𝑀 as the set of fixed points of the conjugation operation . (Contributed by Thierry Arnoux, 18-Nov-2025.)
𝐵 = (Base‘𝑀)    &    + = (+g𝑀)    &    = (-g𝑀)    &    = (𝑥𝐵, 𝑦𝐵 ↦ ((𝑥 + 𝑦) 𝑥))    &   𝑍 = (Cntr‘𝑀)       (𝑀 ∈ Grp → 𝑍 = (𝐵FixPts ))
 
18-Nov-2025conjga 33133 Group conjugation induces a group action. (Contributed by Thierry Arnoux, 18-Nov-2025.)
𝐵 = (Base‘𝑀)    &    + = (+g𝑀)    &    = (-g𝑀)    &    = (𝑥𝐵, 𝑦𝐵 ↦ ((𝑥 + 𝑦) 𝑥))       (𝑀 ∈ Grp → ∈ (𝑀 GrpAct 𝐵))
 
18-Nov-2025fxpgaeq 33132 A fixed point 𝑋 is invariant under group action 𝐴 (Contributed by Thierry Arnoux, 18-Nov-2025.)
𝑈 = (Base‘𝐺)    &   (𝜑𝐴 ∈ (𝐺 GrpAct 𝐶))    &   (𝜑𝑋 ∈ (𝐶FixPts𝐴))    &   (𝜑𝑃𝑈)       (𝜑 → (𝑃𝐴𝑋) = 𝑋)
 
18-Nov-2025isfxp 33131 Property of being a fixed point. (Contributed by Thierry Arnoux, 18-Nov-2025.)
𝑈 = (Base‘𝐺)    &   (𝜑𝐴 ∈ (𝐺 GrpAct 𝐶))    &   (𝜑𝑋𝐶)       (𝜑 → (𝑋 ∈ (𝐶FixPts𝐴) ↔ ∀𝑝𝑈 (𝑝𝐴𝑋) = 𝑋))
 
18-Nov-2025fxpgaval 33130 Value of the set of fixed points for a group action 𝐴 (Contributed by Thierry Arnoux, 18-Nov-2025.)
𝑈 = (Base‘𝐺)    &   (𝜑𝐴 ∈ (𝐺 GrpAct 𝐶))       (𝜑 → (𝐶FixPts𝐴) = {𝑥𝐶 ∣ ∀𝑝𝑈 (𝑝𝐴𝑥) = 𝑥})
 
18-Nov-2025fxpss 33129 The set of fixed points is a subset of the set acted upon. (Contributed by Thierry Arnoux, 18-Nov-2025.)
(𝜑𝐵𝑉)    &   (𝜑𝐴𝑊)       (𝜑 → (𝐵FixPts𝐴) ⊆ 𝐵)
 
18-Nov-2025fxpval 33128 Value of the set of fixed points. (Contributed by Thierry Arnoux, 18-Nov-2025.)
(𝜑𝐵𝑉)    &   (𝜑𝐴𝑊)       (𝜑 → (𝐵FixPts𝐴) = {𝑥𝐵 ∣ ∀𝑝 ∈ dom dom 𝐴(𝑝𝐴𝑥) = 𝑥})
 
18-Nov-2025df-fxp 33127 Define the set of fixed points left unchanged by a group action. (Contributed by Thierry Arnoux, 18-Nov-2025.)
FixPts = (𝑏 ∈ V, 𝑎 ∈ V ↦ {𝑥𝑏 ∣ ∀𝑝 ∈ dom dom 𝑎(𝑝𝑎𝑥) = 𝑥})
 
18-Nov-2025ralimd6v 3191 Deduction sextupally quantifying both antecedent and consequent. (Contributed by Scott Fenton, 5-Mar-2025.) Reduce DV conditions. (Revised by Eric Schmidt, 18-Nov-2025.)
(𝜑 → (𝜓𝜒))       (𝜑 → (∀𝑥𝐴𝑦𝐵𝑧𝐶𝑤𝐷𝑝𝐸𝑞𝐹 𝜓 → ∀𝑥𝐴𝑦𝐵𝑧𝐶𝑤𝐷𝑝𝐸𝑞𝐹 𝜒))
 
18-Nov-2025ralimd4v 3189 Deduction quadrupally quantifying both antecedent and consequent. (Contributed by Scott Fenton, 2-Mar-2025.) Reduce DV conditions. (Revised by Eric Schmidt, 18-Nov-2025.)
(𝜑 → (𝜓𝜒))       (𝜑 → (∀𝑥𝐴𝑦𝐵𝑧𝐶𝑤𝐷 𝜓 → ∀𝑥𝐴𝑦𝐵𝑧𝐶𝑤𝐷 𝜒))
 
18-Nov-2025ralimdvv 3187 Deduction doubly quantifying both antecedent and consequent. (Contributed by Scott Fenton, 2-Mar-2025.) Shorten and reduce DV conditions. (Revised by Eric Schmidt, 18-Nov-2025.)
(𝜑 → (𝜓𝜒))       (𝜑 → (∀𝑥𝐴𝑦𝐵 𝜓 → ∀𝑥𝐴𝑦𝐵 𝜒))
 
17-Nov-2025initocmd 49648 Initial objects are the object part of colimits of the empty diagram. (Contributed by Zhi Wang, 17-Nov-2025.)
(InitO‘𝐶) = dom (∅(𝐶 Colimit ∅)∅)
 
17-Nov-2025isinito4a 49527 The predicate "is an initial object" of a category, using universal property. (Contributed by Zhi Wang, 17-Nov-2025.)
(𝜑1 ∈ TermCat)    &   (𝜑𝑋 ∈ (Base‘ 1 ))    &   𝐹 = ((1st ‘( 1 Δfunc𝐶))‘𝑋)       (𝜑 → (𝐼 ∈ (InitO‘𝐶) ↔ 𝐼 ∈ dom (𝐹(𝐶 UP 1 )𝑋)))
 
17-Nov-2025isinito4 49526 The predicate "is an initial object" of a category, using universal property. (Contributed by Zhi Wang, 17-Nov-2025.)
(𝜑1 ∈ TermCat)    &   (𝜑𝑋 ∈ (Base‘ 1 ))    &   (𝜑𝐹 ∈ (𝐶 Func 1 ))       (𝜑 → (𝐼 ∈ (InitO‘𝐶) ↔ 𝐼 ∈ dom (𝐹(𝐶 UP 1 )𝑋)))
 
17-Nov-2025uobeqterm 49525 Universal objects and terminal categories. (Contributed by Zhi Wang, 17-Nov-2025.)
𝐴 = (Base‘𝐷)    &   𝐵 = (Base‘𝐸)    &   (𝜑𝑋𝐴)    &   (𝜑𝑌𝐵)    &   (𝜑𝐹 ∈ (𝐶 Func 𝐷))    &   (𝜑𝐺 ∈ (𝐶 Func 𝐸))    &   (𝜑𝐷 ∈ TermCat)    &   (𝜑𝐸 ∈ TermCat)       (𝜑 → dom (𝐹(𝐶 UP 𝐷)𝑋) = dom (𝐺(𝐶 UP 𝐸)𝑌))
 
17-Nov-2025cofuterm 49524 Post-compose with a functor to a terminal category. (Contributed by Zhi Wang, 17-Nov-2025.)
(𝜑𝐹 ∈ (𝐶 Func 𝐷))    &   (𝜑𝐺 ∈ (𝐷 Func 𝐸))    &   (𝜑𝐾 ∈ (𝐶 Func 𝐸))    &   (𝜑𝐸 ∈ TermCat)       (𝜑 → (𝐺func 𝐹) = 𝐾)
 
17-Nov-2025termfucterm 49523 All functors between two terminal categories are isomorphisms. (Contributed by Zhi Wang, 17-Nov-2025.)
𝐶 = (CatCat‘𝑈)    &   𝐵 = (Base‘𝐶)    &   𝐼 = (Iso‘𝐶)    &   (𝜑𝑋𝐵)    &   (𝜑𝑋 ∈ TermCat)    &   (𝜑𝑌𝐵)    &   (𝜑𝑌 ∈ TermCat)       (𝜑 → (𝑋 Func 𝑌) = (𝑋𝐼𝑌))
 
17-Nov-20250fucterm 49522 The category of functors from an initial category is terminal. (Contributed by Zhi Wang, 17-Nov-2025.)
(𝜑𝐶𝑉)    &   (𝜑 → ∅ = (Base‘𝐶))    &   (𝜑𝐷 ∈ Cat)    &   𝑄 = (𝐶 FuncCat 𝐷)       (𝜑𝑄 ∈ TermCat)
 
17-Nov-2025fucterm 49521 The category of functors to a terminal category is terminal. (Contributed by Zhi Wang, 17-Nov-2025.)
𝑄 = (𝐶 FuncCat 𝐷)    &   (𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ TermCat)       (𝜑𝑄 ∈ TermCat)
 
17-Nov-2025funcsn 49520 The category of one functor to a thin category is terminal. (Contributed by Zhi Wang, 17-Nov-2025.)
𝑄 = (𝐶 FuncCat 𝐷)    &   (𝜑𝐹𝑉)    &   (𝜑 → (𝐶 Func 𝐷) = {𝐹})    &   (𝜑𝐷 ∈ ThinCat)       (𝜑𝑄 ∈ TermCat)
 
17-Nov-2025termco 49460 The object of a terminal category. (Contributed by Zhi Wang, 17-Nov-2025.)
(𝜑𝐶 ∈ TermCat)    &   𝐵 = (Base‘𝐶)       (𝜑 𝐵𝐵)
 
17-Nov-2025uobeq3 49381 An isomorphism between categories generates equal sets of universal objects. (Contributed by Zhi Wang, 17-Nov-2025.)
𝐵 = (Base‘𝐷)    &   (𝜑𝑋𝐵)    &   (𝜑𝐹 ∈ (𝐶 Func 𝐷))    &   (𝜑 → (𝐾func 𝐹) = 𝐺)    &   (𝜑 → ((1st𝐾)‘𝑋) = 𝑌)    &   𝑄 = (CatCat‘𝑈)    &   𝐼 = (Iso‘𝑄)    &   (𝜑𝐾 ∈ (𝐷𝐼𝐸))       (𝜑 → dom (𝐹(𝐶 UP 𝐷)𝑋) = dom (𝐺(𝐶 UP 𝐸)𝑌))
 
17-Nov-2025uobeq2 49380 If a full functor (in fact, a full embedding) is a section, then the sets of universal objects are equal. (Contributed by Zhi Wang, 17-Nov-2025.)
𝐵 = (Base‘𝐷)    &   (𝜑𝑋𝐵)    &   (𝜑𝐹 ∈ (𝐶 Func 𝐷))    &   (𝜑 → (𝐾func 𝐹) = 𝐺)    &   (𝜑 → ((1st𝐾)‘𝑋) = 𝑌)    &   𝑄 = (CatCat‘𝑈)    &   𝑆 = (Sect‘𝑄)    &   (𝜑𝐾 ∈ (𝐷 Full 𝐸))    &   (𝜑𝐾 ∈ dom (𝐷𝑆𝐸))       (𝜑 → dom (𝐹(𝐶 UP 𝐷)𝑋) = dom (𝐺(𝐶 UP 𝐸)𝑌))
 
17-Nov-2025catcisoi 49379 A functor is an isomorphism of categories only if it is full and faithful, and is a bijection on the objects. Remark 3.28(2) in [Adamek] p. 34. (Contributed by Zhi Wang, 17-Nov-2025.)
𝐶 = (CatCat‘𝑈)    &   𝑅 = (Base‘𝑋)    &   𝑆 = (Base‘𝑌)    &   𝐼 = (Iso‘𝐶)    &   (𝜑𝐹 ∈ (𝑋𝐼𝑌))       (𝜑 → (𝐹 ∈ ((𝑋 Full 𝑌) ∩ (𝑋 Faith 𝑌)) ∧ (1st𝐹):𝑅1-1-onto𝑆))
 
17-Nov-2025uobeq 49199 If a full functor (in fact, a full embedding) is a section of a functor (surjective on objects), then the sets of universal objects are equal. (Contributed by Zhi Wang, 17-Nov-2025.)
𝐵 = (Base‘𝐷)    &   (𝜑𝑋𝐵)    &   (𝜑𝐹 ∈ (𝐶 Func 𝐷))    &   (𝜑 → (𝐾func 𝐹) = 𝐺)    &   (𝜑 → ((1st𝐾)‘𝑋) = 𝑌)    &   𝐼 = (idfunc𝐷)    &   (𝜑𝐾 ∈ (𝐷 Full 𝐸))    &   (𝜑 → (𝐿func 𝐾) = 𝐼)    &   (𝜑𝐿 ∈ (𝐸 Func 𝐷))       (𝜑 → dom (𝐹(𝐶 UP 𝐷)𝑋) = dom (𝐺(𝐶 UP 𝐸)𝑌))
 
17-Nov-2025uobeqw 49198 If a full functor (in fact, a full embedding) is a section of a fully faithful functor (surjective on objects), then the sets of universal objects are equal. (Contributed by Zhi Wang, 17-Nov-2025.)
𝐵 = (Base‘𝐷)    &   (𝜑𝑋𝐵)    &   (𝜑𝐹 ∈ (𝐶 Func 𝐷))    &   (𝜑 → (𝐾func 𝐹) = 𝐺)    &   (𝜑 → ((1st𝐾)‘𝑋) = 𝑌)    &   𝐼 = (idfunc𝐷)    &   (𝜑𝐾 ∈ (𝐷 Full 𝐸))    &   (𝜑 → (𝐿func 𝐾) = 𝐼)    &   (𝜑𝐿 ∈ ((𝐸 Full 𝐷) ∩ (𝐸 Faith 𝐷)))       (𝜑 → dom (𝐹(𝐶 UP 𝐷)𝑋) = dom (𝐺(𝐶 UP 𝐸)𝑌))
 
17-Nov-2025uptrar 49195 Universal property and fully faithful functor. (Contributed by Zhi Wang, 17-Nov-2025.)
(𝜑 → ((1st𝐾)‘𝑋) = 𝑌)    &   (𝜑𝐾 ∈ ((𝐷 Full 𝐸) ∩ (𝐷 Faith 𝐸)))    &   (𝜑 → (𝐾func 𝐹) = 𝐺)    &   𝐵 = (Base‘𝐷)    &   (𝜑𝑋𝐵)    &   (𝜑𝐹 ∈ (𝐶 Func 𝐷))    &   (𝜑 → ((𝑋(2nd𝐾)((1st𝐹)‘𝑍))‘𝑁) = 𝑀)    &   (𝜑𝑍(𝐺(𝐶 UP 𝐸)𝑌)𝑁)       (𝜑𝑍(𝐹(𝐶 UP 𝐷)𝑋)𝑀)
 
17-Nov-2025uobrcl 49172 Reverse closure for universal object. (Contributed by Zhi Wang, 17-Nov-2025.)
(𝑋 ∈ dom (𝐹(𝐷 UP 𝐸)𝑊) → (𝐷 ∈ Cat ∧ 𝐸 ∈ Cat))
 
17-Nov-2025oppff1o 49128 The operation generating opposite functors is bijective. (Contributed by Zhi Wang, 17-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   (𝜑𝐶𝑉)    &   (𝜑𝐷𝑊)       (𝜑 → ( oppFunc ↾ (𝐶 Func 𝐷)):(𝐶 Func 𝐷)–1-1-onto→(𝑂 Func 𝑃))
 
17-Nov-2025oppff1 49127 The operation generating opposite functors is injective. (Contributed by Zhi Wang, 17-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)       ( oppFunc ↾ (𝐶 Func 𝐷)):(𝐶 Func 𝐷)–1-1→(𝑂 Func 𝑃)
 
17-Nov-20252oppffunc 49125 The opposite functor of an opposite functor is a functor on the original categories. (Contributed by Zhi Wang, 14-Nov-2025.) The functor in opposite categories does not have to be an opposite functor. (Revised by Zhi Wang, 17-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   (𝜑𝐶𝑉)    &   (𝜑𝐷𝑊)    &   (𝜑𝐹 ∈ (𝑂 Func 𝑃))       (𝜑 → ( oppFunc ‘𝐹) ∈ (𝐶 Func 𝐷))
 
17-Nov-2025oppffn 49103 oppFunc is a function on (V × V). (Contributed by Zhi Wang, 17-Nov-2025.)
oppFunc Fn (V × V)
 
17-Nov-2025isoval2 49014 The isomorphisms are the domain of the inverse relation. (Contributed by Zhi Wang, 17-Nov-2025.)
𝑁 = (Inv‘𝐶)    &   𝐼 = (Iso‘𝐶)       (𝑋𝐼𝑌) = dom (𝑋𝑁𝑌)
 
17-Nov-2025isorcl2 49013 Reverse closure for isomorphism relations. (Contributed by Zhi Wang, 17-Nov-2025.)
𝐼 = (Iso‘𝐶)    &   (𝜑𝐹 ∈ (𝑋𝐼𝑌))    &   𝐵 = (Base‘𝐶)       (𝜑 → (𝑋𝐵𝑌𝐵))
 
17-Nov-2025isorcl 49012 Reverse closure for isomorphism relations. (Contributed by Zhi Wang, 17-Nov-2025.)
𝐼 = (Iso‘𝐶)    &   (𝜑𝐹 ∈ (𝑋𝐼𝑌))       (𝜑𝐶 ∈ Cat)
 
17-Nov-2025pgnbgreunbgrlem2lem3 48096 Lemma 3 for pgnbgreunbgrlem2 48097. (Contributed by AV, 17-Nov-2025.)
𝐺 = (5 gPetersenGr 2)    &   𝑉 = (Vtx‘𝐺)    &   𝐸 = (Edg‘𝐺)    &   𝑁 = (𝐺 NeighbVtx 𝑋)       ((((𝐿 = ⟨1, ((𝑦 + 2) mod 5)⟩ ∧ 𝐾 = ⟨1, ((𝑦 − 2) mod 5)⟩) ∧ (𝑏 ∈ (0..^5) ∧ 𝑦 ∈ (0..^5))) ∧ {𝐾, ⟨0, 𝑏⟩} ∈ 𝐸) → ¬ {⟨0, 𝑏⟩, 𝐿} ∈ 𝐸)
 
16-Nov-2025uptrai 49196 Universal property and fully faithful functor. (Contributed by Zhi Wang, 16-Nov-2025.)
(𝜑 → ((1st𝐾)‘𝑋) = 𝑌)    &   (𝜑𝐾 ∈ ((𝐷 Full 𝐸) ∩ (𝐷 Faith 𝐸)))    &   (𝜑 → (𝐾func 𝐹) = 𝐺)    &   (𝜑 → ((𝑋(2nd𝐾)((1st𝐹)‘𝑍))‘𝑀) = 𝑁)    &   (𝜑𝑍(𝐹(𝐶 UP 𝐷)𝑋)𝑀)       (𝜑𝑍(𝐺(𝐶 UP 𝐸)𝑌)𝑁)
 
16-Nov-2025uptra 49194 Universal property and fully faithful functor. (Contributed by Zhi Wang, 16-Nov-2025.)
(𝜑 → ((1st𝐾)‘𝑋) = 𝑌)    &   (𝜑𝐾 ∈ ((𝐷 Full 𝐸) ∩ (𝐷 Faith 𝐸)))    &   (𝜑 → (𝐾func 𝐹) = 𝐺)    &   𝐵 = (Base‘𝐷)    &   (𝜑𝑋𝐵)    &   (𝜑𝐹 ∈ (𝐶 Func 𝐷))    &   (𝜑 → ((𝑋(2nd𝐾)((1st𝐹)‘𝑍))‘𝑀) = 𝑁)    &   𝐽 = (Hom ‘𝐷)    &   (𝜑𝑀 ∈ (𝑋𝐽((1st𝐹)‘𝑍)))       (𝜑 → (𝑍(𝐹(𝐶 UP 𝐷)𝑋)𝑀𝑍(𝐺(𝐶 UP 𝐸)𝑌)𝑁))
 
16-Nov-2025uptri 49193 Universal property and fully faithful functor. (Contributed by Zhi Wang, 16-Nov-2025.)
(𝜑 → (𝑅𝑋) = 𝑌)    &   (𝜑𝑅((𝐷 Full 𝐸) ∩ (𝐷 Faith 𝐸))𝑆)    &   (𝜑 → (⟨𝑅, 𝑆⟩ ∘func𝐹, 𝐺⟩) = ⟨𝐾, 𝐿⟩)    &   (𝜑 → ((𝑋𝑆(𝐹𝑍))‘𝑀) = 𝑁)    &   (𝜑𝑍(⟨𝐹, 𝐺⟩(𝐶 UP 𝐷)𝑋)𝑀)       (𝜑𝑍(⟨𝐾, 𝐿⟩(𝐶 UP 𝐸)𝑌)𝑁)
 
16-Nov-2025uptr 49192 Universal property and fully faithful functor. (Contributed by Zhi Wang, 16-Nov-2025.)
(𝜑 → (𝑅𝑋) = 𝑌)    &   (𝜑𝑅((𝐷 Full 𝐸) ∩ (𝐷 Faith 𝐸))𝑆)    &   (𝜑 → (⟨𝑅, 𝑆⟩ ∘func𝐹, 𝐺⟩) = ⟨𝐾, 𝐿⟩)    &   𝐵 = (Base‘𝐷)    &   (𝜑𝑋𝐵)    &   (𝜑𝐹(𝐶 Func 𝐷)𝐺)    &   (𝜑 → ((𝑋𝑆(𝐹𝑍))‘𝑀) = 𝑁)    &   𝐽 = (Hom ‘𝐷)    &   (𝜑𝑀 ∈ (𝑋𝐽(𝐹𝑍)))       (𝜑 → (𝑍(⟨𝐹, 𝐺⟩(𝐶 UP 𝐷)𝑋)𝑀𝑍(⟨𝐾, 𝐿⟩(𝐶 UP 𝐸)𝑌)𝑁))
 
16-Nov-2025uptrlem3 49191 Lemma for uptr 49192. (Contributed by Zhi Wang, 16-Nov-2025.)
(𝜑 → (𝑅𝑋) = 𝑌)    &   (𝜑𝑅((𝐷 Full 𝐸) ∩ (𝐷 Faith 𝐸))𝑆)    &   (𝜑 → (⟨𝑅, 𝑆⟩ ∘func𝐹, 𝐺⟩) = ⟨𝐾, 𝐿⟩)    &   𝐵 = (Base‘𝐷)    &   (𝜑𝑋𝐵)    &   (𝜑𝐹(𝐶 Func 𝐷)𝐺)    &   (𝜑 → ((𝑋𝑆(𝐹𝑍))‘𝑀) = 𝑁)    &   𝐽 = (Hom ‘𝐷)    &   (𝜑𝑀 ∈ (𝑋𝐽(𝐹𝑍)))    &   𝐴 = (Base‘𝐶)    &   (𝜑𝑍𝐴)       (𝜑 → (𝑍(⟨𝐹, 𝐺⟩(𝐶 UP 𝐷)𝑋)𝑀𝑍(⟨𝐾, 𝐿⟩(𝐶 UP 𝐸)𝑌)𝑁))
 
16-Nov-2025uptrlem2 49190 Lemma for uptr 49192. (Contributed by Zhi Wang, 16-Nov-2025.)
𝐻 = (Hom ‘𝐶)    &   𝐼 = (Hom ‘𝐷)    &   𝐽 = (Hom ‘𝐸)    &    = (comp‘𝐷)    &    = (comp‘𝐸)    &   𝐴 = (Base‘𝐶)    &   𝐵 = (Base‘𝐷)    &   (𝜑𝑋𝐵)    &   (𝜑 → ((1st𝐾)‘𝑋) = 𝑌)    &   (𝜑𝑍𝐴)    &   (𝜑𝑊𝐴)    &   (𝜑𝑀 ∈ (𝑋𝐼((1st𝐹)‘𝑍)))    &   (𝜑 → ((𝑋(2nd𝐾)((1st𝐹)‘𝑍))‘𝑀) = 𝑁)    &   (𝜑𝐹 ∈ (𝐶 Func 𝐷))    &   (𝜑𝐾 ∈ ((𝐷 Full 𝐸) ∩ (𝐷 Faith 𝐸)))    &   (𝜑 → (𝐾func 𝐹) = 𝐺)       (𝜑 → (∀ ∈ (𝑌𝐽((1st𝐺)‘𝑊))∃!𝑘 ∈ (𝑍𝐻𝑊) = (((𝑍(2nd𝐺)𝑊)‘𝑘)(⟨𝑌, ((1st𝐺)‘𝑍)⟩ ((1st𝐺)‘𝑊))𝑁) ↔ ∀𝑔 ∈ (𝑋𝐼((1st𝐹)‘𝑊))∃!𝑘 ∈ (𝑍𝐻𝑊)𝑔 = (((𝑍(2nd𝐹)𝑊)‘𝑘)(⟨𝑋, ((1st𝐹)‘𝑍)⟩ ((1st𝐹)‘𝑊))𝑀)))
 
16-Nov-2025uptrlem1 49189 Lemma for uptr 49192. (Contributed by Zhi Wang, 16-Nov-2025.)
𝐻 = (Hom ‘𝐶)    &   𝐼 = (Hom ‘𝐷)    &   𝐽 = (Hom ‘𝐸)    &    = (comp‘𝐷)    &    = (comp‘𝐸)    &   (𝜑𝑋 ∈ (Base‘𝐷))    &   (𝜑 → (𝑀𝑋) = 𝑌)    &   (𝜑𝑍 ∈ (Base‘𝐶))    &   (𝜑𝑊 ∈ (Base‘𝐶))    &   (𝜑𝐴 ∈ (𝑋𝐼(𝐹𝑍)))    &   (𝜑 → ((𝑋𝑁(𝐹𝑍))‘𝐴) = 𝐵)    &   (𝜑𝐹(𝐶 Func 𝐷)𝐺)    &   (𝜑𝑀((𝐷 Full 𝐸) ∩ (𝐷 Faith 𝐸))𝑁)    &   (𝜑 → (⟨𝑀, 𝑁⟩ ∘func𝐹, 𝐺⟩) = ⟨𝐾, 𝐿⟩)       (𝜑 → (∀ ∈ (𝑌𝐽(𝐾𝑊))∃!𝑘 ∈ (𝑍𝐻𝑊) = (((𝑍𝐿𝑊)‘𝑘)(⟨𝑌, (𝐾𝑍)⟩ (𝐾𝑊))𝐵) ↔ ∀𝑔 ∈ (𝑋𝐼(𝐹𝑊))∃!𝑘 ∈ (𝑍𝐻𝑊)𝑔 = (((𝑍𝐺𝑊)‘𝑘)(⟨𝑋, (𝐹𝑍)⟩ (𝐹𝑊))𝐴)))
 
16-Nov-2025idemb 49138 The inclusion functor is an embedding. Remark 4.4(1) in [Adamek] p. 49. (Contributed by Zhi Wang, 16-Nov-2025.)
𝐼 = (idfunc𝐶)       (𝐼 ∈ (𝐷 Func 𝐸) → (𝐼 ∈ (𝐷 Faith 𝐸) ∧ Fun (1st𝐼)))
 
16-Nov-2025idfu1stf1o 49078 The identity functor/inclusion functor is bijective on objects. (Contributed by Zhi Wang, 16-Nov-2025.)
𝐼 = (idfunc𝐶)    &   𝐵 = (Base‘𝐶)       (𝐶 ∈ Cat → (1st𝐼):𝐵1-1-onto𝐵)
 
16-Nov-2025cofucla 49075 The composition of two functors is a functor. Proposition 3.23 of [Adamek] p. 33. (Contributed by Zhi Wang, 16-Nov-2025.)
(𝜑𝐹(𝐶 Func 𝐷)𝐺)    &   (𝜑𝐾(𝐷 Func 𝐸)𝐿)       (𝜑 → (⟨𝐾, 𝐿⟩ ∘func𝐹, 𝐺⟩) ∈ (𝐶 Func 𝐸))
 
16-Nov-2025cofu2a 49074 Value of the morphism part of the functor composition. (Contributed by Zhi Wang, 16-Nov-2025.)
𝐵 = (Base‘𝐶)    &   (𝜑𝐹(𝐶 Func 𝐷)𝐺)    &   (𝜑𝐾(𝐷 Func 𝐸)𝐿)    &   (𝜑 → (⟨𝐾, 𝐿⟩ ∘func𝐹, 𝐺⟩) = ⟨𝑀, 𝑁⟩)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)    &   𝐻 = (Hom ‘𝐶)    &   (𝜑𝑅 ∈ (𝑋𝐻𝑌))       (𝜑 → (((𝐹𝑋)𝐿(𝐹𝑌))‘((𝑋𝐺𝑌)‘𝑅)) = ((𝑋𝑁𝑌)‘𝑅))
 
16-Nov-2025cofu1a 49073 Value of the object part of the functor composition. (Contributed by Zhi Wang, 16-Nov-2025.)
𝐵 = (Base‘𝐶)    &   (𝜑𝐹(𝐶 Func 𝐷)𝐺)    &   (𝜑𝐾(𝐷 Func 𝐸)𝐿)    &   (𝜑 → (⟨𝐾, 𝐿⟩ ∘func𝐹, 𝐺⟩) = ⟨𝑀, 𝑁⟩)    &   (𝜑𝑋𝐵)       (𝜑 → (𝐾‘(𝐹𝑋)) = (𝑀𝑋))
 
16-Nov-2025pgnbgreunbgrlem2lem2 48095 Lemma 2 for pgnbgreunbgrlem2 48097. (Contributed by AV, 16-Nov-2025.)
𝐺 = (5 gPetersenGr 2)    &   𝑉 = (Vtx‘𝐺)    &   𝐸 = (Edg‘𝐺)    &   𝑁 = (𝐺 NeighbVtx 𝑋)       ((((𝐿 = ⟨1, ((𝑦 − 2) mod 5)⟩ ∧ 𝐾 = ⟨0, 𝑦⟩) ∧ (𝑏 ∈ (0..^5) ∧ 𝑦 ∈ (0..^5))) ∧ {𝐾, ⟨0, 𝑏⟩} ∈ 𝐸) → ¬ {⟨0, 𝑏⟩, 𝐿} ∈ 𝐸)
 
16-Nov-2025pgnbgreunbgrlem2lem1 48094 Lemma 1 for pgnbgreunbgrlem2 48097. (Contributed by AV, 16-Nov-2025.)
𝐺 = (5 gPetersenGr 2)    &   𝑉 = (Vtx‘𝐺)    &   𝐸 = (Edg‘𝐺)    &   𝑁 = (𝐺 NeighbVtx 𝑋)       ((((𝐿 = ⟨1, ((𝑦 + 2) mod 5)⟩ ∧ 𝐾 = ⟨0, 𝑦⟩) ∧ (𝑏 ∈ (0..^5) ∧ 𝑦 ∈ (0..^5))) ∧ {𝐾, ⟨0, 𝑏⟩} ∈ 𝐸) → ¬ {⟨0, 𝑏⟩, 𝐿} ∈ 𝐸)
 
16-Nov-2025nregmodelaxext 45001 The Axiom of Extensionality ax-ext 2702 is true in the permutation model defined from 𝐹. This theorem is an immediate consequence of the fact that ax-ext 2702 holds in all permutation models and is provided as an illustration. (Contributed by Eric Schmidt, 16-Nov-2025.)
𝐹 = (( I ↾ (V ∖ {∅, {∅}})) ∪ {⟨∅, {∅}⟩, ⟨{∅}, ∅⟩})    &   𝑅 = (𝐹 ∘ E )       (∀𝑧(𝑧𝑅𝑥𝑧𝑅𝑦) → 𝑥 = 𝑦)
 
16-Nov-2025nregmodel 45000 The Axiom of Regularity ax-reg 9551 is false in the permutation model defined from 𝐹. Since the other axioms of ZFC hold in all permutation models (permaxext 44988 through permac8prim 44997), we can conclude that Regularity does not follow from those axioms, assuming ZFC is consistent. (If we could prove Regularity from the other axioms, we could prove it in the permutation model and thus obtain a contradiction with this theorem.) Since we also know that Regularity is consistent with the other axioms (wfaxext 44976 through wfac8prim 44985), Regularity is neither provable nor disprovable from the other axioms; i.e., it is independent of them. (Contributed by Eric Schmidt, 16-Nov-2025.)
𝐹 = (( I ↾ (V ∖ {∅, {∅}})) ∪ {⟨∅, {∅}⟩, ⟨{∅}, ∅⟩})    &   𝑅 = (𝐹 ∘ E )        ¬ ∀𝑥(∃𝑦 𝑦𝑅𝑥 → ∃𝑦(𝑦𝑅𝑥 ∧ ∀𝑧(𝑧𝑅𝑦 → ¬ 𝑧𝑅𝑥)))
 
16-Nov-2025nregmodellem 44999 Lemma for nregmodel 45000. (Contributed by Eric Schmidt, 16-Nov-2025.)
𝐹 = (( I ↾ (V ∖ {∅, {∅}})) ∪ {⟨∅, {∅}⟩, ⟨{∅}, ∅⟩})    &   𝑅 = (𝐹 ∘ E )       (𝑥𝑅∅ ↔ 𝑥 ∈ {∅})
 
16-Nov-2025nregmodelf1o 44998 Define a permutation 𝐹 used to produce a model in which ax-reg 9551 is false. The permutation swaps and {∅} and leaves the rest of 𝑉 fixed. This is an example given after Exercise II.9.2 of [Kunen2] p. 148. (Contributed by Eric Schmidt, 16-Nov-2025.)
𝐹 = (( I ↾ (V ∖ {∅, {∅}})) ∪ {⟨∅, {∅}⟩, ⟨{∅}, ∅⟩})       𝐹:V–1-1-onto→V
 
16-Nov-2025permac8prim 44997 The Axiom of Choice ac8prim 44974 holds in permutation models. Part of Exercise II.9.3 of [Kunen2] p. 149. Note that ax-ac 10418 requires Regularity for its derivation from the usual Axiom of Choice and does not necessarily hold in permutation models. (Contributed by Eric Schmidt, 16-Nov-2025.)
𝐹:V–1-1-onto→V    &   𝑅 = (𝐹 ∘ E )       ((∀𝑧(𝑧𝑅𝑥 → ∃𝑤 𝑤𝑅𝑧) ∧ ∀𝑧𝑤((𝑧𝑅𝑥𝑤𝑅𝑥) → (¬ 𝑧 = 𝑤 → ∀𝑦(𝑦𝑅𝑧 → ¬ 𝑦𝑅𝑤)))) → ∃𝑦𝑧(𝑧𝑅𝑥 → ∃𝑤𝑣((𝑣𝑅𝑧𝑣𝑅𝑦) ↔ 𝑣 = 𝑤)))
 
15-Nov-2025cofidfth 49141 If "𝐹 is a section of 𝐺 " in a category of small categories (in a universe), then 𝐹 is faithful. Combined with cofidf1 49100, this theorem proves that 𝐹 is an embedding (a faithful functor injective on objects, remark 3.28(1) of [Adamek] p. 34). (Contributed by Zhi Wang, 15-Nov-2025.)
𝐼 = (idfunc𝐷)    &   (𝜑𝐹(𝐷 Func 𝐸)𝐺)    &   (𝜑𝐾(𝐸 Func 𝐷)𝐿)    &   (𝜑 → (⟨𝐾, 𝐿⟩ ∘func𝐹, 𝐺⟩) = 𝐼)       (𝜑𝐹(𝐷 Faith 𝐸)𝐺)
 
15-Nov-2025cofidf1 49100 If "𝐹, 𝐺 is a section of 𝐾, 𝐿 " in a category of small categories (in a universe), then 𝐹 is injective, and 𝐾 is surjective. (Contributed by Zhi Wang, 15-Nov-2025.)
𝐼 = (idfunc𝐷)    &   𝐵 = (Base‘𝐷)    &   (𝜑𝐹(𝐷 Func 𝐸)𝐺)    &   (𝜑𝐾(𝐸 Func 𝐷)𝐿)    &   (𝜑 → (⟨𝐾, 𝐿⟩ ∘func𝐹, 𝐺⟩) = 𝐼)    &   𝐶 = (Base‘𝐸)       (𝜑 → (𝐹:𝐵1-1𝐶𝐾:𝐶onto𝐵))
 
15-Nov-2025cofidf2 49099 If "𝐹 is a section of 𝐺 " in a category of small categories (in a universe), then the morphism part of 𝐹 is injective, and the morphism part of 𝐺 is surjective in the image of 𝐹. (Contributed by Zhi Wang, 15-Nov-2025.)
𝐼 = (idfunc𝐷)    &   𝐵 = (Base‘𝐷)    &   (𝜑𝐹(𝐷 Func 𝐸)𝐺)    &   (𝜑𝐾(𝐸 Func 𝐷)𝐿)    &   (𝜑 → (⟨𝐾, 𝐿⟩ ∘func𝐹, 𝐺⟩) = 𝐼)    &   𝐻 = (Hom ‘𝐷)    &   𝐽 = (Hom ‘𝐸)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)       (𝜑 → ((𝑋𝐺𝑌):(𝑋𝐻𝑌)–1-1→((𝐹𝑋)𝐽(𝐹𝑌)) ∧ ((𝐹𝑋)𝐿(𝐹𝑌)):((𝐹𝑋)𝐽(𝐹𝑌))–onto→(𝑋𝐻𝑌)))
 
15-Nov-2025cofidval 49098 The property "𝐹, 𝐺 is a section of 𝐾, 𝐿 " in a category of small categories (in a universe); expressed explicitly. (Contributed by Zhi Wang, 15-Nov-2025.)
𝐼 = (idfunc𝐷)    &   𝐵 = (Base‘𝐷)    &   (𝜑𝐹(𝐷 Func 𝐸)𝐺)    &   (𝜑𝐾(𝐸 Func 𝐷)𝐿)    &   (𝜑 → (⟨𝐾, 𝐿⟩ ∘func𝐹, 𝐺⟩) = 𝐼)    &   𝐻 = (Hom ‘𝐷)       (𝜑 → ((𝐾𝐹) = ( I ↾ 𝐵) ∧ (𝑥𝐵, 𝑦𝐵 ↦ (((𝐹𝑥)𝐿(𝐹𝑦)) ∘ (𝑥𝐺𝑦))) = (𝑧 ∈ (𝐵 × 𝐵) ↦ ( I ↾ (𝐻𝑧)))))
 
15-Nov-2025cofidf1a 49097 If "𝐹 is a section of 𝐺 " in a category of small categories (in a universe), then the object part of 𝐹 is injective, and the object part of 𝐺 is surjective. (Contributed by Zhi Wang, 15-Nov-2025.)
𝐼 = (idfunc𝐷)    &   𝐵 = (Base‘𝐷)    &   (𝜑𝐹 ∈ (𝐷 Func 𝐸))    &   (𝜑𝐺 ∈ (𝐸 Func 𝐷))    &   (𝜑 → (𝐺func 𝐹) = 𝐼)    &   𝐶 = (Base‘𝐸)       (𝜑 → ((1st𝐹):𝐵1-1𝐶 ∧ (1st𝐺):𝐶onto𝐵))
 
15-Nov-2025cofidf2a 49096 If "𝐹 is a section of 𝐺 " in a category of small categories (in a universe), then the morphism part of 𝐹 is injective, and the morphism part of 𝐺 is surjective in the image of 𝐹. (Contributed by Zhi Wang, 15-Nov-2025.)
𝐼 = (idfunc𝐷)    &   𝐵 = (Base‘𝐷)    &   (𝜑𝐹 ∈ (𝐷 Func 𝐸))    &   (𝜑𝐺 ∈ (𝐸 Func 𝐷))    &   (𝜑 → (𝐺func 𝐹) = 𝐼)    &   𝐻 = (Hom ‘𝐷)    &   𝐽 = (Hom ‘𝐸)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)       (𝜑 → ((𝑋(2nd𝐹)𝑌):(𝑋𝐻𝑌)–1-1→(((1st𝐹)‘𝑋)𝐽((1st𝐹)‘𝑌)) ∧ (((1st𝐹)‘𝑋)(2nd𝐺)((1st𝐹)‘𝑌)):(((1st𝐹)‘𝑋)𝐽((1st𝐹)‘𝑌))–onto→(𝑋𝐻𝑌)))
 
15-Nov-2025cofidvala 49095 The property "𝐹 is a section of 𝐺 " in a category of small categories (in a universe); expressed explicitly. (Contributed by Zhi Wang, 15-Nov-2025.)
𝐼 = (idfunc𝐷)    &   𝐵 = (Base‘𝐷)    &   (𝜑𝐹 ∈ (𝐷 Func 𝐸))    &   (𝜑𝐺 ∈ (𝐸 Func 𝐷))    &   (𝜑 → (𝐺func 𝐹) = 𝐼)    &   𝐻 = (Hom ‘𝐷)       (𝜑 → (((1st𝐺) ∘ (1st𝐹)) = ( I ↾ 𝐵) ∧ (𝑥𝐵, 𝑦𝐵 ↦ ((((1st𝐹)‘𝑥)(2nd𝐺)((1st𝐹)‘𝑦)) ∘ (𝑥(2nd𝐹)𝑦))) = (𝑧 ∈ (𝐵 × 𝐵) ↦ ( I ↾ (𝐻𝑧)))))
 
15-Nov-2025cofid2 49094 Express the morphism part of (𝐺func 𝐹) = 𝐼 explicitly. (Contributed by Zhi Wang, 15-Nov-2025.)
𝐼 = (idfunc𝐷)    &   𝐵 = (Base‘𝐷)    &   (𝜑𝑋𝐵)    &   (𝜑𝐹(𝐷 Func 𝐸)𝐺)    &   (𝜑𝐾(𝐸 Func 𝐷)𝐿)    &   (𝜑 → (⟨𝐾, 𝐿⟩ ∘func𝐹, 𝐺⟩) = 𝐼)    &   (𝜑𝑌𝐵)    &   𝐻 = (Hom ‘𝐷)    &   (𝜑𝑅 ∈ (𝑋𝐻𝑌))       (𝜑 → (((𝐹𝑋)𝐿(𝐹𝑌))‘((𝑋𝐺𝑌)‘𝑅)) = 𝑅)
 
15-Nov-2025cofid1 49093 Express the object part of (𝐺func 𝐹) = 𝐼 explicitly. (Contributed by Zhi Wang, 15-Nov-2025.)
𝐼 = (idfunc𝐷)    &   𝐵 = (Base‘𝐷)    &   (𝜑𝑋𝐵)    &   (𝜑𝐹(𝐷 Func 𝐸)𝐺)    &   (𝜑𝐾(𝐸 Func 𝐷)𝐿)    &   (𝜑 → (⟨𝐾, 𝐿⟩ ∘func𝐹, 𝐺⟩) = 𝐼)       (𝜑 → (𝐾‘(𝐹𝑋)) = 𝑋)
 
15-Nov-2025cofid2a 49092 Express the morphism part of (𝐺func 𝐹) = 𝐼 explicitly. (Contributed by Zhi Wang, 15-Nov-2025.)
𝐼 = (idfunc𝐷)    &   𝐵 = (Base‘𝐷)    &   (𝜑𝑋𝐵)    &   (𝜑𝐹 ∈ (𝐷 Func 𝐸))    &   (𝜑𝐺 ∈ (𝐸 Func 𝐷))    &   (𝜑 → (𝐺func 𝐹) = 𝐼)    &   (𝜑𝑌𝐵)    &   𝐻 = (Hom ‘𝐷)    &   (𝜑𝑅 ∈ (𝑋𝐻𝑌))       (𝜑 → ((((1st𝐹)‘𝑋)(2nd𝐺)((1st𝐹)‘𝑌))‘((𝑋(2nd𝐹)𝑌)‘𝑅)) = 𝑅)
 
15-Nov-2025cofid1a 49091 Express the object part of (𝐺func 𝐹) = 𝐼 explicitly. (Contributed by Zhi Wang, 15-Nov-2025.)
𝐼 = (idfunc𝐷)    &   𝐵 = (Base‘𝐷)    &   (𝜑𝑋𝐵)    &   (𝜑𝐹 ∈ (𝐷 Func 𝐸))    &   (𝜑𝐺 ∈ (𝐸 Func 𝐷))    &   (𝜑 → (𝐺func 𝐹) = 𝐼)       (𝜑 → ((1st𝐺)‘((1st𝐹)‘𝑋)) = 𝑋)
 
15-Nov-2025cofu1st2nd 49071 Rewrite the functor composition with separated functor parts. (Contributed by Zhi Wang, 15-Nov-2025.)
(𝜑𝐹 ∈ (𝐶 Func 𝐷))    &   (𝜑𝐺 ∈ (𝐷 Func 𝐸))       (𝜑 → (𝐺func 𝐹) = (⟨(1st𝐺), (2nd𝐺)⟩ ∘func ⟨(1st𝐹), (2nd𝐹)⟩))
 
15-Nov-2025initc 49070 Sets with empty base are the only initial objects in the category of small categories. Example 7.2(3) of [Adamek] p. 101. (Contributed by Zhi Wang, 15-Nov-2025.)
((𝐶 ∈ V ∧ ∅ = (Base‘𝐶)) ↔ ∀𝑑 ∈ Cat ∃!𝑓 𝑓 ∈ (𝐶 Func 𝑑))
 
15-Nov-2025func2nd 49057 Extract the second member of a functor. (Contributed by Zhi Wang, 15-Nov-2025.)
(𝜑𝐹(𝐶 Func 𝐷)𝐺)       (𝜑 → (2nd ‘⟨𝐹, 𝐺⟩) = 𝐺)
 
15-Nov-2025func1st 49056 Extract the first member of a functor. (Contributed by Zhi Wang, 15-Nov-2025.)
(𝜑𝐹(𝐶 Func 𝐷)𝐺)       (𝜑 → (1st ‘⟨𝐹, 𝐺⟩) = 𝐹)
 
15-Nov-2025pgnbgreunbgrlem1 48093 Lemma 1 for pgnbgreunbgr 48105. (Contributed by AV, 15-Nov-2025.)
𝐺 = (5 gPetersenGr 2)    &   𝑉 = (Vtx‘𝐺)    &   𝐸 = (Edg‘𝐺)    &   𝑁 = (𝐺 NeighbVtx 𝑋)       ((𝐿 = ⟨0, (((2nd𝑋) + 1) mod 5)⟩ ∨ 𝐿 = ⟨1, (2nd𝑋)⟩ ∨ 𝐿 = ⟨0, (((2nd𝑋) − 1) mod 5)⟩) → ((𝐾 = ⟨0, (((2nd𝑋) + 1) mod 5)⟩ ∨ 𝐾 = ⟨1, (2nd𝑋)⟩ ∨ 𝐾 = ⟨0, (((2nd𝑋) − 1) mod 5)⟩) → ((𝑋𝑉𝑋 = ⟨0, 𝑦⟩) → ((𝐾𝐿 ∧ (𝑏 ∈ (0..^5) ∧ 𝑦 ∈ (0..^5))) → (({𝐾, ⟨0, 𝑏⟩} ∈ 𝐸 ∧ {⟨0, 𝑏⟩, 𝐿} ∈ 𝐸) → 𝑋 = ⟨0, 𝑏⟩)))))
 
15-Nov-2025gpgedg2ov 48047 The edges of the generalized Petersen graph GPG(N,K) between two outside vertices. (Contributed by AV, 15-Nov-2025.)
𝐽 = (1..^(⌈‘(𝑁 / 2)))    &   𝐼 = (0..^𝑁)    &   𝐺 = (𝑁 gPetersenGr 𝐾)    &   𝐸 = (Edg‘𝐺)       (((𝑁 ∈ (ℤ‘5) ∧ 𝐾𝐽) ∧ (𝑋𝐼𝑌𝐼)) → (({⟨0, ((𝑌 − 1) mod 𝑁)⟩, ⟨0, 𝑋⟩} ∈ 𝐸 ∧ {⟨0, 𝑋⟩, ⟨0, ((𝑌 + 1) mod 𝑁)⟩} ∈ 𝐸) ↔ 𝑋 = 𝑌))
 
15-Nov-2025modm1p1ne 47361 If an integer minus one equals another integer plus one modulo an integer greater than 4, then the first integer plus one is not equal to the second integer minus one modulo the same modulus. (Contributed by AV, 15-Nov-2025.)
𝐼 = (0..^𝑁)       ((𝑁 ∈ (ℤ‘5) ∧ 𝑋𝐼𝑌𝐼) → (((𝑌 − 1) mod 𝑁) = ((𝑋 + 1) mod 𝑁) → ((𝑌 + 1) mod 𝑁) ≠ ((𝑋 − 1) mod 𝑁)))
 
15-Nov-2025modm1nep1 47356 A nonnegative integer less than a modulus greater than 2 plus/minus one are not equal modulo the modulus. (Contributed by AV, 15-Nov-2025.)
𝐼 = (0..^𝑁)       ((𝑁 ∈ (ℤ‘3) ∧ 𝑌𝐼) → ((𝑌 − 1) mod 𝑁) ≠ ((𝑌 + 1) mod 𝑁))
 
15-Nov-2025mod2addne 47355 The sums of a nonnegative integer less than the modulus and two integers whose difference is less than the modulus are not equal modulo the modulus. (Contributed by AV, 15-Nov-2025.)
𝐼 = (0..^𝑁)       ((𝑁 ∈ ℕ ∧ (𝑋𝐼𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (abs‘(𝐴𝐵)) ∈ (1..^𝑁)) → ((𝑋 + 𝐴) mod 𝑁) ≠ ((𝑋 + 𝐵) mod 𝑁))
 
15-Nov-2025modmknepk 47353 A nonnegative integer less than the modulus plus/minus a positive integer less than (the ceiling of) half of the modulus are not equal modulo the modulus. For this theorem, it is essential that 𝐾 < (𝑁 / 2)! (Contributed by AV, 3-Sep-2025.) (Revised by AV, 15-Nov-2025.)
𝐽 = (1..^(⌈‘(𝑁 / 2)))    &   𝐼 = (0..^𝑁)       ((𝑁 ∈ (ℤ‘3) ∧ 𝑌𝐼𝐾𝐽) → ((𝑌𝐾) mod 𝑁) ≠ ((𝑌 + 𝐾) mod 𝑁))
 
15-Nov-2025modmkpkne 47352 If an integer minus a constant equals another integer plus the constant modulo 𝑁, then the first integer plus the constant equals the second integer minus the constant modulo 𝑁 iff the fourfold of the constant is a multiple of 𝑁. (Contributed by AV, 15-Nov-2025.)
((𝑁 ∈ ℕ ∧ (𝑋 ∈ ℤ ∧ 𝑌 ∈ ℤ ∧ 𝐾 ∈ ℤ)) → (((𝑌𝐾) mod 𝑁) = ((𝑋 + 𝐾) mod 𝑁) → (((𝑌 + 𝐾) mod 𝑁) = ((𝑋𝐾) mod 𝑁) ↔ ((4 · 𝐾) mod 𝑁) = 0)))
 
15-Nov-2025trisecnconstr 33788 Not all angles can be trisected. (Contributed by Thierry Arnoux, 15-Nov-2025.)
¬ ∀𝑜 ∈ Constr (𝑜𝑐(1 / 3)) ∈ Constr
 
15-Nov-2025cos9thpinconstr 33787 Trisecting an angle is an impossible construction. Given for example 𝑂 = (exp‘((i · (2 · π)) / 3)), which represents an angle of ((2 · π) / 3), the cube root of 𝑂 is not constructible with straightedge and compass, while 𝑂 itself is constructible. This is the second part of Metamath 100 proof #8. Theorem 7.14 of [Stewart] p. 99. (Contributed by Thierry Arnoux and Saveliy Skresanov, 15-Nov-2025.)
𝑂 = (exp‘((i · (2 · π)) / 3))    &   𝑍 = (𝑂𝑐(1 / 3))       (𝑂 ∈ Constr ∧ 𝑍 ∉ Constr)
 
15-Nov-2025cos9thpinconstrlem2 33786 The complex number 𝐴 is not constructible. (Contributed by Thierry Arnoux, 15-Nov-2025.)
𝑂 = (exp‘((i · (2 · π)) / 3))    &   𝑍 = (𝑂𝑐(1 / 3))    &   𝐴 = (𝑍 + (1 / 𝑍))        ¬ 𝐴 ∈ Constr
 
15-Nov-2025difmod0 16263 The difference of two integers modulo a positive integer equals zero iff the two integers are equal modulo the positive integer. (Contributed by AV, 15-Nov-2025.)
((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑁 ∈ ℕ) → (((𝐴𝐵) mod 𝑁) = 0 ↔ (𝐴 mod 𝑁) = (𝐵 mod 𝑁)))
 
15-Nov-2025uzuzle35 12852 An integer greater than or equal to 5 is an integer greater than or equal to 3. (Contributed by AV, 15-Nov-2025.)
(𝐴 ∈ (ℤ‘5) → 𝐴 ∈ (ℤ‘3))
 
15-Nov-2025addsubsub23 11592 Swap the second and the third terms in a difference of a sum and a difference (or, vice versa, in a sum of a difference and a sum). (Contributed by AV, 15-Nov-2025.)
(𝜑𝐴 ∈ ℂ)    &   (𝜑𝐵 ∈ ℂ)    &   (𝜑𝐶 ∈ ℂ)    &   (𝜑𝐷 ∈ ℂ)       (𝜑 → ((𝐴 + 𝐵) − (𝐶𝐷)) = ((𝐴𝐶) + (𝐵 + 𝐷)))
 
15-Nov-2025subsubadd23 11591 Swap the second and the third terms in a difference of a difference and a sum. (Contributed by AV, 15-Nov-2025.)
(𝜑𝐴 ∈ ℂ)    &   (𝜑𝐵 ∈ ℂ)    &   (𝜑𝐶 ∈ ℂ)    &   (𝜑𝐷 ∈ ℂ)       (𝜑 → ((𝐴𝐵) − (𝐶 + 𝐷)) = ((𝐴𝐶) − (𝐵 + 𝐷)))
 
14-Nov-2025islmd 49644 The universal property of limits of a diagram. (Contributed by Zhi Wang, 14-Nov-2025.)
𝐿 = (𝐶Δfunc𝐷)    &   𝐴 = (Base‘𝐶)    &   𝑁 = (𝐷 Nat 𝐶)    &   𝐵 = (Base‘𝐷)    &   𝐻 = (Hom ‘𝐶)    &    · = (comp‘𝐶)       (𝑋((𝐶 Limit 𝐷)‘𝐹)𝑅 ↔ ((𝑋𝐴𝑅 ∈ (((1st𝐿)‘𝑋)𝑁𝐹)) ∧ ∀𝑥𝐴𝑎 ∈ (((1st𝐿)‘𝑥)𝑁𝐹)∃!𝑚 ∈ (𝑥𝐻𝑋)𝑎 = (𝑗𝐵 ↦ ((𝑅𝑗)(⟨𝑥, 𝑋· ((1st𝐹)‘𝑗))𝑚))))
 
14-Nov-2025rellmd 49638 The set of limits of a diagram is a relation. (Contributed by Zhi Wang, 14-Nov-2025.)
Rel ((𝐶 Limit 𝐷)‘𝐹)
 
14-Nov-2025lmdfval2 49634 The set of limits of a diagram. (Contributed by Zhi Wang, 14-Nov-2025.)
((𝐶 Limit 𝐷)‘𝐹) = (( oppFunc ‘(𝐶Δfunc𝐷))((oppCat‘𝐶) UP (oppCat‘(𝐷 FuncCat 𝐶)))𝐹)
 
14-Nov-2025reldmlmd2 49632 The domain of (𝐶 Limit 𝐷) is a relation. (Contributed by Zhi Wang, 14-Nov-2025.)
Rel dom (𝐶 Limit 𝐷)
 
14-Nov-2025lmdfval 49628 Function value of Limit. (Contributed by Zhi Wang, 14-Nov-2025.)
(𝐶 Limit 𝐷) = (𝑓 ∈ (𝐷 Func 𝐶) ↦ (( oppFunc ‘(𝐶Δfunc𝐷))((oppCat‘𝐶) UP (oppCat‘(𝐷 FuncCat 𝐶)))𝑓))
 
14-Nov-2025catcinv 49378 The property "𝐹 is an inverse of 𝐺 " in a category of small categories (in a universe). (Contributed by Zhi Wang, 14-Nov-2025.)
𝐶 = (CatCat‘𝑈)    &   𝑁 = (Inv‘𝐶)    &   𝐻 = (Hom ‘𝐶)    &   𝐼 = (idfunc𝑋)    &   𝐽 = (idfunc𝑌)       (𝐹(𝑋𝑁𝑌)𝐺 ↔ ((𝐹 ∈ (𝑋𝐻𝑌) ∧ 𝐺 ∈ (𝑌𝐻𝑋)) ∧ ((𝐺func 𝐹) = 𝐼 ∧ (𝐹func 𝐺) = 𝐽)))
 
14-Nov-2025catcsect 49377 The property "𝐹 is a section of 𝐺 " in a category of small categories (in a universe). (Contributed by Zhi Wang, 14-Nov-2025.)
𝐶 = (CatCat‘𝑈)    &   𝐻 = (Hom ‘𝐶)    &   𝐼 = (idfunc𝑋)    &   𝑆 = (Sect‘𝐶)       (𝐹(𝑋𝑆𝑌)𝐺 ↔ ((𝐹 ∈ (𝑋𝐻𝑌) ∧ 𝐺 ∈ (𝑌𝐻𝑋)) ∧ (𝐺func 𝐹) = 𝐼))
 
14-Nov-2025elcatchom 49376 A morphism of the category of categories (in a universe) is a functor. See df-catc 18067 for the definition of the category Cat, which consists of all categories in the universe 𝑢 (i.e., "𝑢-small categories", see Definition 3.44. of [Adamek] p. 39), with functors as the morphisms (catchom 18071). (Contributed by Zhi Wang, 14-Nov-2025.)
𝐶 = (CatCat‘𝑈)    &   𝐻 = (Hom ‘𝐶)    &   (𝜑𝐹 ∈ (𝑋𝐻𝑌))       (𝜑𝐹 ∈ (𝑋 Func 𝑌))
 
14-Nov-2025catcrcl2 49375 Reverse closure for the category of categories (in a universe) (Contributed by Zhi Wang, 14-Nov-2025.)
𝐶 = (CatCat‘𝑈)    &   𝐻 = (Hom ‘𝐶)    &   (𝜑𝐹 ∈ (𝑋𝐻𝑌))    &   𝐵 = (Base‘𝐶)       (𝜑 → (𝑋𝐵𝑌𝐵))
 
14-Nov-2025catcrcl 49374 Reverse closure for the category of categories (in a universe) (Contributed by Zhi Wang, 14-Nov-2025.)
𝐶 = (CatCat‘𝑈)    &   𝐻 = (Hom ‘𝐶)    &   (𝜑𝐹 ∈ (𝑋𝐻𝑌))       (𝜑𝑈 ∈ V)
 
14-Nov-2025oppfuprcl2 49184 Reverse closure for the class of universal property for opposite functors. (Contributed by Zhi Wang, 14-Nov-2025.)
(𝜑𝑋(𝐺(𝑂 UP 𝑃)𝑊)𝑀)    &   𝐺 = ( oppFunc ‘𝐹)    &   𝑂 = (oppCat‘𝐷)    &   𝑃 = (oppCat‘𝐸)    &   (𝜑𝐷𝑈)    &   (𝜑𝐸𝑉)    &   (𝜑𝐹 = ⟨𝐴, 𝐵⟩)       (𝜑𝐴(𝐷 Func 𝐸)𝐵)
 
14-Nov-2025oppfuprcl 49183 Reverse closure for the class of universal property for opposite functors. (Contributed by Zhi Wang, 14-Nov-2025.)
(𝜑𝑋(𝐺(𝑂 UP 𝑃)𝑊)𝑀)    &   𝐺 = ( oppFunc ‘𝐹)    &   𝑂 = (oppCat‘𝐷)    &   𝑃 = (oppCat‘𝐸)    &   (𝜑𝐷𝑈)    &   (𝜑𝐸𝑉)       (𝜑𝐹 ∈ (𝐷 Func 𝐸))
 
14-Nov-2025uprcl2a 49182 Reverse closure for the class of universal property. (Contributed by Zhi Wang, 14-Nov-2025.)
(𝜑𝑋(𝐺(𝑂 UP 𝑃)𝑊)𝑀)       (𝜑𝐺 ∈ (𝑂 Func 𝑃))
 
14-Nov-2025funcoppc5 49124 A functor on opposite categories yields a functor on the original categories. (Contributed by Zhi Wang, 14-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   (𝜑𝐶𝑉)    &   (𝜑𝐷𝑊)    &   (𝜑 → ( oppFunc ‘𝐹) ∈ (𝑂 Func 𝑃))       (𝜑𝐹 ∈ (𝐶 Func 𝐷))
 
14-Nov-2025funcoppc4 49123 A functor on opposite categories yields a functor on the original categories. (Contributed by Zhi Wang, 14-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   (𝜑𝐶𝑉)    &   (𝜑𝐷𝑊)    &   (𝜑 → (𝐹 oppFunc 𝐺) ∈ (𝑂 Func 𝑃))       (𝜑𝐹(𝐶 Func 𝐷)𝐺)
 
14-Nov-2025oppfoppc2 49121 The opposite functor is a functor on opposite categories. (Contributed by Zhi Wang, 14-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   (𝜑𝐹 ∈ (𝐶 Func 𝐷))       (𝜑 → ( oppFunc ‘𝐹) ∈ (𝑂 Func 𝑃))
 
14-Nov-20252oppf 49111 The double opposite functor is the original functor. Remark 3.42 of [Adamek] p. 39. (Contributed by Zhi Wang, 14-Nov-2025.)
(𝜑𝐺𝑅)    &   Rel 𝑅    &   𝐺 = ( oppFunc ‘𝐹)       (𝜑 → ( oppFunc ‘𝐺) = 𝐹)
 
14-Nov-2025oppf1st2nd 49110 Rewrite the opposite functor into its components (eqopi 8006). (Contributed by Zhi Wang, 14-Nov-2025.)
(𝜑𝐺𝑅)    &   Rel 𝑅    &   𝐺 = ( oppFunc ‘𝐹)    &   (𝜑𝐹 = ⟨𝐴, 𝐵⟩)       (𝜑 → (𝐺 ∈ (V × V) ∧ ((1st𝐺) = 𝐴 ∧ (2nd𝐺) = tpos 𝐵)))
 
14-Nov-2025oppfrcl3 49109 If an opposite functor of a class is a functor, then the second component of the original class must be a relation whose domain is a relation as well. (Contributed by Zhi Wang, 14-Nov-2025.)
(𝜑𝐺𝑅)    &   Rel 𝑅    &   𝐺 = ( oppFunc ‘𝐹)    &   (𝜑𝐹 = ⟨𝐴, 𝐵⟩)       (𝜑 → (Rel 𝐵 ∧ Rel dom 𝐵))
 
14-Nov-2025oppfrcl2 49108 If an opposite functor of a class is a functor, then the two components of the original class must be sets. (Contributed by Zhi Wang, 14-Nov-2025.)
(𝜑𝐺𝑅)    &   Rel 𝑅    &   𝐺 = ( oppFunc ‘𝐹)    &   (𝜑𝐹 = ⟨𝐴, 𝐵⟩)       (𝜑 → (𝐴 ∈ V ∧ 𝐵 ∈ V))
 
14-Nov-2025oppfrcl 49107 If an opposite functor of a class is a functor, then the original class must be an ordered pair. (Contributed by Zhi Wang, 14-Nov-2025.)
(𝜑𝐺𝑅)    &   Rel 𝑅    &   𝐺 = ( oppFunc ‘𝐹)       (𝜑𝐹 ∈ (V × V))
 
14-Nov-2025oppfrcllem 49106 Lemma for oppfrcl 49107. (Contributed by Zhi Wang, 14-Nov-2025.)
(𝜑𝐺𝑅)    &   Rel 𝑅       (𝜑𝐺 ≠ ∅)
 
14-Nov-2025isinv2 49005 The property "𝐹 is an inverse of 𝐺". (Contributed by Zhi Wang, 14-Nov-2025.)
𝑁 = (Inv‘𝐶)    &   𝑆 = (Sect‘𝐶)       (𝐹(𝑋𝑁𝑌)𝐺 ↔ (𝐹(𝑋𝑆𝑌)𝐺𝐺(𝑌𝑆𝑋)𝐹))
 
14-Nov-2025invrcl2 49004 Reverse closure for inverse relations. (Contributed by Zhi Wang, 14-Nov-2025.)
𝑁 = (Inv‘𝐶)    &   (𝜑𝐹(𝑋𝑁𝑌)𝐺)    &   𝐵 = (Base‘𝐶)       (𝜑 → (𝑋𝐵𝑌𝐵))
 
14-Nov-2025invrcl 49003 Reverse closure for inverse relations. (Contributed by Zhi Wang, 14-Nov-2025.)
𝑁 = (Inv‘𝐶)    &   (𝜑𝐹(𝑋𝑁𝑌)𝐺)       (𝜑𝐶 ∈ Cat)
 
14-Nov-2025sectrcl2 49002 Reverse closure for section relations. (Contributed by Zhi Wang, 14-Nov-2025.)
𝑆 = (Sect‘𝐶)    &   (𝜑𝐹(𝑋𝑆𝑌)𝐺)    &   𝐵 = (Base‘𝐶)       (𝜑 → (𝑋𝐵𝑌𝐵))
 
14-Nov-2025sectrcl 49001 Reverse closure for section relations. (Contributed by Zhi Wang, 14-Nov-2025.)
𝑆 = (Sect‘𝐶)    &   (𝜑𝐹(𝑋𝑆𝑌)𝐺)       (𝜑𝐶 ∈ Cat)
 
14-Nov-2025cos9thpinconstrlem1 33785 The complex number 𝑂, representing an angle of (2 · π) / 3, is constructible. (Contributed by Thierry Arnoux, 14-Nov-2025.)
𝑂 = (exp‘((i · (2 · π)) / 3))       𝑂 ∈ Constr
 
14-Nov-2025cos9thpiminply 33784 The polynomial ((𝑋↑3) + ((-3 · 𝑋) + 1)) is the minimal polynomial for 𝐴 over , and its degree is 3. (Contributed by Thierry Arnoux, 14-Nov-2025.)
𝑂 = (exp‘((i · (2 · π)) / 3))    &   𝑍 = (𝑂𝑐(1 / 3))    &   𝐴 = (𝑍 + (1 / 𝑍))    &   𝑄 = (ℂflds ℚ)    &    + = (+g𝑃)    &    · = (.r𝑃)    &    = (.g‘(mulGrp‘𝑃))    &   𝑃 = (Poly1𝑄)    &   𝐾 = (algSc‘𝑃)    &   𝑋 = (var1𝑄)    &   𝐷 = (deg1𝑄)    &   𝐹 = ((3 𝑋) + (((𝐾‘-3) · 𝑋) + (𝐾‘1)))    &   𝑀 = (ℂfld minPoly ℚ)       (𝐹 = (𝑀𝐴) ∧ (𝐷𝐹) = 3)
 
14-Nov-2025cos9thpiminplylem6 33783 Evaluation of the polynomial ((𝑋↑3) + ((-3 · 𝑋) + 1)). (Contributed by Thierry Arnoux, 14-Nov-2025.)
𝑂 = (exp‘((i · (2 · π)) / 3))    &   𝑍 = (𝑂𝑐(1 / 3))    &   𝐴 = (𝑍 + (1 / 𝑍))    &   𝑄 = (ℂflds ℚ)    &    + = (+g𝑃)    &    · = (.r𝑃)    &    = (.g‘(mulGrp‘𝑃))    &   𝑃 = (Poly1𝑄)    &   𝐾 = (algSc‘𝑃)    &   𝑋 = (var1𝑄)    &   𝐷 = (deg1𝑄)    &   𝐹 = ((3 𝑋) + (((𝐾‘-3) · 𝑋) + (𝐾‘1)))    &   (𝜑𝑌 ∈ ℂ)       (𝜑 → (((ℂfld evalSub1 ℚ)‘𝐹)‘𝑌) = ((𝑌↑3) + ((-3 · 𝑌) + 1)))
 
14-Nov-2025cos9thpiminplylem5 33782 The constructed complex number 𝐴 is a root of the polynomial ((𝑋↑3) + ((-3 · 𝑋) + 1)). (Contributed by Thierry Arnoux, 14-Nov-2025.)
𝑂 = (exp‘((i · (2 · π)) / 3))    &   𝑍 = (𝑂𝑐(1 / 3))    &   𝐴 = (𝑍 + (1 / 𝑍))       ((𝐴↑3) + ((-3 · 𝐴) + 1)) = 0
 
14-Nov-2025cos9thpiminplylem4 33781 Lemma for cos9thpiminply 33784. (Contributed by Thierry Arnoux, 14-Nov-2025.)
𝑂 = (exp‘((i · (2 · π)) / 3))    &   𝑍 = (𝑂𝑐(1 / 3))       ((𝑍↑6) + (𝑍↑3)) = -1
 
14-Nov-2025cos9thpiminplylem3 33780 Lemma for cos9thpiminply 33784. (Contributed by Thierry Arnoux, 14-Nov-2025.)
𝑂 = (exp‘((i · (2 · π)) / 3))       ((𝑂↑2) + (𝑂 + 1)) = 0
 
14-Nov-2025vr1nz 33565 A univariate polynomial variable cannot be the zero polynomial. (Contributed by Thierry Arnoux, 14-Nov-2025.)
𝑋 = (var1𝑈)    &   𝑍 = (0g𝑃)    &   𝑈 = (𝑆s 𝑅)    &   𝑃 = (Poly1𝑈)    &   (𝜑𝑆 ∈ CRing)    &   (𝜑𝑆 ∈ NzRing)    &   (𝜑𝑅 ∈ (SubRing‘𝑆))       (𝜑𝑋𝑍)
 
14-Nov-2025ressply1evls1 33540 Subring evaluation of a univariate polynomial is the same as the subring evaluation in the bigger ring. (Contributed by Thierry Arnoux, 14-Nov-2025.)
𝐺 = (𝐸s 𝑅)    &   𝑂 = (𝐸 evalSub1 𝑆)    &   𝑄 = (𝐺 evalSub1 𝑆)    &   𝑃 = (Poly1𝐾)    &   𝐾 = (𝐸s 𝑆)    &   𝐵 = (Base‘𝑃)    &   (𝜑𝐸 ∈ CRing)    &   (𝜑𝑅 ∈ (SubRing‘𝐸))    &   (𝜑𝑆 ∈ (SubRing‘𝐺))    &   (𝜑𝐹𝐵)       (𝜑 → (𝑄𝐹) = ((𝑂𝐹) ↾ 𝑅))
 
14-Nov-2025efne0 16070 The exponential of a complex number is nonzero. Corollary 15-4.3 of [Gleason] p. 309. (Contributed by NM, 13-Jan-2006.) (Revised by Mario Carneiro, 29-Apr-2014.) (Proof shortened by TA, 14-Nov-2025.)
(𝐴 ∈ ℂ → (exp‘𝐴) ≠ 0)
 
14-Nov-2025modaddid 13878 The sums of two nonnegative integers less than the modulus and an integer are equal iff the two nonnegative integers are equal. (Contributed by AV, 14-Nov-2025.)
𝐼 = (0..^𝑁)       ((𝑁 ∈ (ℤ‘3) ∧ (𝑋𝐼𝑌𝐼) ∧ 𝐾 ∈ ℤ) → (((𝑋 + 𝐾) mod 𝑁) = ((𝑌 + 𝐾) mod 𝑁) ↔ 𝑋 = 𝑌))
 
14-Nov-2025modaddb 13877 Addition property of the modulo operation. Biconditional version of modadd1 13876 by applying modadd1 13876 twice. (Contributed by AV, 14-Nov-2025.)
(((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ) ∧ (𝐶 ∈ ℝ ∧ 𝐷 ∈ ℝ+)) → ((𝐴 mod 𝐷) = (𝐵 mod 𝐷) ↔ ((𝐴 + 𝐶) mod 𝐷) = ((𝐵 + 𝐶) mod 𝐷)))
 
13-Nov-2025iscmd 49645 The universal property of colimits of a diagram. (Contributed by Zhi Wang, 13-Nov-2025.)
𝐿 = (𝐶Δfunc𝐷)    &   𝐴 = (Base‘𝐶)    &   𝑁 = (𝐷 Nat 𝐶)    &   𝐵 = (Base‘𝐷)    &   𝐻 = (Hom ‘𝐶)    &    · = (comp‘𝐶)       (𝑋((𝐶 Colimit 𝐷)‘𝐹)𝑅 ↔ ((𝑋𝐴𝑅 ∈ (𝐹𝑁((1st𝐿)‘𝑋))) ∧ ∀𝑥𝐴𝑎 ∈ (𝐹𝑁((1st𝐿)‘𝑥))∃!𝑚 ∈ (𝑋𝐻𝑥)𝑎 = (𝑗𝐵 ↦ (𝑚(⟨((1st𝐹)‘𝑗), 𝑋· 𝑥)(𝑅𝑗)))))
 
13-Nov-2025coccom 49643 A co-cone to a diagram commutes with the diagram. (Contributed by Zhi Wang, 13-Nov-2025.)
𝐿 = (𝐶Δfunc𝐷)    &   𝐴 = (Base‘𝐶)    &   𝑁 = (𝐷 Nat 𝐶)    &   𝐵 = (Base‘𝐷)    &   𝐾 = ((1st𝐿)‘𝑋)    &   (𝜑𝑋𝐴)    &   (𝜑𝑌𝐵)    &   (𝜑𝑍𝐵)    &   (𝜑𝑀 ∈ (𝑌𝐽𝑍))    &   𝐽 = (Hom ‘𝐷)    &    · = (comp‘𝐶)    &   (𝜑𝑅 ∈ (𝐹𝑁𝐾))       (𝜑 → (𝑅𝑌) = ((𝑅𝑍)(⟨((1st𝐹)‘𝑌), ((1st𝐹)‘𝑍)⟩ · 𝑋)((𝑌(2nd𝐹)𝑍)‘𝑀)))
 
13-Nov-2025concom 49642 A cone to a diagram commutes with the diagram. (Contributed by Zhi Wang, 13-Nov-2025.)
𝐿 = (𝐶Δfunc𝐷)    &   𝐴 = (Base‘𝐶)    &   𝑁 = (𝐷 Nat 𝐶)    &   𝐵 = (Base‘𝐷)    &   𝐾 = ((1st𝐿)‘𝑋)    &   (𝜑𝑋𝐴)    &   (𝜑𝑌𝐵)    &   (𝜑𝑍𝐵)    &   (𝜑𝑀 ∈ (𝑌𝐽𝑍))    &   𝐽 = (Hom ‘𝐷)    &    · = (comp‘𝐶)    &   (𝜑𝑅 ∈ (𝐾𝑁𝐹))       (𝜑 → (𝑅𝑍) = (((𝑌(2nd𝐹)𝑍)‘𝑀)(⟨𝑋, ((1st𝐹)‘𝑌)⟩ · ((1st𝐹)‘𝑍))(𝑅𝑌)))
 
13-Nov-2025coccl 49641 A natural transformation to a constant functor of an object maps to morphisms whose codomain is the object. Therefore, the range of the second component of a co-cone are morphisms with a common codomain. (Contributed by Zhi Wang, 13-Nov-2025.)
𝐿 = (𝐶Δfunc𝐷)    &   𝐴 = (Base‘𝐶)    &   𝑁 = (𝐷 Nat 𝐶)    &   𝐵 = (Base‘𝐷)    &   𝐾 = ((1st𝐿)‘𝑋)    &   (𝜑𝑋𝐴)    &   (𝜑𝑌𝐵)    &   𝐻 = (Hom ‘𝐶)    &   (𝜑𝑅 ∈ (𝐹𝑁𝐾))       (𝜑 → (𝑅𝑌) ∈ (((1st𝐹)‘𝑌)𝐻𝑋))
 
13-Nov-2025concl 49640 A natural transformation from a constant functor of an object maps to morphisms whose domain is the object. Therefore, the range of the second component of a cone are morphisms with a common domain. (Contributed by Zhi Wang, 13-Nov-2025.)
𝐿 = (𝐶Δfunc𝐷)    &   𝐴 = (Base‘𝐶)    &   𝑁 = (𝐷 Nat 𝐶)    &   𝐵 = (Base‘𝐷)    &   𝐾 = ((1st𝐿)‘𝑋)    &   (𝜑𝑋𝐴)    &   (𝜑𝑌𝐵)    &   𝐻 = (Hom ‘𝐶)    &   (𝜑𝑅 ∈ (𝐾𝑁𝐹))       (𝜑 → (𝑅𝑌) ∈ (𝑋𝐻((1st𝐹)‘𝑌)))
 
13-Nov-2025relcmd 49639 The set of colimits of a diagram is a relation. (Contributed by Zhi Wang, 13-Nov-2025.)
Rel ((𝐶 Colimit 𝐷)‘𝐹)
 
13-Nov-2025reldmcmd2 49633 The domain of (𝐶 Colimit 𝐷) is a relation. (Contributed by Zhi Wang, 13-Nov-2025.)
Rel dom (𝐶 Colimit 𝐷)
 
13-Nov-2025oppfval2 49116 Value of the opposite functor. (Contributed by Zhi Wang, 13-Nov-2025.)
(𝐹 ∈ (𝐶 Func 𝐷) → ( oppFunc ‘𝐹) = ⟨(1st𝐹), tpos (2nd𝐹)⟩)
 
13-Nov-2025oppfvallem 49114 Lemma for oppfval 49115. (Contributed by Zhi Wang, 13-Nov-2025.)
(𝐹(𝐶 Func 𝐷)𝐺 → (Rel 𝐺 ∧ Rel dom 𝐺))
 
13-Nov-2025oppfvalg 49105 Value of the opposite functor. (Contributed by Zhi Wang, 13-Nov-2025.)
((𝐹 ∈ V ∧ 𝐺 ∈ V) → (𝐹 oppFunc 𝐺) = if((Rel 𝐺 ∧ Rel dom 𝐺), ⟨𝐹, tpos 𝐺⟩, ∅))
 
13-Nov-2025reldmoppf 49104 The domain of oppFunc is a relation. (Contributed by Zhi Wang, 13-Nov-2025.)
Rel dom oppFunc
 
13-Nov-2025df-oppf 49102 Definition of the operation generating opposite functors. Definition 3.41 of [Adamek] p. 39. The object part of the functor is unchanged while the morphism part is transposed due to reversed direction of arrows in the opposite category. The opposite functor is a functor on opposite categories (oppfoppc 49120). (Contributed by Zhi Wang, 4-Nov-2025.) Better reverse closure. (Revised by Zhi Wang, 13-Nov-2025.)
oppFunc = (𝑓 ∈ V, 𝑔 ∈ V ↦ if((Rel 𝑔 ∧ Rel dom 𝑔), ⟨𝑓, tpos 𝑔⟩, ∅))
 
13-Nov-2025lamberte 46882 A value of Lambert W (product logarithm) function at e. (Contributed by Ender Ting, 13-Nov-2025.)
𝑅 = (𝑥 ∈ ℂ ↦ (𝑥 · (exp‘𝑥)))       e𝑅1
 
13-Nov-2025lambert0 46881 A value of Lambert W (product logarithm) function at zero. (Contributed by Ender Ting, 13-Nov-2025.)
𝑅 = (𝑥 ∈ ℂ ↦ (𝑥 · (exp‘𝑥)))       0𝑅0
 
13-Nov-2025sbralie 3328 Implicit to explicit substitution that swaps variables in a restrictedly universally quantified expression. (Contributed by NM, 5-Sep-2004.) Avoid ax-ext 2702, df-cleq 2722, df-clel 2804. (Revised by Wolf Lammen, 10-Mar-2025.) Avoid ax-10 2142, ax-12 2178. (Revised by SN, 13-Nov-2025.)
(𝑥 = 𝑦 → (𝜑𝜓))       (∀𝑥𝑦 𝜑 ↔ [𝑦 / 𝑥]∀𝑦𝑥 𝜓)
 
12-Nov-2025cmdfval2 49635 The set of colimits of a diagram. (Contributed by Zhi Wang, 12-Nov-2025.)
((𝐶 Colimit 𝐷)‘𝐹) = ((𝐶Δfunc𝐷)(𝐶 UP (𝐷 FuncCat 𝐶))𝐹)
 
12-Nov-2025cmdfval 49629 Function value of Colimit. (Contributed by Zhi Wang, 12-Nov-2025.)
(𝐶 Colimit 𝐷) = (𝑓 ∈ (𝐷 Func 𝐶) ↦ ((𝐶Δfunc𝐷)(𝐶 UP (𝐷 FuncCat 𝐶))𝑓))
 
12-Nov-2025reldmcmd 49627 The domain of Colimit is a relation. (Contributed by Zhi Wang, 12-Nov-2025.)
Rel dom Colimit
 
12-Nov-2025reldmlmd 49626 The domain of Limit is a relation. (Contributed by Zhi Wang, 12-Nov-2025.)
Rel dom Limit
 
12-Nov-2025df-cmd 49625 A co-cone (or cocone) to a diagram (see df-lmd 49624 for definition), or a natural sink for a diagram in a category 𝐶 is a pair of an object 𝑋 in 𝐶 and a natural transformation from the diagram to the constant functor (or constant diagram) of the object 𝑋. The second component associates each object in the index category with a morphism in 𝐶 whose codomain is 𝑋 (coccl 49641). The naturality guarantees that the combination of the diagram with the co-cone must commute (coccom 49643). Definition 11.27(1) of [Adamek] p. 202.

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

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

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

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

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

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

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

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

Limit = (𝑐 ∈ V, 𝑑 ∈ V ↦ (𝑓 ∈ (𝑑 Func 𝑐) ↦ (( oppFunc ‘(𝑐Δfunc𝑑))((oppCat‘𝑐) UP (oppCat‘(𝑑 FuncCat 𝑐)))𝑓)))
 
12-Nov-2025upfval 49155 Function value of the class of universal properties. (Contributed by Zhi Wang, 24-Sep-2025.) (Proof shortened by Zhi Wang, 12-Nov-2025.)
𝐵 = (Base‘𝐷)    &   𝐶 = (Base‘𝐸)    &   𝐻 = (Hom ‘𝐷)    &   𝐽 = (Hom ‘𝐸)    &   𝑂 = (comp‘𝐸)       (𝐷 UP 𝐸) = (𝑓 ∈ (𝐷 Func 𝐸), 𝑤𝐶 ↦ {⟨𝑥, 𝑚⟩ ∣ ((𝑥𝐵𝑚 ∈ (𝑤𝐽((1st𝑓)‘𝑥))) ∧ ∀𝑦𝐵𝑔 ∈ (𝑤𝐽((1st𝑓)‘𝑦))∃!𝑘 ∈ (𝑥𝐻𝑦)𝑔 = (((𝑥(2nd𝑓)𝑦)‘𝑘)(⟨𝑤, ((1st𝑓)‘𝑥)⟩𝑂((1st𝑓)‘𝑦))𝑚))})
 
12-Nov-2025reldmfunc 49054 The domain of Func is a relation. (Contributed by Zhi Wang, 12-Nov-2025.)
Rel dom Func
 
11-Nov-2025discthing 49440 A discrete category, i.e., a category where all morphisms are identity morphisms, is thin. Example 3.26(1) of [Adamek] p. 33. (Contributed by Zhi Wang, 11-Nov-2025.)
(𝜑𝐵 = (Base‘𝐶))    &   (𝜑𝐻 = (Hom ‘𝐶))    &   (𝜑𝐶 ∈ Cat)    &   ((𝜑 ∧ (𝑥𝐵𝑦𝐵)) → (𝑥𝐻𝑦) = if(𝑥 = 𝑦, {𝐼}, ∅))       (𝜑𝐶 ∈ ThinCat)
 
11-Nov-2025indcthing 49439 An indiscrete category, i.e., a category where all hom-sets have exactly one morphism, is thin. (Contributed by Zhi Wang, 11-Nov-2025.)
(𝜑𝐵 = (Base‘𝐶))    &   (𝜑𝐻 = (Hom ‘𝐶))    &   (𝜑𝐶 ∈ Cat)    &   ((𝜑 ∧ (𝑥𝐵𝑦𝐵)) → (𝑥𝐻𝑦) = {𝐹})       (𝜑𝐶 ∈ ThinCat)
 
11-Nov-2025idfullsubc 49140 The source category of an inclusion functor is a full subcategory of the target category if the inclusion functor is full. Remark 4.4(2) in [Adamek] p. 49. See also ressffth 17908. (Contributed by Zhi Wang, 11-Nov-2025.)
𝐼 = (idfunc𝐶)    &   𝐻 = (Homf𝐷)    &   𝐽 = (Homf𝐸)    &   𝐵 = (Base‘𝐷)    &   𝐶 = (Base‘𝐸)       (𝐼 ∈ (𝐷 Full 𝐸) → (𝐵𝐶 ∧ (𝐽 ↾ (𝐵 × 𝐵)) = 𝐻))
 
11-Nov-2025gpgedgiov 48046 The edges of the generalized Petersen graph GPG(N,K) between an inside and an outside vertex. (Contributed by AV, 11-Nov-2025.)
𝐽 = (1..^(⌈‘(𝑁 / 2)))    &   𝐼 = (0..^𝑁)    &   𝐺 = (𝑁 gPetersenGr 𝐾)    &   𝐸 = (Edg‘𝐺)       (((𝑁 ∈ (ℤ‘3) ∧ 𝐾𝐽) ∧ (𝑋𝐼𝑌𝐼)) → ({⟨0, 𝑋⟩, ⟨1, 𝑌⟩} ∈ 𝐸𝑋 = 𝑌))
 
11-Nov-2025pw2cutp1 28342 Simplify pw2cut 28341 in the case of successors of surreal integers. (Contributed by Scott Fenton, 11-Nov-2025.)
(𝜑𝐴 ∈ ℤs)    &   (𝜑𝑁 ∈ ℕ0s)       (𝜑 → ({(𝐴 /su (2ss𝑁))} |s {((𝐴 +s 1s ) /su (2ss𝑁))}) = (((2s ·s 𝐴) +s 1s ) /su (2ss(𝑁 +s 1s ))))
 
10-Nov-2025idsubc 49139 The source category of an inclusion functor is a subcategory of the target category. See also Remark 4.4 in [Adamek] p. 49. (Contributed by Zhi Wang, 10-Nov-2025.)
𝐼 = (idfunc𝐶)    &   𝐻 = (Homf𝐷)       (𝐼 ∈ (𝐷 Func 𝐸) → 𝐻 ∈ (Subcat‘𝐸))
 
10-Nov-2025idfth 49137 The inclusion functor is a faithful functor. (Contributed by Zhi Wang, 10-Nov-2025.)
𝐼 = (idfunc𝐶)       (𝐼 ∈ (𝐷 Func 𝐸) → 𝐼 ∈ (𝐷 Faith 𝐸))
 
10-Nov-2025fthcomf 49136 Source categories of a faithful functor have the same base, hom-sets and composition operation if the composition is compatible in images of the functor. (Contributed by Zhi Wang, 10-Nov-2025.)
(𝜑𝐹(𝐴 Faith 𝐶)𝐺)    &   (𝜑𝐹(𝐵 Func 𝐷)𝐺)    &   (((𝜑 ∧ (𝑥 ∈ (Base‘𝐴) ∧ 𝑦 ∈ (Base‘𝐴) ∧ 𝑧 ∈ (Base‘𝐴))) ∧ (𝑓 ∈ (𝑥(Hom ‘𝐴)𝑦) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐴)𝑧))) → (((𝑦𝐺𝑧)‘𝑔)(⟨(𝐹𝑥), (𝐹𝑦)⟩(comp‘𝐶)(𝐹𝑧))((𝑥𝐺𝑦)‘𝑓)) = (((𝑦𝐺𝑧)‘𝑔)(⟨(𝐹𝑥), (𝐹𝑦)⟩(comp‘𝐷)(𝐹𝑧))((𝑥𝐺𝑦)‘𝑓)))       (𝜑 → (compf𝐴) = (compf𝐵))
 
10-Nov-2025imaidfu2 49090 The image of the identity functor. (Contributed by Zhi Wang, 10-Nov-2025.)
𝐼 = (idfunc𝐶)    &   (𝜑𝐼 ∈ (𝐷 Func 𝐸))    &   𝐻 = (Hom ‘𝐷)    &   𝐽 = (Homf𝐷)    &   𝐾 = (𝑥𝑆, 𝑦𝑆 𝑝 ∈ (((1st𝐼) “ {𝑥}) × ((1st𝐼) “ {𝑦}))(((2nd𝐼)‘𝑝) “ (𝐻𝑝)))    &   (𝜑𝑆 = (Base‘𝐷))       (𝜑𝐽 = 𝐾)
 
10-Nov-2025imaidfu 49089 The image of the identity functor. (Contributed by Zhi Wang, 10-Nov-2025.)
𝐼 = (idfunc𝐶)    &   (𝜑𝐼 ∈ (𝐷 Func 𝐸))    &   𝐻 = (Hom ‘𝐷)    &   𝐽 = (Homf𝐷)    &   𝐾 = (𝑥𝑆, 𝑦𝑆 𝑝 ∈ (((1st𝐼) “ {𝑥}) × ((1st𝐼) “ {𝑦}))(((2nd𝐼)‘𝑝) “ (𝐻𝑝)))    &   𝑆 = ((1st𝐼) “ 𝐴)       (𝜑 → (𝐽 ↾ (𝑆 × 𝑆)) = 𝐾)
 
10-Nov-2025imaidfu2lem 49088 Lemma for imaidfu2 49090. (Contributed by Zhi Wang, 10-Nov-2025.)
𝐼 = (idfunc𝐶)    &   (𝜑𝐼 ∈ (𝐷 Func 𝐸))       (𝜑 → ((1st𝐼) “ (Base‘𝐷)) = (Base‘𝐷))
 
10-Nov-2025idfu2nda 49082 Value of the morphism part of the identity functor. (Contributed by Zhi Wang, 10-Nov-2025.)
𝐼 = (idfunc𝐶)    &   (𝜑𝐼 ∈ (𝐷 Func 𝐸))    &   (𝜑𝐵 = (Base‘𝐷))    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)    &   (𝜑𝐻 = (𝑋(Hom ‘𝐷)𝑌))       (𝜑 → (𝑋(2nd𝐼)𝑌) = ( I ↾ 𝐻))
 
10-Nov-2025idfu1a 49081 Value of the object part of the identity functor. (Contributed by Zhi Wang, 10-Nov-2025.)
𝐼 = (idfunc𝐶)    &   (𝜑𝐼 ∈ (𝐷 Func 𝐸))    &   (𝜑𝐵 = (Base‘𝐷))    &   (𝜑𝑋𝐵)       (𝜑 → ((1st𝐼)‘𝑋) = 𝑋)
 
10-Nov-2025idfu1sta 49080 Value of the object part of the identity functor. (Contributed by Zhi Wang, 10-Nov-2025.)
𝐼 = (idfunc𝐶)    &   (𝜑𝐼 ∈ (𝐷 Func 𝐸))    &   (𝜑𝐵 = (Base‘𝐷))       (𝜑 → (1st𝐼) = ( I ↾ 𝐵))
 
10-Nov-2025idfu1stalem 49079 Lemma for idfu1sta 49080. (Contributed by Zhi Wang, 10-Nov-2025.)
𝐼 = (idfunc𝐶)    &   (𝜑𝐼 ∈ (𝐷 Func 𝐸))    &   (𝜑𝐵 = (Base‘𝐷))       (𝜑𝐵 = (Base‘𝐶))
 
10-Nov-2025idfurcl 49077 Reverse closure for an identity functor. (Contributed by Zhi Wang, 10-Nov-2025.)
((idfunc𝐶) ∈ (𝐷 Func 𝐸) → 𝐶 ∈ Cat)
 
10-Nov-2025funchomf 49076 Source categories of a functor have the same set of objects and morphisms. (Contributed by Zhi Wang, 10-Nov-2025.)
(𝜑𝐹(𝐴 Func 𝐶)𝐺)    &   (𝜑𝐹(𝐵 Func 𝐷)𝐺)       (𝜑 → (Homf𝐴) = (Homf𝐵))
 
10-Nov-2025pgjsgr 48073 A Petersen graph is a simple graph. (Contributed by AV, 10-Nov-2025.)
(5 gPetersenGr 2) ∈ USGraph
 
10-Nov-2025pglem 48072 Lemma for theorems about Petersen graphs. (Contributed by AV, 10-Nov-2025.)
2 ∈ (1..^(⌈‘(5 / 2)))
 
10-Nov-2025ndmfvrcl 6896 Reverse closure law for function with the empty set not in its domain (if 𝑅 = 𝑆). (Contributed by NM, 26-Apr-1996.) The class containing the function value does not have to be the domain. (Revised by Zhi Wang, 10-Nov-2025.)
dom 𝐹 = 𝑆    &    ¬ ∅ ∈ 𝑅       ((𝐹𝐴) ∈ 𝑅𝐴𝑆)
 
9-Nov-2025pgn4cyclex 48106 A cycle in a Petersen graph does not have length 4. (Contributed by AV, 9-Nov-2025.)
𝐺 = (5 gPetersenGr 2)       (𝐹(Cycles‘𝐺)𝑃 → (♯‘𝐹) ≠ 4)
 
9-Nov-2025pgnbgreunbgr 48105 In a Petersen graph, two different neighbors of a vertex have exactly one common neighbor, which is the vertex itself. (Contributed by AV, 9-Nov-2025.)
𝐺 = (5 gPetersenGr 2)    &   𝑉 = (Vtx‘𝐺)    &   𝐸 = (Edg‘𝐺)    &   𝑁 = (𝐺 NeighbVtx 𝑋)       ((𝐾𝑁𝐿𝑁𝐾𝐿) → ∃!𝑥𝑉 {{𝐾, 𝑥}, {𝑥, 𝐿}} ⊆ 𝐸)
 
9-Nov-2025cos9thpiminplylem2 33779 The polynomial ((𝑋↑3) + ((-3 · 𝑋) + 1)) has no rational roots. (Contributed by Thierry Arnoux, 9-Nov-2025.)
(𝜑𝑋 ∈ ℚ)       (𝜑 → ((𝑋↑3) + ((-3 · 𝑋) + 1)) ≠ 0)
 
9-Nov-2025cos9thpiminplylem1 33778 The polynomial ((𝑋↑3) + ((-3 · (𝑋↑2)) + 1)) has no integer roots. (Contributed by Thierry Arnoux, 9-Nov-2025.)
(𝜑𝑋 ∈ ℤ)       (𝜑 → ((𝑋↑3) + ((-3 · (𝑋↑2)) + 1)) ≠ 0)
 
9-Nov-2025oexpled 32778 Odd power monomials are monotonic. (Contributed by Thierry Arnoux, 9-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐵 ∈ ℝ)    &   (𝜑𝑁 ∈ ℕ)    &   (𝜑 → ¬ 2 ∥ 𝑁)    &   (𝜑𝐴𝐵)       (𝜑 → (𝐴𝑁) ≤ (𝐵𝑁))
 
9-Nov-2025expevenpos 32777 Even powers are positive. (Contributed by Thierry Arnoux, 9-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝑁 ∈ ℕ0)    &   (𝜑 → 2 ∥ 𝑁)       (𝜑 → 0 ≤ (𝐴𝑁))
 
9-Nov-2025elq2 32742 Elementhood in the rational numbers, providing the canonical representation. (Contributed by Thierry Arnoux, 9-Nov-2025.)
(𝑄 ∈ ℚ → ∃𝑝 ∈ ℤ ∃𝑞 ∈ ℕ (𝑄 = (𝑝 / 𝑞) ∧ (𝑝 gcd 𝑞) = 1))
 
9-Nov-2025receqid 32674 Real numbers equal to their own reciprocal have absolute value 1. (Contributed by Thierry Arnoux, 9-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐴 ≠ 0)       (𝜑 → ((1 / 𝐴) = 𝐴 ↔ (abs‘𝐴) = 1))
 
9-Nov-2025sgnval2 32664 Value of the signum of a real number, expresssed using absolute value. (Contributed by Thierry Arnoux, 9-Nov-2025.)
((𝐴 ∈ ℝ ∧ 𝐴 ≠ 0) → (sgn‘𝐴) = (𝐴 / (abs‘𝐴)))
 
9-Nov-2025zs12negsclb 28347 A surreal is a dyadic fraction iff its negative is. (Contributed by Scott Fenton, 9-Nov-2025.)
(𝐴 No → (𝐴 ∈ ℤs[1/2] ↔ ( -us𝐴) ∈ ℤs[1/2]))
 
9-Nov-2025zs12negscl 28346 The dyadics are closed under negation. (Contributed by Scott Fenton, 9-Nov-2025.)
(𝐴 ∈ ℤs[1/2] → ( -us𝐴) ∈ ℤs[1/2])
 
8-Nov-2025gpgedgel 48031 An edge in a generalized Petersen graph 𝐺. (Contributed by AV, 29-Aug-2025.) (Proof shortened by AV, 8-Nov-2025.)
𝐼 = (0..^𝑁)    &   𝐽 = (1..^(⌈‘(𝑁 / 2)))    &   𝐺 = (𝑁 gPetersenGr 𝐾)    &   𝐸 = (Edg‘𝐺)       ((𝑁 ∈ (ℤ‘3) ∧ 𝐾𝐽) → (𝑌𝐸 ↔ ∃𝑥𝐼 (𝑌 = {⟨0, 𝑥⟩, ⟨0, ((𝑥 + 1) mod 𝑁)⟩} ∨ 𝑌 = {⟨0, 𝑥⟩, ⟨1, 𝑥⟩} ∨ 𝑌 = {⟨1, 𝑥⟩, ⟨1, ((𝑥 + 𝐾) mod 𝑁)⟩})))
 
8-Nov-2025zs12ge0 28348 An expression for non-negative dyadic rationals. (Contributed by Scott Fenton, 8-Nov-2025.)
((𝐴 No ∧ 0s ≤s 𝐴) → (𝐴 ∈ ℤs[1/2] ↔ ∃𝑥 ∈ ℕ0s𝑦 ∈ ℕ0s𝑝 ∈ ℕ0s (𝐴 = (𝑥 +s (𝑦 /su (2ss𝑝))) ∧ 𝑦 <s (2ss𝑝))))
 
8-Nov-2025pw2divsnegd 28338 Move negative sign inside of a power of two division. (Contributed by Scott Fenton, 8-Nov-2025.)
(𝜑𝐴 No )    &   (𝜑𝑁 ∈ ℕ0s)       (𝜑 → ( -us ‘(𝐴 /su (2ss𝑁))) = (( -us𝐴) /su (2ss𝑁)))
 
8-Nov-2025nnexpscl 28325 Closure law for positive surreal integer exponentiation. (Contributed by Scott Fenton, 8-Nov-2025.)
((𝐴 ∈ ℕs𝑁 ∈ ℕ0s) → (𝐴s𝑁) ∈ ℕs)
 
8-Nov-2025eucliddivs 28271 Euclid's division lemma for surreal numbers. (Contributed by Scott Fenton, 8-Nov-2025.)
((𝐴 ∈ ℕ0s𝐵 ∈ ℕs) → ∃𝑝 ∈ ℕ0s𝑞 ∈ ℕ0s (𝐴 = ((𝐵 ·s 𝑝) +s 𝑞) ∧ 𝑞 <s 𝐵))
 
8-Nov-2025nnm1n0s 28270 A positive surreal integer minus one is a non-negative surreal integer. (Contributed by Scott Fenton, 8-Nov-2025.)
(𝑁 ∈ ℕs → (𝑁 -s 1s ) ∈ ℕ0s)
 
8-Nov-2025nn1m1nns 28269 Every positive surreal integer is either one or a successor. (Contributed by Scott Fenton, 8-Nov-2025.)
(𝐴 ∈ ℕs → (𝐴 = 1s ∨ (𝐴 -s 1s ) ∈ ℕs))
 
8-Nov-2025n0slem1lt 28263 Non-negative surreal ordering relation. (Contributed by Scott Fenton, 8-Nov-2025.)
((𝑀 ∈ ℕ0s𝑁 ∈ ℕ0s) → (𝑀 ≤s 𝑁 ↔ (𝑀 -s 1s ) <s 𝑁))
 
8-Nov-2025onsiso 28175 The birthday function restricted to the surreal ordinals forms an order-preserving isomorphism with the regular ordinals. (Contributed by Scott Fenton, 8-Nov-2025.)
( bday ↾ Ons) Isom <s , E (Ons, On)
 
7-Nov-2025imasubc3 49135 An image of a functor injective on objects is a subcategory. Remark 4.2(3) of [Adamek] p. 48. (Contributed by Zhi Wang, 7-Nov-2025.)
𝑆 = (𝐹𝐴)    &   𝐻 = (Hom ‘𝐷)    &   𝐾 = (𝑥𝑆, 𝑦𝑆 𝑝 ∈ ((𝐹 “ {𝑥}) × (𝐹 “ {𝑦}))((𝐺𝑝) “ (𝐻𝑝)))    &   (𝜑𝐹(𝐷 Func 𝐸)𝐺)    &   (𝜑 → Fun 𝐹)       (𝜑𝐾 ∈ (Subcat‘𝐸))
 
7-Nov-2025imaf1co 49134 An image of a functor whose object part is injective preserves the composition. (Contributed by Zhi Wang, 7-Nov-2025.)
𝑆 = (𝐹𝐴)    &   𝐻 = (Hom ‘𝐷)    &   𝐾 = (𝑥𝑆, 𝑦𝑆 𝑝 ∈ ((𝐹 “ {𝑥}) × (𝐹 “ {𝑦}))((𝐺𝑝) “ (𝐻𝑝)))    &   (𝜑𝐹(𝐷 Func 𝐸)𝐺)    &   𝐵 = (Base‘𝐷)    &   𝐶 = (Base‘𝐸)    &    = (comp‘𝐸)    &   (𝜑𝐹:𝐵1-1𝐶)    &   (𝜑𝑋𝑆)    &   (𝜑𝑌𝑆)    &   (𝜑𝑍𝑆)    &   (𝜑𝑀 ∈ (𝑋𝐾𝑌))    &   (𝜑𝑁 ∈ (𝑌𝐾𝑍))       (𝜑 → (𝑁(⟨𝑋, 𝑌 𝑍)𝑀) ∈ (𝑋𝐾𝑍))
 
7-Nov-2025imaid 49133 An image of a functor preserves the identity morphism. (Contributed by Zhi Wang, 7-Nov-2025.)
𝑆 = (𝐹𝐴)    &   𝐻 = (Hom ‘𝐷)    &   𝐾 = (𝑥𝑆, 𝑦𝑆 𝑝 ∈ ((𝐹 “ {𝑥}) × (𝐹 “ {𝑦}))((𝐺𝑝) “ (𝐻𝑝)))    &   (𝜑𝐹(𝐷 Func 𝐸)𝐺)    &   𝐼 = (Id‘𝐸)    &   (𝜑𝑋𝑆)       (𝜑 → (𝐼𝑋) ∈ (𝑋𝐾𝑋))
 
7-Nov-2025imassc 49132 An image of a functor satisfies the subcategory subset relation. (Contributed by Zhi Wang, 7-Nov-2025.)
𝑆 = (𝐹𝐴)    &   𝐻 = (Hom ‘𝐷)    &   𝐾 = (𝑥𝑆, 𝑦𝑆 𝑝 ∈ ((𝐹 “ {𝑥}) × (𝐹 “ {𝑦}))((𝐺𝑝) “ (𝐻𝑝)))    &   (𝜑𝐹(𝐷 Func 𝐸)𝐺)    &   𝐽 = (Homf𝐸)       (𝜑𝐾cat 𝐽)
 
7-Nov-2025imasubc2 49131 An image of a full functor is a (full) subcategory. Remark 4.2(3) of [Adamek] p. 48. (Contributed by Zhi Wang, 7-Nov-2025.)
𝑆 = (𝐹𝐴)    &   𝐻 = (Hom ‘𝐷)    &   𝐾 = (𝑥𝑆, 𝑦𝑆 𝑝 ∈ ((𝐹 “ {𝑥}) × (𝐹 “ {𝑦}))((𝐺𝑝) “ (𝐻𝑝)))    &   (𝜑𝐹(𝐷 Full 𝐸)𝐺)       (𝜑𝐾 ∈ (Subcat‘𝐸))
 
7-Nov-2025imasubc 49130 An image of a full functor is a full subcategory. Remark 4.2(3) of [Adamek] p. 48. (Contributed by Zhi Wang, 7-Nov-2025.)
𝑆 = (𝐹𝐴)    &   𝐻 = (Hom ‘𝐷)    &   𝐾 = (𝑥𝑆, 𝑦𝑆 𝑝 ∈ ((𝐹 “ {𝑥}) × (𝐹 “ {𝑦}))((𝐺𝑝) “ (𝐻𝑝)))    &   (𝜑𝐹(𝐷 Full 𝐸)𝐺)    &   𝐶 = (Base‘𝐸)    &   𝐽 = (Homf𝐸)       (𝜑 → (𝐾 Fn (𝑆 × 𝑆) ∧ 𝑆𝐶 ∧ (𝐽 ↾ (𝑆 × 𝑆)) = 𝐾))
 
7-Nov-2025imaf1hom 49087 The hom-set of an image of a functor injective on objects. (Contributed by Zhi Wang, 7-Nov-2025.)
𝑆 = (𝐹𝐴)    &   (𝜑𝐹:𝐵1-1𝐶)    &   (𝜑𝑋𝑆)    &   (𝜑𝑌𝑆)    &   (𝜑𝐹𝑉)    &   𝐾 = (𝑥𝑆, 𝑦𝑆 𝑝 ∈ ((𝐹 “ {𝑥}) × (𝐹 “ {𝑦}))((𝐺𝑝) “ (𝐻𝑝)))       (𝜑 → (𝑋𝐾𝑌) = (((𝐹𝑋)𝐺(𝐹𝑌)) “ ((𝐹𝑋)𝐻(𝐹𝑌))))
 
7-Nov-2025imaf1homlem 49086 Lemma for imaf1hom 49087 and other theorems. (Contributed by Zhi Wang, 7-Nov-2025.)
𝑆 = (𝐹𝐴)    &   (𝜑𝐹:𝐵1-1𝐶)    &   (𝜑𝑋𝑆)       (𝜑 → ({(𝐹𝑋)} = (𝐹 “ {𝑋}) ∧ (𝐹‘(𝐹𝑋)) = 𝑋 ∧ (𝐹𝑋) ∈ 𝐵))
 
7-Nov-2025imasubclem3 49085 Lemma for imasubc 49130. (Contributed by Zhi Wang, 7-Nov-2025.)
(𝜑𝐹𝑉)    &   (𝜑𝐺𝑊)    &   (𝜑𝑋𝐴)    &   (𝜑𝑌𝐵)    &   𝐾 = (𝑥𝐴, 𝑦𝐵 𝑧 ∈ ((𝐹 “ {𝑥}) × (𝐺 “ {𝑦}))((𝐻𝐶) “ 𝐷))       (𝜑 → (𝑋𝐾𝑌) = 𝑧 ∈ ((𝐹 “ {𝑋}) × (𝐺 “ {𝑌}))((𝐻𝐶) “ 𝐷))
 
7-Nov-2025imasubclem2 49084 Lemma for imasubc 49130. (Contributed by Zhi Wang, 7-Nov-2025.)
(𝜑𝐹𝑉)    &   (𝜑𝐺𝑊)    &   𝐾 = (𝑦𝑋, 𝑧𝑌 𝑥 ∈ ((𝐹𝐴) × (𝐺𝐵))((𝐻𝐶) “ 𝐷))       (𝜑𝐾 Fn (𝑋 × 𝑌))
 
7-Nov-2025inisegn0a 48814 The inverse image of a singleton subset of an image is non-empty. (Contributed by Zhi Wang, 7-Nov-2025.)
(𝐴 ∈ (𝐹𝐵) → (𝐹 “ {𝐴}) ≠ ∅)
 
7-Nov-2025pw2divsdird 28337 Distribution of surreal division over addition for powers of two. (Contributed by Scott Fenton, 7-Nov-2025.)
(𝜑𝐴 No )    &   (𝜑𝐵 No )    &   (𝜑𝑁 ∈ ℕ0s)       (𝜑 → ((𝐴 +s 𝐵) /su (2ss𝑁)) = ((𝐴 /su (2ss𝑁)) +s (𝐵 /su (2ss𝑁))))
 
7-Nov-2025pw2divsrecd 28336 Relationship between surreal division and reciprocal for powers of two. (Contributed by Scott Fenton, 7-Nov-2025.)
(𝜑𝐴 No )    &   (𝜑𝑁 ∈ ℕ0s)       (𝜑 → (𝐴 /su (2ss𝑁)) = (𝐴 ·s ( 1s /su (2ss𝑁))))
 
7-Nov-2025pw2ge0divsd 28335 Divison of a non-negative surreal by a power of two. (Contributed by Scott Fenton, 7-Nov-2025.)
(𝜑𝐴 No )    &   (𝜑𝑁 ∈ ℕ0s)       (𝜑 → ( 0s ≤s 𝐴 ↔ 0s ≤s (𝐴 /su (2ss𝑁))))
 
7-Nov-2025pw2gt0divsd 28334 Division of a positive surreal by a power of two. (Contributed by Scott Fenton, 7-Nov-2025.)
(𝜑𝐴 No )    &   (𝜑𝑁 ∈ ℕ0s)       (𝜑 → ( 0s <s 𝐴 ↔ 0s <s (𝐴 /su (2ss𝑁))))
 
7-Nov-2025pw2divscan2d 28333 A cancellation law for surreal division by powers of two. (Contributed by Scott Fenton, 7-Nov-2025.)
(𝜑𝐴 No )    &   (𝜑𝑁 ∈ ℕ0s)       (𝜑 → ((2ss𝑁) ·s (𝐴 /su (2ss𝑁))) = 𝐴)
 
7-Nov-2025pw2divscan3d 28332 Cancellation law for surreal division by powers of two. (Contributed by Scott Fenton, 7-Nov-2025.)
(𝜑𝐴 No )    &   (𝜑𝑁 ∈ ℕ0s)       (𝜑 → (((2ss𝑁) ·s 𝐴) /su (2ss𝑁)) = 𝐴)
 
7-Nov-2025pw2divsmuld 28331 Relationship between surreal division and multiplication for powers of two. (Contributed by Scott Fenton, 7-Nov-2025.)
(𝜑𝐴 No )    &   (𝜑𝐵 No )    &   (𝜑𝑁 ∈ ℕ0s)       (𝜑 → ((𝐴 /su (2ss𝑁)) = 𝐵 ↔ ((2ss𝑁) ·s 𝐵) = 𝐴))
 
7-Nov-2025pw2divscld 28330 Division closure for powers of two. (Contributed by Scott Fenton, 7-Nov-2025.)
(𝜑𝐴 No )    &   (𝜑𝑁 ∈ ℕ0s)       (𝜑 → (𝐴 /su (2ss𝑁)) ∈ No )
 
7-Nov-2025expadds 28326 Sum of exponents law for surreals. (Contributed by Scott Fenton, 7-Nov-2025.)
((𝐴 No 𝑀 ∈ ℕ0s𝑁 ∈ ℕ0s) → (𝐴s(𝑀 +s 𝑁)) = ((𝐴s𝑀) ·s (𝐴s𝑁)))
 
7-Nov-2025n0expscl 28324 Closure law for non-negative surreal integer exponentiation. (Contributed by Scott Fenton, 7-Nov-2025.)
((𝐴 ∈ ℕ0s𝑁 ∈ ℕ0s) → (𝐴s𝑁) ∈ ℕ0s)
 
7-Nov-2025expscllem 28322 Lemma for proving non-negative surreal integer exponentiation closure. (Contributed by Scott Fenton, 7-Nov-2025.)
𝐹 No     &   ((𝑥𝐹𝑦𝐹) → (𝑥 ·s 𝑦) ∈ 𝐹)    &    1s𝐹       ((𝐴𝐹𝑁 ∈ ℕ0s) → (𝐴s𝑁) ∈ 𝐹)
 
7-Nov-2025bdayn0sf1o 28265 The birthday function restricted to the non-negative surreal integers is a bijection with the finite ordinals. (Contributed by Scott Fenton, 7-Nov-2025.)
( bday ↾ ℕ0s):ℕ0s1-1-onto→ω
 
7-Nov-2025bdayn0p1 28264 The birthday of 𝐴 +s 1s is the successor of the birthday of 𝐴 when 𝐴 is a non-negative surreal integer. (Contributed by Scott Fenton, 7-Nov-2025.)
(𝐴 ∈ ℕ0s → ( bday ‘(𝐴 +s 1s )) = suc ( bday 𝐴))
 
7-Nov-2025n0sleltp1 28262 Non-negative surreal ordering relation. (Contributed by Scott Fenton, 7-Nov-2025.)
((𝑀 ∈ ℕ0s𝑁 ∈ ℕ0s) → (𝑀 ≤s 𝑁𝑀 <s (𝑁 +s 1s )))
 
7-Nov-2025n0sltp1le 28261 Non-negative surreal ordering relation. (Contributed by Scott Fenton, 7-Nov-2025.)
((𝑀 ∈ ℕ0s𝑁 ∈ ℕ0s) → (𝑀 <s 𝑁 ↔ (𝑀 +s 1s ) ≤s 𝑁))
 
7-Nov-2025n0subs2 28260 Subtraction of non-negative surreal integers. (Contributed by Scott Fenton, 7-Nov-2025.)
((𝑀 ∈ ℕ0s𝑁 ∈ ℕ0s) → (𝑀 <s 𝑁 ↔ (𝑁 -s 𝑀) ∈ ℕs))
 
7-Nov-2025n0cutlt 28255 A non-negative surreal integer is the simplest number greater than all previous non-negative surreal integers. (Contributed by Scott Fenton, 7-Nov-2025.)
(𝐴 ∈ ℕ0s𝐴 = ({𝑥 ∈ ℕ0s𝑥 <s 𝐴} |s ∅))
 
7-Nov-2025onltn0s 28254 A surreal ordinal that is less than a non-negative integer is a non-negative integer. (Contributed by Scott Fenton, 7-Nov-2025.)
((𝐴 ∈ Ons𝐵 ∈ ℕ0s𝐴 <s 𝐵) → 𝐴 ∈ ℕ0s)
 
7-Nov-2025n0scut2 28233 A cut form for the successor of a non-negative surreal integer. (Contributed by Scott Fenton, 7-Nov-2025.)
(𝐴 ∈ ℕ0s → (𝐴 +s 1s ) = ({𝐴} |s ∅))
 
7-Nov-2025bdayon 28179 The birthday of a surreal ordinal is the set of all previous ordinal birthdays. (Contributed by Scott Fenton, 7-Nov-2025.)
(𝐴 ∈ Ons → ( bday 𝐴) = ( bday “ {𝑥 ∈ Ons𝑥 <s 𝐴}))
 
7-Nov-2025onslt 28174 Less-than is the same as birthday comparison over surreal ordinals. (Contributed by Scott Fenton, 7-Nov-2025.)
((𝐴 ∈ Ons𝐵 ∈ Ons) → (𝐴 <s 𝐵 ↔ ( bday 𝐴) ∈ ( bday 𝐵)))
 
7-Nov-2025onnolt 28173 If a surreal ordinal is less than a given surreal, then it is simpler. (Contributed by Scott Fenton, 7-Nov-2025.)
((𝐴 ∈ Ons𝐵 No 𝐴 <s 𝐵) → ( bday 𝐴) ∈ ( bday 𝐵))
 
7-Nov-2025subseq0d 28014 The difference between two surreals is zero iff they are equal. (Contributed by Scott Fenton, 7-Nov-2025.)
(𝜑𝐴 No )    &   (𝜑𝐵 No )       (𝜑 → ((𝐴 -s 𝐵) = 0s𝐴 = 𝐵))
 
7-Nov-2025subscan2d 28013 Cancellation law for surreal subtraction. (Contributed by Scott Fenton, 7-Nov-2025.)
(𝜑𝐴 No )    &   (𝜑𝐵 No )    &   (𝜑𝐶 No )       (𝜑 → ((𝐴 -s 𝐶) = (𝐵 -s 𝐶) ↔ 𝐴 = 𝐵))
 
7-Nov-2025subscan1d 28012 Cancellation law for surreal subtraction. (Contributed by Scott Fenton, 7-Nov-2025.)
(𝜑𝐴 No )    &   (𝜑𝐵 No )    &   (𝜑𝐶 No )       (𝜑 → ((𝐶 -s 𝐴) = (𝐶 -s 𝐵) ↔ 𝐴 = 𝐵))
 
7-Nov-2025newbdayim 27820 One direction of the biconditional in newbday 27819. (Contributed by Scott Fenton, 7-Nov-2025.)
(𝑋 ∈ ( N ‘𝐴) → ( bday 𝑋) = 𝐴)
 
7-Nov-2025rightgt 27782 A member of a surreal's right set is greater than it. (Contributed by Scott Fenton, 7-Nov-2025.)
(𝐴 ∈ ( R ‘𝐵) → 𝐵 <s 𝐴)
 
7-Nov-2025leftlt 27781 A member of a surreal's left set is less than it. (Contributed by Scott Fenton, 7-Nov-2025.)
(𝐴 ∈ ( L ‘𝐵) → 𝐴 <s 𝐵)
 
7-Nov-2025elright 27780 Membership in the right set of a surreal. (Contributed by Scott Fenton, 7-Nov-2025.)
(𝐴 ∈ ( R ‘𝐵) ↔ (𝐴 ∈ ( O ‘( bday 𝐵)) ∧ 𝐵 <s 𝐴))
 
7-Nov-2025elleft 27779 Membership in the left set of a surreal. (Contributed by Scott Fenton, 7-Nov-2025.)
(𝐴 ∈ ( L ‘𝐵) ↔ (𝐴 ∈ ( O ‘( bday 𝐵)) ∧ 𝐴 <s 𝐵))
 
6-Nov-2025cnelsubc 49583 Remark 4.2(2) of [Adamek] p. 48. There exists a category satisfying all conditions for a subcategory but the compatibility of identity morphisms. Therefore such condition in df-subc 17780 is necessary. A stronger statement than nelsubc3 49050. (Contributed by Zhi Wang, 6-Nov-2025.)
𝑐 ∈ Cat ∃𝑗𝑠(𝑗 Fn (𝑠 × 𝑠) ∧ (𝑗cat (Homf𝑐) ∧ ¬ ∀𝑥𝑠 ((Id‘𝑐)‘𝑥) ∈ (𝑥𝑗𝑥) ∧ (𝑐cat 𝑗) ∈ Cat))
 
6-Nov-2025cnelsubclem 49582 Lemma for cnelsubc 49583. (Contributed by Zhi Wang, 6-Nov-2025.)
𝐽 ∈ V    &   𝑆 ∈ V    &   (𝐶 ∈ Cat ∧ 𝐽 Fn (𝑆 × 𝑆) ∧ (𝐽cat (Homf𝐶) ∧ ¬ ∀𝑥𝑆 ((Id‘𝐶)‘𝑥) ∈ (𝑥𝐽𝑥) ∧ (𝐶cat 𝐽) ∈ Cat))       𝑐 ∈ Cat ∃𝑗𝑠(𝑗 Fn (𝑠 × 𝑠) ∧ (𝑗cat (Homf𝑐) ∧ ¬ ∀𝑥𝑠 ((Id‘𝑐)‘𝑥) ∈ (𝑥𝑗𝑥) ∧ (𝑐cat 𝑗) ∈ Cat))
 
6-Nov-2025setc1onsubc 49581 Construct a category with one object and two morphisms and prove that category (SetCat‘1o) satisfies all conditions for a subcategory but the compatibility of identity morphisms, showing the necessity of the latter condition in defining a subcategory. Exercise 4A of [Adamek] p. 58. (Contributed by Zhi Wang, 6-Nov-2025.)
𝐶 = {⟨(Base‘ndx), {∅}⟩, ⟨(Hom ‘ndx), {⟨∅, ∅, 2o⟩}⟩, ⟨(comp‘ndx), {⟨⟨∅, ∅⟩, ∅, · ⟩}⟩}    &    · = (𝑓 ∈ 2o, 𝑔 ∈ 2o ↦ (𝑓𝑔))    &   𝐸 = (SetCat‘1o)    &   𝐽 = (Homf𝐸)    &   𝑆 = 1o    &   𝐻 = (Homf𝐶)    &    1 = (Id‘𝐶)    &   𝐷 = (𝐶cat 𝐽)       (𝐶 ∈ Cat ∧ 𝐽 Fn (𝑆 × 𝑆) ∧ (𝐽cat 𝐻 ∧ ¬ ∀𝑥𝑆 ( 1𝑥) ∈ (𝑥𝐽𝑥) ∧ 𝐷 ∈ Cat))
 
6-Nov-2025fulltermc2 49491 Given a full functor to a terminal category, the source category must not have empty hom-sets. (Contributed by Zhi Wang, 17-Oct-2025.) (Proof shortened by Zhi Wang, 6-Nov-2025.)
𝐵 = (Base‘𝐶)    &   𝐻 = (Hom ‘𝐶)    &   (𝜑𝐷 ∈ TermCat)    &   (𝜑𝐹(𝐶 Full 𝐷)𝐺)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)       (𝜑 → ¬ (𝑋𝐻𝑌) = ∅)
 
6-Nov-2025imasubclem1 49083 Lemma for imasubc 49130. (Contributed by Zhi Wang, 6-Nov-2025.)
(𝜑𝐹𝑉)    &   (𝜑𝐺𝑊)       (𝜑 𝑥 ∈ ((𝐹𝐴) × (𝐺𝐵))((𝐻𝐶) “ 𝐷) ∈ V)
 
6-Nov-2025resccat 49053 A class 𝐶 restricted by the hom-sets of another set 𝐸, whose base is a subset of the base of 𝐶 and whose composition is compatible with 𝐶, is a category iff 𝐸 is a category. Note that the compatibility condition "resccat.1" can be weakened by removing 𝑥𝑆 because 𝑓 ∈ (𝑥𝐽𝑦) implies these. (Contributed by Zhi Wang, 6-Nov-2025.)
𝐷 = (𝐶cat 𝐽)    &   𝐵 = (Base‘𝐶)    &   𝑆 = (Base‘𝐸)    &   𝐽 = (Homf𝐸)    &    · = (comp‘𝐶)    &    = (comp‘𝐸)    &   (((𝜑 ∧ (𝑥𝑆𝑦𝑆𝑧𝑆)) ∧ (𝑓 ∈ (𝑥𝐽𝑦) ∧ 𝑔 ∈ (𝑦𝐽𝑧))) → (𝑔(⟨𝑥, 𝑦· 𝑧)𝑓) = (𝑔(⟨𝑥, 𝑦 𝑧)𝑓))    &   (𝜑𝐸𝑉)    &   (𝜑𝑆𝐵)       (𝜑 → (𝐷 ∈ Cat ↔ 𝐸 ∈ Cat))
 
6-Nov-2025resccatlem 49052 Lemma for resccat 49053. (Contributed by Zhi Wang, 6-Nov-2025.)
𝐷 = (𝐶cat 𝐽)    &   𝐵 = (Base‘𝐶)    &   𝑆 = (Base‘𝐸)    &   𝐽 = (Homf𝐸)    &    · = (comp‘𝐶)    &    = (comp‘𝐸)    &   (((𝜑 ∧ (𝑥𝑆𝑦𝑆𝑧𝑆)) ∧ (𝑓 ∈ (𝑥𝐽𝑦) ∧ 𝑔 ∈ (𝑦𝐽𝑧))) → (𝑔(⟨𝑥, 𝑦· 𝑧)𝑓) = (𝑔(⟨𝑥, 𝑦 𝑧)𝑓))    &   (𝜑𝐸𝑉)    &   (𝜑𝑆𝐵)    &   (𝜑𝐶𝑈)       (𝜑 → (𝐷 ∈ Cat ↔ 𝐸 ∈ Cat))
 
6-Nov-2025ssccatid 49051 A category 𝐶 restricted by 𝐽 is a category if all of the following are satisfied: a) the base is a subset of base of 𝐶, b) all hom-sets are subsets of hom-sets of 𝐶, c) it has identity morphisms for all objects, d) the composition under 𝐶 is closed in 𝐽. But 𝐽 might not be a subcategory of 𝐶 (see cnelsubc 49583). (Contributed by Zhi Wang, 6-Nov-2025.)
𝐻 = (Homf𝐶)    &   𝐷 = (𝐶cat 𝐽)    &    · = (comp‘𝐶)    &   (𝜑𝐽cat 𝐻)    &   (𝜑𝐽 Fn (𝑆 × 𝑆))    &   (𝜑𝐶 ∈ Cat)    &   ((𝜑𝑦𝑆) → 1 ∈ (𝑦𝐽𝑦))    &   ((𝜑 ∧ (𝑎𝑆𝑏𝑆𝑚 ∈ (𝑎𝐽𝑏))) → ( 1 (⟨𝑎, 𝑏· 𝑏)𝑚) = 𝑚)    &   ((𝜑 ∧ (𝑎𝑆𝑏𝑆𝑚 ∈ (𝑎𝐽𝑏))) → (𝑚(⟨𝑎, 𝑎· 𝑏) 1 ) = 𝑚)    &   ((𝜑 ∧ (𝑥𝑆𝑦𝑆𝑧𝑆) ∧ (𝑓 ∈ (𝑥𝐽𝑦) ∧ 𝑔 ∈ (𝑦𝐽𝑧))) → (𝑔(⟨𝑥, 𝑦· 𝑧)𝑓) ∈ (𝑥𝐽𝑧))       (𝜑 → (𝐷 ∈ Cat ∧ (Id‘𝐷) = (𝑦𝑆1 )))
 
6-Nov-2025iineqconst2 48802 Indexed intersection of identical classes. (Contributed by Zhi Wang, 6-Nov-2025.)
((𝐴 ≠ ∅ ∧ ∀𝑥𝐴 𝐵 = 𝐶) → 𝑥𝐴 𝐵 = 𝐶)
 
6-Nov-2025iuneqconst2 48801 Indexed union of identical classes. (Contributed by Zhi Wang, 6-Nov-2025.)
((𝐴 ≠ ∅ ∧ ∀𝑥𝐴 𝐵 = 𝐶) → 𝑥𝐴 𝐵 = 𝐶)
 
6-Nov-2025cycldlenngric 47918 Two simple pseudographs are not isomorphic if one has a cycle and the other has no cycle of the same length. (Contributed by AV, 6-Nov-2025.)
((𝐺 ∈ USPGraph ∧ 𝐻 ∈ USPGraph) → ((∃𝑝𝑓(𝑓(Cycles‘𝐺)𝑝 ∧ (♯‘𝑓) = 𝑁) ∧ ¬ ∃𝑝𝑓(𝑓(Cycles‘𝐻)𝑝 ∧ (♯‘𝑓) = 𝑁)) → ¬ 𝐺𝑔𝑟 𝐻))
 
6-Nov-2025upgrimwlklen 47893 Graph isomorphisms between simple pseudographs map walks onto walks of the same length. (Contributed by AV, 6-Nov-2025.)
𝐼 = (iEdg‘𝐺)    &   𝐽 = (iEdg‘𝐻)    &   (𝜑𝐺 ∈ USPGraph)    &   (𝜑𝐻 ∈ USPGraph)    &   (𝜑𝑁 ∈ (𝐺 GraphIso 𝐻))    &   𝐸 = (𝑥 ∈ dom 𝐹 ↦ (𝐽‘(𝑁 “ (𝐼‘(𝐹𝑥)))))    &   (𝜑𝐹(Walks‘𝐺)𝑃)       (𝜑 → (𝐸(Walks‘𝐻)(𝑁𝑃) ∧ (♯‘𝐸) = (♯‘𝐹)))
 
6-Nov-2025permaxinf2 44996 The Axiom of Infinity ax-inf2 9600 holds in permutation models. Part of Exercise II.9.2 of [Kunen2] p. 148. (Contributed by Eric Schmidt, 6-Nov-2025.)
𝐹:V–1-1-onto→V    &   𝑅 = (𝐹 ∘ E )       𝑥(∃𝑦(𝑦𝑅𝑥 ∧ ∀𝑧 ¬ 𝑧𝑅𝑦) ∧ ∀𝑦(𝑦𝑅𝑥 → ∃𝑧(𝑧𝑅𝑥 ∧ ∀𝑤(𝑤𝑅𝑧 ↔ (𝑤𝑅𝑦𝑤 = 𝑦)))))
 
6-Nov-2025permaxinf2lem 44995 Lemma for permaxinf2 44996. (Contributed by Eric Schmidt, 6-Nov-2025.)
𝐹:V–1-1-onto→V    &   𝑅 = (𝐹 ∘ E )    &   𝑍 = (rec((𝑣 ∈ V ↦ (𝐹‘((𝐹𝑣) ∪ {𝑣}))), (𝐹‘∅)) “ ω)       𝑥(∃𝑦(𝑦𝑅𝑥 ∧ ∀𝑧 ¬ 𝑧𝑅𝑦) ∧ ∀𝑦(𝑦𝑅𝑥 → ∃𝑧(𝑧𝑅𝑥 ∧ ∀𝑤(𝑤𝑅𝑧 ↔ (𝑤𝑅𝑦𝑤 = 𝑦)))))
 
6-Nov-2025permaxun 44994 The Axiom of Union ax-un 7713 holds in permutation models. Part of Exercise II.9.2 of [Kunen2] p. 148. (Contributed by Eric Schmidt, 6-Nov-2025.)
𝐹:V–1-1-onto→V    &   𝑅 = (𝐹 ∘ E )       𝑦𝑧(∃𝑤(𝑧𝑅𝑤𝑤𝑅𝑥) → 𝑧𝑅𝑦)
 
6-Nov-2025permaxpr 44993 The Axiom of Pairing ax-pr 5389 holds in permutation models. Part of Exercise II.9.2 of [Kunen2] p. 148. (Contributed by Eric Schmidt, 6-Nov-2025.)
𝐹:V–1-1-onto→V    &   𝑅 = (𝐹 ∘ E )       𝑧𝑤((𝑤 = 𝑥𝑤 = 𝑦) → 𝑤𝑅𝑧)
 
6-Nov-2025permaxpow 44992 The Axiom of Power Sets ax-pow 5322 holds in permutation models. Part of Exercise II.9.2 of [Kunen2] p. 148. (Contributed by Eric Schmidt, 6-Nov-2025.)
𝐹:V–1-1-onto→V    &   𝑅 = (𝐹 ∘ E )       𝑦𝑧(∀𝑤(𝑤𝑅𝑧𝑤𝑅𝑥) → 𝑧𝑅𝑦)
 
6-Nov-2025permaxnul 44991 The Null Set Axiom ax-nul 5263 holds in permutation models. Part of Exercise II.9.2 of [Kunen2] p. 148. (Contributed by Eric Schmidt, 6-Nov-2025.)
𝐹:V–1-1-onto→V    &   𝑅 = (𝐹 ∘ E )       𝑥𝑦 ¬ 𝑦𝑅𝑥
 
6-Nov-2025permaxsep 44990 The Axiom of Separation ax-sep 5253 holds in permutation models. Part of Exercise II.9.2 of [Kunen2] p. 148.

Note that, to prove that an instance of Separation holds in the model, 𝜑 would need have all instances of replaced with 𝑅. But this still results in an instance of this theorem, so we do establish that Separation holds. (Contributed by Eric Schmidt, 6-Nov-2025.)

𝐹:V–1-1-onto→V    &   𝑅 = (𝐹 ∘ E )       𝑦𝑥(𝑥𝑅𝑦 ↔ (𝑥𝑅𝑧𝜑))
 
6-Nov-2025permaxrep 44989 The Axiom of Replacement ax-rep 5236 holds in permutation models. Part of Exercise II.9.2 of [Kunen2] p. 148.

Note that, to prove that an instance of Replacement holds in the model, 𝜑 would need have all instances of replaced with 𝑅. But this still results in an instance of this theorem, so we do establish that Replacement holds. (Contributed by Eric Schmidt, 6-Nov-2025.)

𝐹:V–1-1-onto→V    &   𝑅 = (𝐹 ∘ E )       (∀𝑤𝑦𝑧(∀𝑦𝜑𝑧 = 𝑦) → ∃𝑦𝑧(𝑧𝑅𝑦 ↔ ∃𝑤(𝑤𝑅𝑥 ∧ ∀𝑦𝜑)))
 
6-Nov-2025permaxext 44988 The Axiom of Extensionality ax-ext 2702 holds in permutation models. Part of Exercise II.9.2 of [Kunen2] p. 148. (Contributed by Eric Schmidt, 6-Nov-2025.)
𝐹:V–1-1-onto→V    &   𝑅 = (𝐹 ∘ E )       (∀𝑧(𝑧𝑅𝑥𝑧𝑅𝑦) → 𝑥 = 𝑦)
 
6-Nov-2025brpermmodelcnv 44987 Ordinary membership expressed in terms of the permutation model's membership relation. (Contributed by Eric Schmidt, 6-Nov-2025.)
𝐹:V–1-1-onto→V    &   𝑅 = (𝐹 ∘ E )    &   𝐴 ∈ V    &   𝐵 ∈ V       (𝐴𝑅(𝐹𝐵) ↔ 𝐴𝐵)
 
6-Nov-2025brpermmodel 44986 The membership relation in a permutation model. We use a permutation 𝐹 of the universe to define a relation 𝑅 that serves as the membership relation in our model. The conclusion of this theorem is Definition II.9.1 of [Kunen2] p. 148. All the axioms of ZFC except for Regularity hold in permutation models, and Regularity will be false if 𝐹 is chosen appropriately. Thus, permutation models can be used to show that Regularity does not follow from the other axioms (with the usual proviso that the axioms are consistent). (Contributed by Eric Schmidt, 6-Nov-2025.)
𝐹:V–1-1-onto→V    &   𝑅 = (𝐹 ∘ E )    &   𝐴 ∈ V    &   𝐵 ∈ V       (𝐴𝑅𝐵𝐴 ∈ (𝐹𝐵))
 
6-Nov-2025orbitclmpt 44941 Version of orbitcl 44940 using maps-to notation. (Contributed by Eric Schmidt, 6-Nov-2025.)
𝑥𝐵    &   𝑥𝐷    &   𝑍 = (rec((𝑥 ∈ V ↦ 𝐶), 𝐴) “ ω)    &   (𝑥 = 𝐵𝐶 = 𝐷)       ((𝐵𝑍𝐷𝑉) → 𝐷𝑍)
 
6-Nov-2025orbitcl 44940 The orbit under a function is closed under the function. (Contributed by Eric Schmidt, 6-Nov-2025.)
(𝐵 ∈ (rec(𝐹, 𝐴) “ ω) → (𝐹𝐵) ∈ (rec(𝐹, 𝐴) “ ω))
 
6-Nov-2025orbitinit 44939 A set is contained in its orbit. (Contributed by Eric Schmidt, 6-Nov-2025.)
(𝐴𝑉𝐴 ∈ (rec(𝐹, 𝐴) “ ω))
 
6-Nov-2025orbitex 44938 Orbits exist. Given a set 𝐴 and a function 𝐹, the orbit of 𝐴 under 𝐹 is the smallest set 𝑍 such that 𝐴𝑍 and 𝑍 is closed under 𝐹. (Contributed by Eric Schmidt, 6-Nov-2025.)
(rec(𝐹, 𝐴) “ ω) ∈ V
 
6-Nov-2025constrsqrtcl 33775 Constructible numbers are closed under taking the square root. This is not generally the case for the cubic root operation, see 2sqr3nconstr 33777. Item (5) of Theorem 7.10 of [Stewart] p. 96 (Proposed by Saveliy Skresanov, 3-Nov-2025.) (Contributed by Thierry Arnoux, 6-Nov-2025.)
(𝜑𝑋 ∈ Constr)       (𝜑 → (√‘𝑋) ∈ Constr)
 
6-Nov-2025constrabscl 33774 Constructible numbers are closed under absolute value (modulus). (Contributed by Thierry Arnoux, 6-Nov-2025.)
(𝜑𝑋 ∈ Constr)       (𝜑 → (abs‘𝑋) ∈ Constr)
 
6-Nov-2025onsis 28178 Transfinite induction schema for surreal ordinals. (Contributed by Scott Fenton, 6-Nov-2025.)
(𝑥 = 𝑦 → (𝜑𝜓))    &   (𝑥 = 𝐴 → (𝜑𝜒))    &   (𝑥 ∈ Ons → (∀𝑦 ∈ Ons (𝑦 <s 𝑥𝜓) → 𝜑))       (𝐴 ∈ Ons𝜒)
 
6-Nov-2025onsse 28177 Surreal less-than is set-like over the surreal ordinals. (Contributed by Scott Fenton, 6-Nov-2025.)
<s Se Ons
 
6-Nov-2025onswe 28176 Surreal less-than well-orders the surreal ordinals. Part of Theorem 15 of [Conway] p. 28. (Contributed by Scott Fenton, 6-Nov-2025.)
<s We Ons
 
6-Nov-2025bday11on 28172 The birthday function is one-to-one over the surreal ordinals. (Contributed by Scott Fenton, 6-Nov-2025.)
((𝐴 ∈ Ons𝐵 ∈ Ons ∧ ( bday 𝐴) = ( bday 𝐵)) → 𝐴 = 𝐵)
 
6-Nov-2025onsleft 28167 The left set of a surreal ordinal is the same as its old set. (Contributed by Scott Fenton, 6-Nov-2025.)
(𝐴 ∈ Ons → ( O ‘( bday 𝐴)) = ( L ‘𝐴))
 
5-Nov-2025ranup 49621 The universal property of the right Kan extension; expressed explicitly. (Contributed by Zhi Wang, 5-Nov-2025.)
𝑆 = (𝐶 FuncCat 𝐸)    &   𝑀 = (𝐷 Nat 𝐸)    &   𝑁 = (𝐶 Nat 𝐸)    &    = (comp‘𝑆)    &   (𝜑𝐹 ∈ (𝐶 Func 𝐷))    &   (𝜑𝐿 ∈ (𝐷 Func 𝐸))    &   (𝜑𝐴 ∈ ((𝐿func 𝐹)𝑁𝑋))       (𝜑 → (𝐿(𝐹(⟨𝐶, 𝐷⟩ Ran 𝐸)𝑋)𝐴 ↔ ∀𝑙 ∈ (𝐷 Func 𝐸)∀𝑎 ∈ ((𝑙func 𝐹)𝑁𝑋)∃!𝑏 ∈ (𝑙𝑀𝐿)𝑎 = (𝐴(⟨(𝑙func 𝐹), (𝐿func 𝐹)⟩ 𝑋)(𝑏 ∘ (1st𝐹)))))
 
5-Nov-2025incat 49580 Constructing a category with at most one object and at most two morphisms. If 𝑋 is a set then 𝐶 is the category 𝐴 in Exercise 3G of [Adamek] p. 45. (Contributed by Zhi Wang, 5-Nov-2025.)
𝐶 = {⟨(Base‘ndx), {𝑋}⟩, ⟨(Hom ‘ndx), {⟨𝑋, 𝑋, 𝐻⟩}⟩, ⟨(comp‘ndx), {⟨⟨𝑋, 𝑋⟩, 𝑋, · ⟩}⟩}    &   𝐻 = {𝐹, 𝐺}    &    · = (𝑓𝐻, 𝑔𝐻 ↦ (𝑓𝑔))       ((𝐹𝐺𝐺𝑉) → (𝐶 ∈ Cat ∧ (Id‘𝐶) = (𝑦 ∈ {𝑋} ↦ 𝐺)))
 
5-Nov-20252arwcat 49579 The condition for a structure with at most one object and at most two morphisms being a category. "2arwcat.2" to "2arwcat.5" are also necessary conditions if 𝑋, 0, and 1 are all sets, due to catlid 17650, catrid 17651, and catcocl 17652. (Contributed by Zhi Wang, 5-Nov-2025.)
(𝜑 → {𝑋} = (Base‘𝐶))    &   (𝜑𝐻 = (Hom ‘𝐶))    &   (𝜑· = (comp‘𝐶))    &   (𝑋𝐻𝑋) = { 0 , 1 }    &   (𝜑 → ( 1 (⟨𝑋, 𝑋· 𝑋) 1 ) = 1 )    &   (𝜑 → ( 1 (⟨𝑋, 𝑋· 𝑋) 0 ) = 0 )    &   (𝜑 → ( 0 (⟨𝑋, 𝑋· 𝑋) 1 ) = 0 )    &   (𝜑 → ( 0 (⟨𝑋, 𝑋· 𝑋) 0 ) ∈ { 0 , 1 })       (𝜑 → (𝐶 ∈ Cat ∧ (Id‘𝐶) = (𝑦 ∈ {𝑋} ↦ 1 )))
 
5-Nov-20252arwcatlem5 49578 Lemma for 2arwcat 49579. (Contributed by Zhi Wang, 5-Nov-2025.)
(𝜑 → ( 1 · 0 ) = 0 )    &   (𝜑 → ( 0 · 1 ) = 0 )    &   (𝜑 → ( 0 · 0 ) ∈ { 0 , 1 })       (𝜑 → (( 0 · 0 ) · 0 ) = ( 0 · ( 0 · 0 )))
 
5-Nov-20252arwcatlem4 49577 Lemma for 2arwcat 49579. (Contributed by Zhi Wang, 5-Nov-2025.)
(𝜑𝐴 = 𝑋)    &   (𝜑𝐵 = 𝑌)    &   (𝜑𝐶 = 𝑍)    &   (𝜑 → (𝐹 = 0𝐹 = 1 ))    &   (𝜑 → ( 1 (⟨𝑋, 𝑌· 𝑍) 1 ) = 1 )    &   (𝜑 → ( 0 (⟨𝑋, 𝑌· 𝑍) 1 ) = 0 )    &   (𝜑 → ( 1 (⟨𝑋, 𝑌· 𝑍) 0 ) = 0 )    &   (𝜑 → ( 0 (⟨𝑋, 𝑌· 𝑍) 0 ) ∈ { 0 , 1 })    &   (𝜑 → (𝐺 = 0𝐺 = 1 ))       (𝜑 → (𝐺(⟨𝐴, 𝐵· 𝐶)𝐹) ∈ { 0 , 1 })
 
5-Nov-20252arwcatlem3 49576 Lemma for 2arwcat 49579. (Contributed by Zhi Wang, 5-Nov-2025.)
(𝜑𝐴 = 𝑋)    &   (𝜑𝐵 = 𝑌)    &   (𝜑𝐶 = 𝑍)    &   (𝜑 → (𝐹 = 0𝐹 = 1 ))    &   (𝜑 → ( 1 (⟨𝑋, 𝑌· 𝑍) 1 ) = 1 )    &   (𝜑 → ( 0 (⟨𝑋, 𝑌· 𝑍) 1 ) = 0 )       (𝜑 → (𝐹(⟨𝐴, 𝐵· 𝐶) 1 ) = 𝐹)
 
5-Nov-20252arwcatlem2 49575 Lemma for 2arwcat 49579. (Contributed by Zhi Wang, 5-Nov-2025.)
(𝜑𝐴 = 𝑋)    &   (𝜑𝐵 = 𝑌)    &   (𝜑𝐶 = 𝑍)    &   (𝜑 → (𝐹 = 0𝐹 = 1 ))    &   (𝜑 → ( 1 (⟨𝑋, 𝑌· 𝑍) 1 ) = 1 )    &   (𝜑 → ( 1 (⟨𝑋, 𝑌· 𝑍) 0 ) = 0 )       (𝜑 → ( 1 (⟨𝐴, 𝐵· 𝐶)𝐹) = 𝐹)
 
5-Nov-20252arwcatlem1 49574 Lemma for 2arwcat 49579. (Contributed by Zhi Wang, 5-Nov-2025.)
(𝑋𝐻𝑋) = { 0 , 1 }       ((((𝑥 = 𝑋𝑦 = 𝑋) ∧ (𝑧 = 𝑋𝑤 = 𝑋)) ∧ ((𝑓 = 0𝑓 = 1 ) ∧ (𝑔 = 0𝑔 = 1 ) ∧ (𝑘 = 0𝑘 = 1 ))) ↔ ((𝑥 ∈ {𝑋} ∧ 𝑦 ∈ {𝑋}) ∧ (𝑧 ∈ {𝑋} ∧ 𝑤 ∈ {𝑋}) ∧ (𝑓 ∈ (𝑥𝐻𝑦) ∧ 𝑔 ∈ (𝑦𝐻𝑧) ∧ 𝑘 ∈ (𝑧𝐻𝑤))))
 
5-Nov-2025catcofval 49207 Composition of the category structure. (Contributed by Zhi Wang, 5-Nov-2025.)
𝐶 = {⟨(Base‘ndx), 𝐵⟩, ⟨(Hom ‘ndx), 𝐻⟩, ⟨(comp‘ndx), · ⟩}    &    · ∈ V        · = (comp‘𝐶)
 
5-Nov-2025cathomfval 49206 The hom-sets of the category structure. (Contributed by Zhi Wang, 5-Nov-2025.)
𝐶 = {⟨(Base‘ndx), 𝐵⟩, ⟨(Hom ‘ndx), 𝐻⟩, ⟨(comp‘ndx), · ⟩}    &   𝐻 ∈ V       𝐻 = (Hom ‘𝐶)
 
5-Nov-2025catbas 49205 The base of the category structure. (Contributed by Zhi Wang, 5-Nov-2025.)
𝐶 = {⟨(Base‘ndx), 𝐵⟩, ⟨(Hom ‘ndx), 𝐻⟩, ⟨(comp‘ndx), · ⟩}    &   𝐵 ∈ V       𝐵 = (Base‘𝐶)
 
5-Nov-2025upciclem1 49145 Lemma for upcic 49149, upeu 49150, and upeu2 49151. (Contributed by Zhi Wang, 16-Sep-2025.) (Proof shortened by Zhi Wang, 5-Nov-2025.)
(𝜑 → ∀𝑦𝐵𝑛 ∈ (𝑍𝐽(𝐹𝑦))∃!𝑘 ∈ (𝑋𝐻𝑦)𝑛 = (((𝑋𝐺𝑦)‘𝑘)(⟨𝑍, (𝐹𝑋)⟩𝑂(𝐹𝑦))𝑀))    &   (𝜑𝑌𝐵)    &   (𝜑𝑁 ∈ (𝑍𝐽(𝐹𝑌)))       (𝜑 → ∃!𝑙 ∈ (𝑋𝐻𝑌)𝑁 = (((𝑋𝐺𝑌)‘𝑙)(⟨𝑍, (𝐹𝑋)⟩𝑂(𝐹𝑌))𝑀))
 
5-Nov-2025nelsubc3 49050 Remark 4.2(2) of [Adamek] p. 48. There exists a set satisfying all conditions for a subcategory but the existence of identity morphisms. Therefore such condition in df-subc 17780 is necessary.

Note that this theorem cheated a little bit because (𝐶cat 𝐽) is not a category. In fact (𝐶cat 𝐽) ∈ Cat is a stronger statement than the condition (d) of Definition 4.1(1) of [Adamek] p. 48, as stated here (see the proof of issubc3 17817). To construct such a category, see setc1onsubc 49581 and cnelsubc 49583. (Contributed by Zhi Wang, 5-Nov-2025.)

𝑐 ∈ Cat ∃𝑗𝑠(𝑗 Fn (𝑠 × 𝑠) ∧ (𝑗cat (Homf𝑐) ∧ (¬ ∀𝑥𝑠 ((Id‘𝑐)‘𝑥) ∈ (𝑥𝑗𝑥) ∧ ∀𝑥𝑠𝑦𝑠𝑧𝑠𝑓 ∈ (𝑥𝑗𝑦)∀𝑔 ∈ (𝑦𝑗𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝑐)𝑧)𝑓) ∈ (𝑥𝑗𝑧))))
 
5-Nov-2025nelsubc3lem 49049 Lemma for nelsubc3 49050. (Contributed by Zhi Wang, 5-Nov-2025.)
𝐶 ∈ Cat    &   𝐽 ∈ V    &   𝑆 ∈ V    &   (𝐽 Fn (𝑆 × 𝑆) ∧ (𝐽cat (Homf𝐶) ∧ (¬ ∀𝑥𝑆 ((Id‘𝐶)‘𝑥) ∈ (𝑥𝐽𝑥) ∧ ∀𝑥𝑆𝑦𝑆𝑧𝑆𝑓 ∈ (𝑥𝐽𝑦)∀𝑔 ∈ (𝑦𝐽𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥𝐽𝑧))))       𝑐 ∈ Cat ∃𝑗𝑠(𝑗 Fn (𝑠 × 𝑠) ∧ (𝑗cat (Homf𝑐) ∧ (¬ ∀𝑥𝑠 ((Id‘𝑐)‘𝑥) ∈ (𝑥𝑗𝑥) ∧ ∀𝑥𝑠𝑦𝑠𝑧𝑠𝑓 ∈ (𝑥𝑗𝑦)∀𝑔 ∈ (𝑦𝑗𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝑐)𝑧)𝑓) ∈ (𝑥𝑗𝑧))))
 
5-Nov-2025nelsubc2 49048 An empty "hom-set" for non-empty base is not a subcategory. (Contributed by Zhi Wang, 5-Nov-2025.)
𝐵 = (Base‘𝐶)    &   (𝜑𝑆𝐵)    &   (𝜑𝑆 ≠ ∅)    &   (𝜑𝐽 = ((𝑆 × 𝑆) × {∅}))    &   (𝜑𝐶 ∈ Cat)       (𝜑 → ¬ 𝐽 ∈ (Subcat‘𝐶))
 
5-Nov-2025nelsubc 49047 An empty "hom-set" for non-empty base satisfies all conditions for a subcategory but the existence of identity morphisms. (Contributed by Zhi Wang, 5-Nov-2025.)
𝐵 = (Base‘𝐶)    &   (𝜑𝑆𝐵)    &   (𝜑𝑆 ≠ ∅)    &   (𝜑𝐽 = ((𝑆 × 𝑆) × {∅}))    &   𝐻 = (Homf𝐶)    &    1 = (Id‘𝐶)    &    · = (comp‘𝐶)       (𝜑 → (𝐽 Fn (𝑆 × 𝑆) ∧ (𝐽cat 𝐻 ∧ (¬ ∀𝑥𝑆 ( 1𝑥) ∈ (𝑥𝐽𝑥) ∧ ∀𝑥𝑆𝑦𝑆𝑧𝑆𝑓 ∈ (𝑥𝐽𝑦)∀𝑔 ∈ (𝑦𝐽𝑧)(𝑔(⟨𝑥, 𝑦· 𝑧)𝑓) ∈ (𝑥𝐽𝑧)))))
 
5-Nov-2025nelsubclem 49046 Lemma for nelsubc 49047. (Contributed by Zhi Wang, 5-Nov-2025.)
𝐵 = (Base‘𝐶)    &   (𝜑𝑆𝐵)    &   (𝜑𝑆 ≠ ∅)    &   (𝜑𝐽 = ((𝑆 × 𝑆) × {∅}))    &   𝐻 = (Homf𝐶)       (𝜑 → (𝐽 Fn (𝑆 × 𝑆) ∧ (𝐽cat 𝐻 ∧ (¬ ∀𝑥𝑆 𝐼 ∈ (𝑥𝐽𝑥) ∧ ∀𝑥𝑆𝑦𝑆𝑧𝑆𝑓 ∈ (𝑥𝐽𝑦)𝜓))))
 
5-Nov-2025gpgprismgr4cyclex 48087 The generalized Petersen graphs G(N,1), which are the N-prisms, have (at least) one cycle of length 4. (Contributed by AV, 5-Nov-2025.)
(𝑁 ∈ (ℤ‘3) → ∃𝑝𝑓(𝑓(Cycles‘(𝑁 gPetersenGr 1))𝑝 ∧ (♯‘𝑓) = 4))
 
5-Nov-2025gpgprismgr4cycl0 48086 The generalized Petersen graphs G(N,1), which are the N-prisms, have a cycle of length 4 starting at the vertex ⟨0, 0⟩. (Contributed by AV, 5-Nov-2025.)
𝑃 = ⟨“⟨0, 0⟩⟨0, 1⟩⟨1, 1⟩⟨1, 0⟩⟨0, 0⟩”⟩    &   𝐹 = ⟨“{⟨0, 0⟩, ⟨0, 1⟩} {⟨0, 1⟩, ⟨1, 1⟩} {⟨1, 1⟩, ⟨1, 0⟩} {⟨1, 0⟩, ⟨0, 0⟩}”⟩    &   𝐺 = (𝑁 gPetersenGr 1)       (𝑁 ∈ (ℤ‘3) → (𝐹(Cycles‘𝐺)𝑃 ∧ (♯‘𝐹) = 4))
 
5-Nov-2025gpgprismgr4cycllem11 48085 Lemma 11 for gpgprismgr4cycl0 48086. (Contributed by AV, 5-Nov-2025.)
𝑃 = ⟨“⟨0, 0⟩⟨0, 1⟩⟨1, 1⟩⟨1, 0⟩⟨0, 0⟩”⟩    &   𝐹 = ⟨“{⟨0, 0⟩, ⟨0, 1⟩} {⟨0, 1⟩, ⟨1, 1⟩} {⟨1, 1⟩, ⟨1, 0⟩} {⟨1, 0⟩, ⟨0, 0⟩}”⟩    &   𝐺 = (𝑁 gPetersenGr 1)       (𝑁 ∈ (ℤ‘3) → 𝐹(Cycles‘𝐺)𝑃)
 
5-Nov-2025gpgprismgr4cycllem10 48084 Lemma 10 for gpgprismgr4cycl0 48086. (Contributed by AV, 5-Nov-2025.)
𝑃 = ⟨“⟨0, 0⟩⟨0, 1⟩⟨1, 1⟩⟨1, 0⟩⟨0, 0⟩”⟩    &   𝐹 = ⟨“{⟨0, 0⟩, ⟨0, 1⟩} {⟨0, 1⟩, ⟨1, 1⟩} {⟨1, 1⟩, ⟨1, 0⟩} {⟨1, 0⟩, ⟨0, 0⟩}”⟩    &   𝐺 = (𝑁 gPetersenGr 1)       ((𝑁 ∈ (ℤ‘3) ∧ 𝑋 ∈ (0..^(♯‘𝐹))) → ((iEdg‘𝐺)‘(𝐹𝑋)) = {(𝑃𝑋), (𝑃‘(𝑋 + 1))})
 
5-Nov-2025gpgprismgr4cycllem3 48077 Lemma 3 for gpgprismgr4cycl0 48086. (Contributed by AV, 5-Nov-2025.)
𝐹 = ⟨“{⟨0, 0⟩, ⟨0, 1⟩} {⟨0, 1⟩, ⟨1, 1⟩} {⟨1, 1⟩, ⟨1, 0⟩} {⟨1, 0⟩, ⟨0, 0⟩}”⟩       ((𝑁 ∈ (ℤ‘3) ∧ 𝑋 ∈ (0..^4)) → ((𝐹𝑋) ∈ 𝒫 ({0, 1} × (0..^𝑁)) ∧ ∃𝑥 ∈ (0..^𝑁)((𝐹𝑋) = {⟨0, 𝑥⟩, ⟨0, ((𝑥 + 1) mod 𝑁)⟩} ∨ (𝐹𝑋) = {⟨0, 𝑥⟩, ⟨1, 𝑥⟩} ∨ (𝐹𝑋) = {⟨1, 𝑥⟩, ⟨1, ((𝑥 + 1) mod 𝑁)⟩})))
 
5-Nov-2025constrresqrtcl 33773 If a positive real number 𝑋 is constructible, then, so is its square root. (Contributed by Thierry Arnoux, 5-Nov-2025.)
(𝜑𝑋 ∈ Constr)    &   (𝜑𝑋 ∈ ℝ)    &   (𝜑 → 0 ≤ 𝑋)       (𝜑 → (√‘𝑋) ∈ Constr)
 
5-Nov-2025constrfld 33772 The constructible numbers form a field. (Contributed by Thierry Arnoux, 5-Nov-2025.)
(ℂflds Constr) ∈ Field
 
5-Nov-2025constrsdrg 33771 Constructible numbers form a subfield of the complex numbers. (Contributed by Thierry Arnoux, 5-Nov-2025.)
Constr ∈ (SubDRing‘ℂfld)
 
5-Nov-2025constrinvcl 33769 Constructible numbers are closed under complex inverse. Item (4) of Theorem 7.10 of [Stewart] p. 96 (Contributed by Thierry Arnoux, 5-Nov-2025.)
(𝜑𝑋 ∈ Constr)    &   (𝜑𝑋 ≠ 0)       (𝜑 → (1 / 𝑋) ∈ Constr)
 
5-Nov-2025constrreinvcl 33768 If a real number 𝑋 is constructible, then, so is its inverse. (Contributed by Thierry Arnoux, 5-Nov-2025.)
(𝜑𝑋 ∈ Constr)    &   (𝜑𝑋 ≠ 0)    &   (𝜑𝑋 ∈ ℝ)       (𝜑 → (1 / 𝑋) ∈ Constr)
 
5-Nov-2025constrmulcl 33767 Constructible numbers are closed under complex multiplication. Item (3) of Theorem 7.10 of [Stewart] p. 96 (Contributed by Thierry Arnoux, 5-Nov-2025.)
(𝜑𝑋 ∈ Constr)    &   (𝜑𝑌 ∈ Constr)       (𝜑 → (𝑋 · 𝑌) ∈ Constr)
 
5-Nov-2025constrimcl 33766 Constructible numbers are closed under taking the imaginary part. (Contributed by Thierry Arnoux, 5-Nov-2025.)
(𝜑𝑋 ∈ Constr)       (𝜑 → (ℑ‘𝑋) ∈ Constr)
 
5-Nov-2025constrrecl 33765 Constructible numbers are closed under taking the real part. (Contributed by Thierry Arnoux, 5-Nov-2025.)
(𝜑𝑋 ∈ Constr)       (𝜑 → (ℜ‘𝑋) ∈ Constr)
 
5-Nov-2025constrcjcl 33764 Constructible numbers are closed under complex conjugate. (Contributed by Thierry Arnoux, 5-Nov-2025.)
(𝜑𝑋 ∈ Constr)       (𝜑 → (∗‘𝑋) ∈ Constr)
 
5-Nov-2025argcj 32678 The argument of the conjugate of a complex number 𝐴. (Contributed by Thierry Arnoux, 5-Nov-2025.)
(𝜑𝐴 ∈ ℂ)    &   (𝜑𝐴 ≠ 0)    &   (𝜑 → ¬ -𝐴 ∈ ℝ+)       (𝜑 → (ℑ‘(log‘(∗‘𝐴))) = -(ℑ‘(log‘𝐴)))
 
5-Nov-2025arginv 32677 The argument of the inverse of a complex number 𝐴. (Contributed by Thierry Arnoux, 5-Nov-2025.)
(𝜑𝐴 ∈ ℂ)    &   (𝜑𝐴 ≠ 0)    &   (𝜑 → ¬ -𝐴 ∈ ℝ+)       (𝜑 → (ℑ‘(log‘(1 / 𝐴))) = -(ℑ‘(log‘𝐴)))
 
5-Nov-2025efiargd 32676 The exponential of the "arg" function ℑ ∘ log, deduction version. (Contributed by Thierry Arnoux, 5-Nov-2025.)
(𝜑𝐴 ∈ ℂ)    &   (𝜑𝐴 ≠ 0)       (𝜑 → (exp‘(i · (ℑ‘(log‘𝐴)))) = (𝐴 / (abs‘𝐴)))
 
5-Nov-2025binom2subadd 32671 The difference of the squares of the sum and difference of two complex numbers 𝐴 and 𝐵. (Contributed by Thierry Arnoux, 5-Nov-2025.)
(𝜑𝐴 ∈ ℂ)    &   (𝜑𝐵 ∈ ℂ)       (𝜑 → (((𝐴 + 𝐵)↑2) − ((𝐴𝐵)↑2)) = (4 · (𝐴 · 𝐵)))
 
5-Nov-2025n0sfincut 28252 The simplest number greater than a finite set of non-negative surreal integers is a non-negative surreal integer. (Contributed by Scott Fenton, 5-Nov-2025.)
((𝐴 ⊆ ℕ0s𝐴 ∈ Fin) → (𝐴 |s ∅) ∈ ℕ0s)
 
4-Nov-2025lanup 49620 The universal property of the left Kan extension; expressed explicitly. (Contributed by Zhi Wang, 4-Nov-2025.)
𝑆 = (𝐶 FuncCat 𝐸)    &   𝑀 = (𝐷 Nat 𝐸)    &   𝑁 = (𝐶 Nat 𝐸)    &    = (comp‘𝑆)    &   (𝜑𝐹 ∈ (𝐶 Func 𝐷))    &   (𝜑𝐿 ∈ (𝐷 Func 𝐸))    &   (𝜑𝐴 ∈ (𝑋𝑁(𝐿func 𝐹)))       (𝜑 → (𝐿(𝐹(⟨𝐶, 𝐷⟩ Lan 𝐸)𝑋)𝐴 ↔ ∀𝑙 ∈ (𝐷 Func 𝐸)∀𝑎 ∈ (𝑋𝑁(𝑙func 𝐹))∃!𝑏 ∈ (𝐿𝑀𝑙)𝑎 = ((𝑏 ∘ (1st𝐹))(⟨𝑋, (𝐿func 𝐹)⟩ (𝑙func 𝐹))𝐴)))
 
4-Nov-2025ranrcl5 49619 The second component of a right Kan extension is a natural transformation. (Contributed by Zhi Wang, 4-Nov-2025.)
(𝜑𝐿(𝐹(⟨𝐶, 𝐷⟩ Ran 𝐸)𝑋)𝐴)    &   𝑁 = (𝐶 Nat 𝐸)       (𝜑𝐴 ∈ ((𝐿func 𝐹)𝑁𝑋))
 
4-Nov-2025ranrcl4 49618 The first component of a right Kan extension is a functor. (Contributed by Zhi Wang, 4-Nov-2025.)
(𝜑𝐿(𝐹(⟨𝐶, 𝐷⟩ Ran 𝐸)𝑋)𝐴)       (𝜑𝐿 ∈ (𝐷 Func 𝐸))
 
4-Nov-2025ranrcl4lem 49617 Lemma for ranrcl4 49618 and ranrcl5 49619. (Contributed by Zhi Wang, 4-Nov-2025.)
(𝜑𝐿(𝐹(⟨𝐶, 𝐷⟩ Ran 𝐸)𝑋)𝐴)       (𝜑 → (⟨𝐷, 𝐸⟩ −∘F 𝐹) = ⟨(1st ‘(⟨𝐷, 𝐸⟩ −∘F 𝐹)), (2nd ‘(⟨𝐷, 𝐸⟩ −∘F 𝐹))⟩)
 
4-Nov-2025ranrcl3 49616 Reverse closure for right Kan extensions. (Contributed by Zhi Wang, 4-Nov-2025.)
(𝜑𝐿(𝐹(⟨𝐶, 𝐷⟩ Ran 𝐸)𝑋)𝐴)       (𝜑𝑋 ∈ (𝐶 Func 𝐸))
 
4-Nov-2025ranrcl2 49615 Reverse closure for right Kan extensions. (Contributed by Zhi Wang, 4-Nov-2025.)
(𝜑𝐿(𝐹(⟨𝐶, 𝐷⟩ Ran 𝐸)𝑋)𝐴)       (𝜑𝐹 ∈ (𝐶 Func 𝐷))
 
4-Nov-2025lanrcl5 49614 The second component of a left Kan extension is a natural transformation. (Contributed by Zhi Wang, 4-Nov-2025.)
(𝜑𝐿(𝐹(⟨𝐶, 𝐷⟩ Lan 𝐸)𝑋)𝐴)    &   𝑁 = (𝐶 Nat 𝐸)       (𝜑𝐴 ∈ (𝑋𝑁(𝐿func 𝐹)))
 
4-Nov-2025lanrcl4 49613 The first component of a left Kan extension is a functor. (Contributed by Zhi Wang, 4-Nov-2025.)
(𝜑𝐿(𝐹(⟨𝐶, 𝐷⟩ Lan 𝐸)𝑋)𝐴)       (𝜑𝐿 ∈ (𝐷 Func 𝐸))
 
4-Nov-2025lanrcl3 49612 Reverse closure for left Kan extensions. (Contributed by Zhi Wang, 4-Nov-2025.)
(𝜑𝐿(𝐹(⟨𝐶, 𝐷⟩ Lan 𝐸)𝑋)𝐴)       (𝜑𝑋 ∈ (𝐶 Func 𝐸))
 
4-Nov-2025lanrcl2 49611 Reverse closure for left Kan extensions. (Contributed by Zhi Wang, 4-Nov-2025.)
(𝜑𝐿(𝐹(⟨𝐶, 𝐷⟩ Lan 𝐸)𝑋)𝐴)       (𝜑𝐹 ∈ (𝐶 Func 𝐷))
 
4-Nov-2025ranval2 49609 The set of right Kan extensions is the set of universal pairs. Therefore, the explicit universal property can be recovered by oppcup2 49187 and oppcup3lem 49185. (Contributed by Zhi Wang, 4-Nov-2025.)
𝑂 = (oppCat‘(𝐷 FuncCat 𝐸))    &   𝑃 = (oppCat‘(𝐶 FuncCat 𝐸))    &   (𝜑 → (⟨𝐷, 𝐸⟩ −∘F 𝐹) = ⟨𝐽, 𝐾⟩)    &   (𝜑𝐹 ∈ (𝐶 Func 𝐷))       (𝜑 → (𝐹(⟨𝐶, 𝐷⟩ Ran 𝐸)𝑋) = (⟨𝐽, tpos 𝐾⟩(𝑂 UP 𝑃)𝑋))
 
4-Nov-2025isran2 49608 A right Kan extension is a universal pair. (Contributed by Zhi Wang, 4-Nov-2025.)
𝑂 = (oppCat‘(𝐷 FuncCat 𝐸))    &   𝑃 = (oppCat‘(𝐶 FuncCat 𝐸))    &   (𝜑 → (⟨𝐷, 𝐸⟩ −∘F 𝐹) = ⟨𝐽, 𝐾⟩)    &   (𝜑𝐿(𝐹(⟨𝐶, 𝐷⟩ Ran 𝐸)𝑋)𝐴)       (𝜑𝐿(⟨𝐽, tpos 𝐾⟩(𝑂 UP 𝑃)𝑋)𝐴)
 
4-Nov-2025isran 49607 A right Kan extension is a universal pair. (Contributed by Zhi Wang, 4-Nov-2025.)
𝑂 = (oppCat‘(𝐷 FuncCat 𝐸))    &   𝑃 = (oppCat‘(𝐶 FuncCat 𝐸))    &   (𝜑 → (⟨𝐷, 𝐸⟩ −∘F 𝐹) = ⟨𝐽, 𝐾⟩)    &   (𝜑𝐿 ∈ (𝐹(⟨𝐶, 𝐷⟩ Ran 𝐸)𝑋))       (𝜑𝐿 ∈ (⟨𝐽, tpos 𝐾⟩(𝑂 UP 𝑃)𝑋))
 
4-Nov-2025islan2 49605 A left Kan extension is a universal pair. (Contributed by Zhi Wang, 4-Nov-2025.)
𝑅 = (𝐷 FuncCat 𝐸)    &   𝑆 = (𝐶 FuncCat 𝐸)    &   𝐾 = (⟨𝐷, 𝐸⟩ −∘F 𝐹)       (𝐿(𝐹(⟨𝐶, 𝐷⟩ Lan 𝐸)𝑋)𝐴𝐿(𝐾(𝑅 UP 𝑆)𝑋)𝐴)
 
4-Nov-2025relran 49603 The set of right Kan extensions is a relation. (Contributed by Zhi Wang, 4-Nov-2025.)
Rel (𝐹(𝑃 Ran 𝐸)𝑋)
 
4-Nov-2025ranrcl 49601 Reverse closure for right Kan extensions. (Contributed by Zhi Wang, 4-Nov-2025.)
(𝐿 ∈ (𝐹(⟨𝐶, 𝐷⟩ Ran 𝐸)𝑋) → (𝐹 ∈ (𝐶 Func 𝐷) ∧ 𝑋 ∈ (𝐶 Func 𝐸)))
 
4-Nov-2025ranval 49599 Value of the set of right Kan extensions. (Contributed by Zhi Wang, 4-Nov-2025.)
𝑅 = (𝐷 FuncCat 𝐸)    &   𝑆 = (𝐶 FuncCat 𝐸)    &   (𝜑𝐹 ∈ (𝐶 Func 𝐷))    &   (𝜑𝑋 ∈ (𝐶 Func 𝐸))    &   (𝜑 → (⟨𝐷, 𝐸⟩ −∘F 𝐹) = ⟨𝐽, 𝐾⟩)    &   𝑂 = (oppCat‘𝑅)    &   𝑃 = (oppCat‘𝑆)       (𝜑 → (𝐹(⟨𝐶, 𝐷⟩ Ran 𝐸)𝑋) = (⟨𝐽, tpos 𝐾⟩(𝑂 UP 𝑃)𝑋))
 
4-Nov-2025reldmran2 49597 The domain of (𝑃 Ran 𝐸) is a relation. (Contributed by Zhi Wang, 4-Nov-2025.)
Rel dom (𝑃 Ran 𝐸)
 
4-Nov-2025ranfval 49593 Value of the function generating the set of right Kan extensions. (Contributed by Zhi Wang, 4-Nov-2025.)
𝑅 = (𝐷 FuncCat 𝐸)    &   𝑆 = (𝐶 FuncCat 𝐸)    &   (𝜑𝐶𝑈)    &   (𝜑𝐷𝑉)    &   (𝜑𝐸𝑊)    &   𝑂 = (oppCat‘𝑅)    &   𝑃 = (oppCat‘𝑆)       (𝜑 → (⟨𝐶, 𝐷⟩ Ran 𝐸) = (𝑓 ∈ (𝐶 Func 𝐷), 𝑥 ∈ (𝐶 Func 𝐸) ↦ (( oppFunc ‘(⟨𝐷, 𝐸⟩ −∘F 𝑓))(𝑂 UP 𝑃)𝑥)))
 
4-Nov-2025reldmran 49591 The domain of Ran is a relation. (Contributed by Zhi Wang, 4-Nov-2025.)
Rel dom Ran
 
4-Nov-2025ranfn 49589 Ran is a function on ((V × V) × V). (Contributed by Zhi Wang, 4-Nov-2025.)
Ran Fn ((V × V) × V)
 
4-Nov-2025df-ran 49587 Definition of the (local) right Kan extension. Given a functor 𝐹:𝐶𝐷 and a functor 𝑋:𝐶𝐸, the set (𝐹(⟨𝐶, 𝐷⟩ Ran 𝐸)𝑋) consists of right Kan extensions of 𝑋 along 𝐹, which are universal pairs from the pre-composition functor given by 𝐹 to 𝑋 (ranval2 49609). The definition in § 3 of Chapter X in p. 236 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 49609 (retrieved 3 Nov 2025).

A right Kan extension is in the form of 𝐿, 𝐴 where the first component is a functor 𝐿:𝐷𝐸 (ranrcl4 49618) and the second component is a natural transformation 𝐴:𝐿𝐹𝑋 (ranrcl5 49619) where 𝐿𝐹 is the composed functor. Intuitively, the first component 𝐿 can be regarded as the result of an "inverse" of pre-composition; the source category of 𝑋:𝐶𝐸 is "extended" along 𝐹:𝐶𝐷.

The right Kan extension is a generalization of many categorical concepts such as limit. In § 7 of Chapter X of Categories for the Working Mathematician, it is concluded that "the notion of Kan extensions subsumes all the other fundamental concepts of category theory".

This definition was chosen over the other version in the commented out section due to its better reverse closure property.

See df-lan 49586 for the dual concept.

(Contributed by Zhi Wang, 4-Nov-2025.)

Ran = (𝑝 ∈ (V × V), 𝑒 ∈ V ↦ (1st𝑝) / 𝑐(2nd𝑝) / 𝑑(𝑓 ∈ (𝑐 Func 𝑑), 𝑥 ∈ (𝑐 Func 𝑒) ↦ (( oppFunc ‘(⟨𝑑, 𝑒⟩ −∘F 𝑓))((oppCat‘(𝑑 FuncCat 𝑒)) UP (oppCat‘(𝑐 FuncCat 𝑒)))𝑥)))
 
4-Nov-2025prcoffunca2 49366 The pre-composition functor is a functor. (Contributed by Zhi Wang, 4-Nov-2025.)
𝑅 = (𝐷 FuncCat 𝐸)    &   (𝜑𝐸 ∈ Cat)    &   𝑆 = (𝐶 FuncCat 𝐸)    &   (𝜑𝐹 ∈ (𝐶 Func 𝐷))    &   (𝜑 → (⟨𝐷, 𝐸⟩ −∘F 𝐹) = ⟨𝐾, 𝐿⟩)       (𝜑𝐾(𝑅 Func 𝑆)𝐿)
 
4-Nov-2025prcofelvv 49359 The pre-composition functor is an ordered pair. (Contributed by Zhi Wang, 4-Nov-2025.)
(𝜑𝐹𝑈)    &   (𝜑𝑃𝑉)       (𝜑 → (𝑃 −∘F 𝐹) ∈ (V × V))
 
4-Nov-2025oppcup3 49188 The universal property for the universal pair 𝑋, 𝑀 from a functor to an object, expressed explicitly. (Contributed by Zhi Wang, 4-Nov-2025.)
𝐵 = (Base‘𝐷)    &   𝐻 = (Hom ‘𝐷)    &   𝐽 = (Hom ‘𝐸)    &    = (comp‘𝐸)    &   𝑂 = (oppCat‘𝐷)    &   𝑃 = (oppCat‘𝐸)    &   (𝜑𝑋(⟨𝐹, 𝑇⟩(𝑂 UP 𝑃)𝑊)𝑀)    &   (𝜑 → tpos 𝑇 = 𝐺)    &   (𝜑𝑌𝐵)    &   (𝜑𝑁 ∈ ((𝐹𝑌)𝐽𝑊))       (𝜑 → ∃!𝑘 ∈ (𝑌𝐻𝑋)𝑁 = (𝑀(⟨(𝐹𝑌), (𝐹𝑋)⟩ 𝑊)((𝑌𝐺𝑋)‘𝑘)))
 
4-Nov-2025oppcup2 49187 The universal property for the universal pair 𝑋, 𝑀 from a functor to an object, expressed explicitly. (Contributed by Zhi Wang, 4-Nov-2025.)
𝐵 = (Base‘𝐷)    &   𝐻 = (Hom ‘𝐷)    &   𝐽 = (Hom ‘𝐸)    &    = (comp‘𝐸)    &   𝑂 = (oppCat‘𝐷)    &   𝑃 = (oppCat‘𝐸)    &   (𝜑𝐹(𝐷 Func 𝐸)𝐺)    &   (𝜑𝑋(⟨𝐹, tpos 𝐺⟩(𝑂 UP 𝑃)𝑊)𝑀)       (𝜑 → ∀𝑦𝐵𝑔 ∈ ((𝐹𝑦)𝐽𝑊)∃!𝑘 ∈ (𝑦𝐻𝑋)𝑔 = (𝑀(⟨(𝐹𝑦), (𝐹𝑋)⟩ 𝑊)((𝑦𝐺𝑋)‘𝑘)))
 
4-Nov-2025oppcup3lem 49185 Lemma for oppcup3 49188. (Contributed by Zhi Wang, 4-Nov-2025.)
(𝜑 → ∀𝑦𝐵𝑛 ∈ ((𝐹𝑦)𝐽𝑍)∃!𝑘 ∈ (𝑦𝐻𝑋)𝑛 = (𝑀(⟨(𝐹𝑦), (𝐹𝑋)⟩𝑂𝑍)((𝑦𝐺𝑋)‘𝑘)))    &   (𝜑𝑌𝐵)    &   (𝜑𝑁 ∈ ((𝐹𝑌)𝐽𝑍))       (𝜑 → ∃!𝑙 ∈ (𝑌𝐻𝑋)𝑁 = (𝑀(⟨(𝐹𝑌), (𝐹𝑋)⟩𝑂𝑍)((𝑌𝐺𝑋)‘𝑙)))
 
4-Nov-2025oppcuprcl2 49181 Reverse closure for the class of universal property in opposite categories. (Contributed by Zhi Wang, 4-Nov-2025.)
(𝜑𝑋(⟨𝐹, 𝐺⟩(𝑂 UP 𝑃)𝑊)𝑀)    &   𝑃 = (oppCat‘𝐸)    &   𝑂 = (oppCat‘𝐷)    &   (𝜑𝐷𝑈)    &   (𝜑𝐸𝑉)    &   (𝜑 → tpos 𝐺 = 𝐻)       (𝜑𝐹(𝐷 Func 𝐸)𝐻)
 
4-Nov-2025oppcuprcl5 49180 Reverse closure for the class of universal property in opposite categories. (Contributed by Zhi Wang, 4-Nov-2025.)
(𝜑𝑋(⟨𝐹, 𝐺⟩(𝑂 UP 𝑃)𝑊)𝑀)    &   𝑃 = (oppCat‘𝐸)    &   𝐽 = (Hom ‘𝐸)       (𝜑𝑀 ∈ ((𝐹𝑋)𝐽𝑊))
 
4-Nov-2025oppcuprcl3 49179 Reverse closure for the class of universal property in opposite categories. (Contributed by Zhi Wang, 4-Nov-2025.)
(𝜑𝑋(⟨𝐹, 𝐺⟩(𝑂 UP 𝑃)𝑊)𝑀)    &   𝑃 = (oppCat‘𝐸)    &   𝐶 = (Base‘𝐸)       (𝜑𝑊𝐶)
 
4-Nov-2025oppcuprcl4 49178 Reverse closure for the class of universal property in opposite categories. (Contributed by Zhi Wang, 4-Nov-2025.)
(𝜑𝑋(⟨𝐹, 𝐺⟩(𝑂 UP 𝑃)𝑊)𝑀)    &   𝑂 = (oppCat‘𝐷)    &   𝐵 = (Base‘𝐷)       (𝜑𝑋𝐵)
 
4-Nov-2025uptpos 49177 Rewrite the predicate of universal property in the form of opposite functor. (Contributed by Zhi Wang, 4-Nov-2025.)
(𝜑𝑋(⟨𝐹, 𝐺⟩(𝑂 UP 𝑃)𝑊)𝑀)    &   (𝜑 → tpos 𝐺 = 𝐻)       (𝜑𝑋(⟨𝐹, tpos 𝐻⟩(𝑂 UP 𝑃)𝑊)𝑀)
 
4-Nov-2025uptposlem 49176 Lemma for uptpos 49177. (Contributed by Zhi Wang, 4-Nov-2025.)
(𝜑𝑋(⟨𝐹, 𝐺⟩(𝑂 UP 𝑃)𝑊)𝑀)    &   (𝜑 → tpos 𝐺 = 𝐻)       (𝜑 → tpos 𝐻 = 𝐺)
 
4-Nov-2025funcoppc3 49126 A functor on opposite categories yields a functor on the original categories. (Contributed by Zhi Wang, 4-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   (𝜑𝐶𝑉)    &   (𝜑𝐷𝑊)    &   (𝜑𝐹(𝑂 Func 𝑃)tpos 𝐺)    &   (𝜑𝐺 Fn (𝐴 × 𝐵))       (𝜑𝐹(𝐶 Func 𝐷)𝐺)
 
4-Nov-2025funcoppc2 49122 A functor on opposite categories yields a functor on the original categories. (Contributed by Zhi Wang, 4-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   (𝜑𝐶𝑉)    &   (𝜑𝐷𝑊)    &   (𝜑𝐹(𝑂 Func 𝑃)𝐺)       (𝜑𝐹(𝐶 Func 𝐷)tpos 𝐺)
 
4-Nov-2025oppfoppc 49120 The opposite functor is a functor on opposite categories. (Contributed by Zhi Wang, 4-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   (𝜑𝐹(𝐶 Func 𝐷)𝐺)       (𝜑 → (𝐹 oppFunc 𝐺) ∈ (𝑂 Func 𝑃))
 
4-Nov-2025oppfval 49115 Value of the opposite functor. (Contributed by Zhi Wang, 4-Nov-2025.)
(𝐹(𝐶 Func 𝐷)𝐺 → (𝐹 oppFunc 𝐺) = ⟨𝐹, tpos 𝐺⟩)
 
4-Nov-2025onsfi 28253 A surreal ordinal with a finite birthday is a non-negative surreal integer. (Contributed by Scott Fenton, 4-Nov-2025.)
((𝐴 ∈ Ons ∧ ( bday 𝐴) ∈ ω) → 𝐴 ∈ ℕ0s)
 
4-Nov-2025onscutlt 28171 A surreal ordinal is the simplest number greater than all previous surreal ordinals. Theorem 15 of [Conway] p. 28. (Contributed by Scott Fenton, 4-Nov-2025.)
(𝐴 ∈ Ons𝐴 = ({𝑥 ∈ Ons𝑥 <s 𝐴} |s ∅))
 
3-Nov-2025lanval2 49606 The set of left Kan extensions is the set of universal pairs. Therefore, the explicit universal property can be recovered by isup2 49173 and upciclem1 49145. (Contributed by Zhi Wang, 3-Nov-2025.)
𝑅 = (𝐷 FuncCat 𝐸)    &   𝑆 = (𝐶 FuncCat 𝐸)    &   𝐾 = (⟨𝐷, 𝐸⟩ −∘F 𝐹)       (𝐹 ∈ (𝐶 Func 𝐷) → (𝐹(⟨𝐶, 𝐷⟩ Lan 𝐸)𝑋) = (𝐾(𝑅 UP 𝑆)𝑋))
 
3-Nov-2025islan 49604 A left Kan extension is a universal pair. (Contributed by Zhi Wang, 3-Nov-2025.)
𝑅 = (𝐷 FuncCat 𝐸)    &   𝑆 = (𝐶 FuncCat 𝐸)    &   𝐾 = (⟨𝐷, 𝐸⟩ −∘F 𝐹)       (𝐿 ∈ (𝐹(⟨𝐶, 𝐷⟩ Lan 𝐸)𝑋) → 𝐿 ∈ (𝐾(𝑅 UP 𝑆)𝑋))
 
3-Nov-2025rellan 49602 The set of left Kan extensions is a relation. (Contributed by Zhi Wang, 3-Nov-2025.)
Rel (𝐹(𝑃 Lan 𝐸)𝑋)
 
3-Nov-2025lanrcl 49600 Reverse closure for left Kan extensions. (Contributed by Zhi Wang, 3-Nov-2025.)
(𝐿 ∈ (𝐹(⟨𝐶, 𝐷⟩ Lan 𝐸)𝑋) → (𝐹 ∈ (𝐶 Func 𝐷) ∧ 𝑋 ∈ (𝐶 Func 𝐸)))
 
3-Nov-2025lanval 49598 Value of the set of left Kan extensions. (Contributed by Zhi Wang, 3-Nov-2025.)
𝑅 = (𝐷 FuncCat 𝐸)    &   𝑆 = (𝐶 FuncCat 𝐸)    &   (𝜑𝐹 ∈ (𝐶 Func 𝐷))    &   (𝜑𝑋 ∈ (𝐶 Func 𝐸))    &   (𝜑 → (⟨𝐷, 𝐸⟩ −∘F 𝐹) = 𝐾)       (𝜑 → (𝐹(⟨𝐶, 𝐷⟩ Lan 𝐸)𝑋) = (𝐾(𝑅 UP 𝑆)𝑋))
 
3-Nov-2025reldmlan2 49596 The domain of (𝑃 Lan 𝐸) is a relation. (Contributed by Zhi Wang, 3-Nov-2025.)
Rel dom (𝑃 Lan 𝐸)
 
3-Nov-2025lanfval 49592 Value of the function generating the set of left Kan extensions. (Contributed by Zhi Wang, 3-Nov-2025.)
𝑅 = (𝐷 FuncCat 𝐸)    &   𝑆 = (𝐶 FuncCat 𝐸)    &   (𝜑𝐶𝑈)    &   (𝜑𝐷𝑉)    &   (𝜑𝐸𝑊)       (𝜑 → (⟨𝐶, 𝐷⟩ Lan 𝐸) = (𝑓 ∈ (𝐶 Func 𝐷), 𝑥 ∈ (𝐶 Func 𝐸) ↦ ((⟨𝐷, 𝐸⟩ −∘F 𝑓)(𝑅 UP 𝑆)𝑥)))
 
3-Nov-2025reldmlan 49590 The domain of Lan is a relation. (Contributed by Zhi Wang, 3-Nov-2025.)
Rel dom Lan
 
3-Nov-2025lanfn 49588 Lan is a function on ((V × V) × V). (Contributed by Zhi Wang, 3-Nov-2025.)
Lan Fn ((V × V) × V)
 
3-Nov-2025df-lan 49586 Definition of the (local) left Kan extension. Given a functor 𝐹:𝐶𝐷 and a functor 𝑋:𝐶𝐸, the set (𝐹(⟨𝐶, 𝐷⟩ Lan 𝐸)𝑋) consists of left Kan extensions of 𝑋 along 𝐹, which are universal pairs from 𝑋 to the pre-composition functor given by 𝐹 (lanval2 49606). See also § 3 of Chapter X in p. 240 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 49606 (retrieved 3 Nov 2025).

A left Kan extension is in the form of 𝐿, 𝐴 where the first component is a functor 𝐿:𝐷𝐸 (lanrcl4 49613) and the second component is a natural transformation 𝐴:𝑋𝐿𝐹 (lanrcl5 49614) where 𝐿𝐹 is the composed functor. Intuitively, the first component 𝐿 can be regarded as the result of an "inverse" of pre-composition; the source category of 𝑋:𝐶𝐸 is "extended" along 𝐹:𝐶𝐷.

The left Kan extension is a generalization of many categorical concepts such as colimit. In § 7 of Chapter X of Categories for the Working Mathematician, it is concluded that "the notion of Kan extensions subsumes all the other fundamental concepts of category theory".

This definition was chosen over the other version in the commented out section due to its better reverse closure property.

See df-ran 49587 for the dual concept.

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

Lan = (𝑝 ∈ (V × V), 𝑒 ∈ V ↦ (1st𝑝) / 𝑐(2nd𝑝) / 𝑑(𝑓 ∈ (𝑐 Func 𝑑), 𝑥 ∈ (𝑐 Func 𝑒) ↦ ((⟨𝑑, 𝑒⟩ −∘F 𝑓)((𝑑 FuncCat 𝑒) UP (𝑐 FuncCat 𝑒))𝑥)))
 
3-Nov-2025prcof22a 49371 The morphism part of the pre-composition functor. (Contributed by Zhi Wang, 3-Nov-2025.)
𝑁 = (𝐷 Nat 𝐸)    &   (𝜑𝐴 ∈ (𝐾𝑁𝐿))    &   (𝜑 → (2nd ‘(⟨𝐷, 𝐸⟩ −∘F 𝐹)) = 𝑃)    &   𝐵 = (Base‘𝐶)    &   (𝜑𝑋𝐵)    &   (𝜑𝐹 ∈ (𝐶 Func 𝐷))       (𝜑 → (((𝐾𝑃𝐿)‘𝐴)‘𝑋) = (𝐴‘((1st𝐹)‘𝑋)))
 
3-Nov-2025prcof21a 49370 The morphism part of the pre-composition functor. (Contributed by Zhi Wang, 3-Nov-2025.)
𝑁 = (𝐷 Nat 𝐸)    &   (𝜑𝐴 ∈ (𝐾𝑁𝐿))    &   (𝜑 → (2nd ‘(⟨𝐷, 𝐸⟩ −∘F 𝐹)) = 𝑃)    &   (𝜑𝐹𝑈)       (𝜑 → ((𝐾𝑃𝐿)‘𝐴) = (𝐴 ∘ (1st𝐹)))
 
3-Nov-2025prcof2 49369 The morphism part of the pre-composition functor. (Contributed by Zhi Wang, 3-Nov-2025.)
𝑁 = (𝐷 Nat 𝐸)    &   (𝜑𝐾 ∈ (𝐷 Func 𝐸))    &   (𝜑𝐿 ∈ (𝐷 Func 𝐸))    &   (𝜑 → (2nd ‘(⟨𝐷, 𝐸⟩ −∘F𝐹, 𝐺⟩)) = 𝑃)    &   Rel 𝑅    &   (𝜑𝐹𝑅𝐺)       (𝜑 → (𝐾𝑃𝐿) = (𝑎 ∈ (𝐾𝑁𝐿) ↦ (𝑎𝐹)))
 
3-Nov-2025prcof2a 49368 The morphism part of the pre-composition functor. (Contributed by Zhi Wang, 3-Nov-2025.)
𝑁 = (𝐷 Nat 𝐸)    &   (𝜑𝐾 ∈ (𝐷 Func 𝐸))    &   (𝜑𝐿 ∈ (𝐷 Func 𝐸))    &   (𝜑 → (2nd ‘(⟨𝐷, 𝐸⟩ −∘F 𝐹)) = 𝑃)    &   (𝜑𝐹𝑈)       (𝜑 → (𝐾𝑃𝐿) = (𝑎 ∈ (𝐾𝑁𝐿) ↦ (𝑎 ∘ (1st𝐹))))
 
3-Nov-2025prcof1 49367 The object part of the pre-composition functor. (Contributed by Zhi Wang, 3-Nov-2025.)
(𝜑𝐾 ∈ (𝐷 Func 𝐸))    &   (𝜑 → (1st ‘(⟨𝐷, 𝐸⟩ −∘F 𝐹)) = 𝑂)       (𝜑 → (𝑂𝐾) = (𝐾func 𝐹))
 
3-Nov-2025cicerALT 49025 Isomorphism is an equivalence relation on objects of a category. Remark 3.16 in [Adamek] p. 29. (Contributed by AV, 5-Apr-2020.) (Proof shortened by Zhi Wang, 3-Nov-2025.) (Proof modification is discouraged.) (New usage is discouraged.)
(𝐶 ∈ Cat → ( ≃𝑐𝐶) Er (Base‘𝐶))
 
3-Nov-2025isofnALT 49010 The function value of the function returning the isomorphisms of a category is a function over the Cartesian square of the base set of the category. (Contributed by AV, 5-Apr-2020.) (Proof shortened by Zhi Wang, 3-Nov-2025.) (Proof modification is discouraged.) (New usage is discouraged.)
(𝐶 ∈ Cat → (Iso‘𝐶) Fn ((Base‘𝐶) × (Base‘𝐶)))
 
3-Nov-2025gpgprismgr4cycllem9 48083 Lemma 9 for gpgprismgr4cycl0 48086. (Contributed by AV, 3-Nov-2025.)
𝑃 = ⟨“⟨0, 0⟩⟨0, 1⟩⟨1, 1⟩⟨1, 0⟩⟨0, 0⟩”⟩    &   𝐹 = ⟨“{⟨0, 0⟩, ⟨0, 1⟩} {⟨0, 1⟩, ⟨1, 1⟩} {⟨1, 1⟩, ⟨1, 0⟩} {⟨1, 0⟩, ⟨0, 0⟩}”⟩    &   𝐺 = (𝑁 gPetersenGr 1)       (𝑁 ∈ (ℤ‘3) → 𝑃:(0...(♯‘𝐹))⟶(Vtx‘𝐺))
 
3-Nov-2025zconstr 33760 Integers are constructible. (Contributed by Thierry Arnoux, 3-Nov-2025.)
(𝜑𝑋 ∈ ℤ)       (𝜑𝑋 ∈ Constr)
 
2-Nov-2025prcoffunca 49365 The pre-composition functor is a functor. (Contributed by Zhi Wang, 2-Nov-2025.)
𝑅 = (𝐷 FuncCat 𝐸)    &   (𝜑𝐸 ∈ Cat)    &   𝑆 = (𝐶 FuncCat 𝐸)    &   (𝜑𝐹 ∈ (𝐶 Func 𝐷))       (𝜑 → (⟨𝐷, 𝐸⟩ −∘F 𝐹) ∈ (𝑅 Func 𝑆))
 
2-Nov-2025prcoffunc 49364 The pre-composition functor is a functor. (Contributed by Zhi Wang, 2-Nov-2025.)
𝑅 = (𝐷 FuncCat 𝐸)    &   (𝜑𝐸 ∈ Cat)    &   𝑆 = (𝐶 FuncCat 𝐸)    &   (𝜑𝐹(𝐶 Func 𝐷)𝐺)       (𝜑 → (⟨𝐷, 𝐸⟩ −∘F𝐹, 𝐺⟩) ∈ (𝑅 Func 𝑆))
 
2-Nov-2025prcoftposcurfucoa 49363 The pre-composition functor is the transposed curry of the functor composition bifunctor. (Contributed by Zhi Wang, 2-Nov-2025.)
𝑅 = (𝐷 FuncCat 𝐸)    &   (𝜑𝐸 ∈ Cat)    &   𝑄 = (𝐶 FuncCat 𝐷)    &   (𝜑 = (⟨𝑄, 𝑅⟩ curryF ((⟨𝐶, 𝐷⟩ ∘F 𝐸) ∘func (𝑄 swapF 𝑅))))    &   (𝜑𝑀 = ((1st )‘𝐹))    &   (𝜑𝐹 ∈ (𝐶 Func 𝐷))       (𝜑 → (⟨𝐷, 𝐸⟩ −∘F 𝐹) = 𝑀)
 
2-Nov-2025prcoftposcurfuco 49362 The pre-composition functor is the transposed curry of the functor composition bifunctor. (Contributed by Zhi Wang, 2-Nov-2025.)
𝑅 = (𝐷 FuncCat 𝐸)    &   (𝜑𝐸 ∈ Cat)    &   𝑄 = (𝐶 FuncCat 𝐷)    &   (𝜑 = (⟨𝑄, 𝑅⟩ curryF ((⟨𝐶, 𝐷⟩ ∘F 𝐸) ∘func (𝑄 swapF 𝑅))))    &   (𝜑𝑀 = ((1st )‘⟨𝐹, 𝐺⟩))    &   (𝜑𝐹(𝐶 Func 𝐷)𝐺)       (𝜑 → (⟨𝐷, 𝐸⟩ −∘F𝐹, 𝐺⟩) = 𝑀)
 
2-Nov-2025reldmprcof2 49361 The domain of the morphism part of the pre-composition functor is a relation. (Contributed by Zhi Wang, 2-Nov-2025.)
Rel dom (2nd ‘(𝑃 −∘F 𝐹))
 
2-Nov-2025reldmprcof1 49360 The domain of the object part of the pre-composition functor is a relation. (Contributed by Zhi Wang, 2-Nov-2025.)
Rel dom (1st ‘(𝑃 −∘F 𝐹))
 
2-Nov-2025prcofval 49357 Value of the pre-composition functor. (Contributed by Zhi Wang, 2-Nov-2025.)
𝐵 = (𝐷 Func 𝐸)    &   𝑁 = (𝐷 Nat 𝐸)    &   (𝜑𝐷𝑉)    &   (𝜑𝐸𝑊)    &   Rel 𝑅    &   (𝜑𝐹𝑅𝐺)       (𝜑 → (⟨𝐷, 𝐸⟩ −∘F𝐹, 𝐺⟩) = ⟨(𝑘𝐵 ↦ (𝑘func𝐹, 𝐺⟩)), (𝑘𝐵, 𝑙𝐵 ↦ (𝑎 ∈ (𝑘𝑁𝑙) ↦ (𝑎𝐹)))⟩)
 
2-Nov-2025prcofvala 49356 Value of the pre-composition functor. (Contributed by Zhi Wang, 2-Nov-2025.)
𝐵 = (𝐷 Func 𝐸)    &   𝑁 = (𝐷 Nat 𝐸)    &   (𝜑𝐷𝑉)    &   (𝜑𝐸𝑊)    &   (𝜑𝐹𝑈)       (𝜑 → (⟨𝐷, 𝐸⟩ −∘F 𝐹) = ⟨(𝑘𝐵 ↦ (𝑘func 𝐹)), (𝑘𝐵, 𝑙𝐵 ↦ (𝑎 ∈ (𝑘𝑁𝑙) ↦ (𝑎 ∘ (1st𝐹))))⟩)
 
2-Nov-2025prcofvalg 49355 Value of the pre-composition functor. (Contributed by Zhi Wang, 2-Nov-2025.)
𝐵 = (𝐷 Func 𝐸)    &   𝑁 = (𝐷 Nat 𝐸)    &   (𝜑𝐹𝑈)    &   (𝜑𝑃𝑉)    &   (𝜑 → (1st𝑃) = 𝐷)    &   (𝜑 → (2nd𝑃) = 𝐸)       (𝜑 → (𝑃 −∘F 𝐹) = ⟨(𝑘𝐵 ↦ (𝑘func 𝐹)), (𝑘𝐵, 𝑙𝐵 ↦ (𝑎 ∈ (𝑘𝑁𝑙) ↦ (𝑎 ∘ (1st𝐹))))⟩)
 
2-Nov-2025reldmprcof 49354 The domain of −∘F is a relation. (Contributed by Zhi Wang, 2-Nov-2025.)
Rel dom −∘F
 
2-Nov-2025df-prcof 49353 Definition of pre-composition functors. The object part of the pre-composition functor given by 𝐹 pre-composes a functor with 𝐹; the morphism part pre-composes a natural transformation with the object part of 𝐹, in terms of function composition. Comments before the definition in § 3 of Chapter X in p. 236 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 3 Nov 2025). The notation −∘F is inspired by this page: https://1lab.dev/Cat.Functor.Compose.html.

The pre-composition functor can also be defined as a transposed curry of the functor composition bifunctor (precofval3 49350). But such definition requires an explicit third category. prcoftposcurfuco 49362 and prcoftposcurfucoa 49363 prove the equivalence. (Contributed by Zhi Wang, 2-Nov-2025.)

−∘F = (𝑝 ∈ V, 𝑓 ∈ V ↦ (1st𝑝) / 𝑑(2nd𝑝) / 𝑒(𝑑 Func 𝑒) / 𝑏⟨(𝑘𝑏 ↦ (𝑘func 𝑓)), (𝑘𝑏, 𝑙𝑏 ↦ (𝑎 ∈ (𝑘(𝑑 Nat 𝑒)𝑙) ↦ (𝑎 ∘ (1st𝑓))))⟩)
 
2-Nov-2025gpgprismgr4cycllem8 48082 Lemma 8 for gpgprismgr4cycl0 48086. (Contributed by AV, 2-Nov-2025.)
𝑃 = ⟨“⟨0, 0⟩⟨0, 1⟩⟨1, 1⟩⟨1, 0⟩⟨0, 0⟩”⟩    &   𝐹 = ⟨“{⟨0, 0⟩, ⟨0, 1⟩} {⟨0, 1⟩, ⟨1, 1⟩} {⟨1, 1⟩, ⟨1, 0⟩} {⟨1, 0⟩, ⟨0, 0⟩}”⟩    &   𝐺 = (𝑁 gPetersenGr 1)       (𝑁 ∈ (ℤ‘3) → 𝐹 ∈ Word dom (iEdg‘𝐺))
 
2-Nov-2025gpgprismgr4cycllem2 48076 Lemma 2 for gpgprismgr4cycl0 48086: the cycle 𝑃, 𝐹 is proper, i.e., it has no overlapping edges. (Contributed by AV, 2-Nov-2025.)
𝐹 = ⟨“{⟨0, 0⟩, ⟨0, 1⟩} {⟨0, 1⟩, ⟨1, 1⟩} {⟨1, 1⟩, ⟨1, 0⟩} {⟨1, 0⟩, ⟨0, 0⟩}”⟩       Fun 𝐹
 
2-Nov-2025gpgprismgriedgdmss 48033 A subset of the index of edges of the generalized Petersen graph GPG(N,1). (Contributed by AV, 2-Nov-2025.)
(𝑁 ∈ (ℤ‘3) → ({{⟨0, 0⟩, ⟨0, 1⟩}, {⟨0, 0⟩, ⟨1, 0⟩}} ∪ {{⟨1, 1⟩, ⟨0, 1⟩}, {⟨1, 1⟩, ⟨1, 0⟩}}) ⊆ dom (iEdg‘(𝑁 gPetersenGr 1)))
 
2-Nov-2025gpgprismgriedgdmel 48032 An index of edges of the generalized Petersen graph GPG(N,1). (Contributed by AV, 2-Nov-2025.)
𝐼 = (0..^𝑁)    &   𝐺 = (𝑁 gPetersenGr 1)       (𝑁 ∈ (ℤ‘3) → (𝑋 ∈ dom (iEdg‘𝐺) ↔ ∃𝑥𝐼 (𝑋 = {⟨0, 𝑥⟩, ⟨0, ((𝑥 + 1) mod 𝑁)⟩} ∨ 𝑋 = {⟨0, 𝑥⟩, ⟨1, 𝑥⟩} ∨ 𝑋 = {⟨1, 𝑥⟩, ⟨1, ((𝑥 + 1) mod 𝑁)⟩})))
 
2-Nov-2025gpgiedgdmel 48030 An index of edges of the generalized Petersen graph GPG(N,K). (Contributed by AV, 2-Nov-2025.)
𝐼 = (0..^𝑁)    &   𝐽 = (1..^(⌈‘(𝑁 / 2)))    &   𝐺 = (𝑁 gPetersenGr 𝐾)       ((𝑁 ∈ ℕ ∧ 𝐾𝐽) → (𝑋 ∈ dom (iEdg‘𝐺) ↔ ∃𝑥𝐼 (𝑋 = {⟨0, 𝑥⟩, ⟨0, ((𝑥 + 1) mod 𝑁)⟩} ∨ 𝑋 = {⟨0, 𝑥⟩, ⟨1, 𝑥⟩} ∨ 𝑋 = {⟨1, 𝑥⟩, ⟨1, ((𝑥 + 𝐾) mod 𝑁)⟩})))
 
2-Nov-2025gpgiedgdmellem 48027 Lemma for gpgiedgdmel 48030 and gpgedgel 48031. (Contributed by AV, 2-Nov-2025.)
𝐼 = (0..^𝑁)    &   𝐽 = (1..^(⌈‘(𝑁 / 2)))       ((𝑁 ∈ ℕ ∧ 𝐾𝐽) → (∃𝑥𝐼 (𝑌 = {⟨0, 𝑥⟩, ⟨0, ((𝑥 + 1) mod 𝑁)⟩} ∨ 𝑌 = {⟨0, 𝑥⟩, ⟨1, 𝑥⟩} ∨ 𝑌 = {⟨1, 𝑥⟩, ⟨1, ((𝑥 + 𝐾) mod 𝑁)⟩}) → 𝑌 ∈ 𝒫 ({0, 1} × 𝐼)))
 
2-Nov-20251elfzo1ceilhalf1 47328 1 is in the half-open integer range from 1 to the ceiling of half of an integer greater than two is greater than one. (Contributed by AV, 2-Nov-2025.)
(𝑁 ∈ (ℤ‘3) → 1 ∈ (1..^(⌈‘(𝑁 / 2))))
 
2-Nov-2025ceilhalfnn 47327 The ceiling of half of a positive integer is a positive integer. (Contributed by AV, 2-Nov-2025.)
(𝑁 ∈ ℕ → (⌈‘(𝑁 / 2)) ∈ ℕ)
 
2-Nov-2025rehalfge1 47326 Half of a real number greater than or equal to two is greater than or equal to one. (Contributed by AV, 2-Nov-2025.)
(𝑋 ∈ (2[,)+∞) → 1 ≤ (𝑋 / 2))
 
2-Nov-2025ceilhalf1 47325 The ceiling of one half is one. (Contributed by AV, 2-Nov-2025.)
(⌈‘(1 / 2)) = 1
 
2-Nov-2025ceilbi 47324 A condition equivalent to ceiling. Analogous to flbi 13784. (Contributed by AV, 2-Nov-2025.)
((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℤ) → ((⌈‘𝐴) = 𝐵 ↔ (𝐴𝐵𝐵 < (𝐴 + 1))))
 
2-Nov-2025ceilhalfgt1 47320 The ceiling of half of an integer greater than two is greater than one. (Contributed by AV, 2-Nov-2025.)
(𝑁 ∈ (ℤ‘3) → 1 < (⌈‘(𝑁 / 2)))
 
2-Nov-2025constrremulcl 33763 If two real numbers 𝑋 and 𝑌 are constructible, then, so is their product. (Contributed by Thierry Arnoux, 2-Nov-2025.)
(𝜑𝑋 ∈ Constr)    &   (𝜑𝑌 ∈ Constr)    &   (𝜑𝑋 ∈ ℝ)    &   (𝜑𝑌 ∈ ℝ)       (𝜑 → (𝑋 · 𝑌) ∈ Constr)
 
2-Nov-2025iconstr 33762 The imaginary unit i is constructible. (Contributed by Thierry Arnoux, 2-Nov-2025.)
i ∈ Constr
 
2-Nov-2025constrdircl 33761 Constructible numbers are closed under taking the point on the unit circle having the same argument. (Contributed by Thierry Arnoux, 2-Nov-2025.)
(𝜑𝑋 ∈ Constr)    &   (𝜑𝑋 ≠ 0)       (𝜑 → (𝑋 / (abs‘𝑋)) ∈ Constr)
 
2-Nov-2025constrnegcl 33759 Constructible numbers are closed under additive inverse. Item (2) of Theorem 7.10 of [Stewart] p. 96 (Contributed by Thierry Arnoux, 2-Nov-2025.)
(𝜑𝑋 ∈ Constr)       (𝜑 → -𝑋 ∈ Constr)
 
2-Nov-2025constraddcl 33758 Constructive numbers are closed under complex addition. Item (1) of Theorem 7.10 of [Stewart] p. 96 (Contributed by Thierry Arnoux, 2-Nov-2025.)
(𝜑𝑋 ∈ Constr)    &   (𝜑𝑌 ∈ Constr)       (𝜑 → (𝑋 + 𝑌) ∈ Constr)
 
2-Nov-2025nn0constr 33757 Nonnegative integers are constructible. (Contributed by Thierry Arnoux, 2-Nov-2025.)
(𝜑𝑁 ∈ ℕ0)       (𝜑𝑁 ∈ Constr)
 
2-Nov-2025constrcn 33756 Constructible numbers are complex numbers. (Contributed by Thierry Arnoux, 2-Nov-2025.)
(𝜑𝑋 ∈ Constr)       (𝜑𝑋 ∈ ℂ)
 
2-Nov-2025constrcccl 33754 Constructible numbers are closed under circle-circle intersections. (Contributed by Thierry Arnoux, 2-Nov-2025.)
(𝜑𝐴 ∈ Constr)    &   (𝜑𝐵 ∈ Constr)    &   (𝜑𝐶 ∈ Constr)    &   (𝜑𝐷 ∈ Constr)    &   (𝜑𝐸 ∈ Constr)    &   (𝜑𝐹 ∈ Constr)    &   (𝜑𝑋 ∈ ℂ)    &   (𝜑𝐴𝐷)    &   (𝜑 → (abs‘(𝑋𝐴)) = (abs‘(𝐵𝐶)))    &   (𝜑 → (abs‘(𝑋𝐷)) = (abs‘(𝐸𝐹)))       (𝜑𝑋 ∈ Constr)
 
2-Nov-2025constrlccl 33753 Constructible numbers are closed under line-circle intersections. (Contributed by Thierry Arnoux, 2-Nov-2025.)
(𝜑𝐴 ∈ Constr)    &   (𝜑𝐵 ∈ Constr)    &   (𝜑𝐺 ∈ Constr)    &   (𝜑𝐸 ∈ Constr)    &   (𝜑𝐹 ∈ Constr)    &   (𝜑𝑇 ∈ ℝ)    &   (𝜑𝑋 ∈ ℂ)    &   (𝜑𝑋 = (𝐴 + (𝑇 · (𝐵𝐴))))    &   (𝜑 → (abs‘(𝑋𝐺)) = (abs‘(𝐸𝐹)))       (𝜑𝑋 ∈ Constr)
 
2-Nov-2025constrllcl 33752 Constructible numbers are closed under line-line intersections. (Contributed by Thierry Arnoux, 2-Nov-2025.)
(𝜑𝐴 ∈ Constr)    &   (𝜑𝐵 ∈ Constr)    &   (𝜑𝐺 ∈ Constr)    &   (𝜑𝐷 ∈ Constr)    &   (𝜑𝑇 ∈ ℝ)    &   (𝜑𝑅 ∈ ℝ)    &   (𝜑𝑋 ∈ ℂ)    &   (𝜑𝑋 = (𝐴 + (𝑇 · (𝐵𝐴))))    &   (𝜑𝑋 = (𝐺 + (𝑅 · (𝐷𝐺))))    &   (𝜑 → (ℑ‘((∗‘(𝐵𝐴)) · (𝐷𝐺))) ≠ 0)       (𝜑𝑋 ∈ Constr)
 
2-Nov-2025constrcbvlem 33751 Technical lemma for eliminating the hypothesis of constr0 33733 and co. (Contributed by Thierry Arnoux, 2-Nov-2025.)
rec((𝑧 ∈ V ↦ {𝑦 ∈ ℂ ∣ (∃𝑖𝑧𝑗𝑧𝑘𝑧𝑙𝑧𝑜 ∈ ℝ ∃𝑝 ∈ ℝ (𝑦 = (𝑖 + (𝑜 · (𝑗𝑖))) ∧ 𝑦 = (𝑘 + (𝑝 · (𝑙𝑘))) ∧ (ℑ‘((∗‘(𝑗𝑖)) · (𝑙𝑘))) ≠ 0) ∨ ∃𝑖𝑧𝑗𝑧𝑘𝑧𝑚𝑧𝑞𝑧𝑜 ∈ ℝ (𝑦 = (𝑖 + (𝑜 · (𝑗𝑖))) ∧ (abs‘(𝑦𝑘)) = (abs‘(𝑚𝑞))) ∨ ∃𝑖𝑧𝑗𝑧𝑘𝑧𝑙𝑧𝑚𝑧𝑞𝑧 (𝑖𝑙 ∧ (abs‘(𝑦𝑖)) = (abs‘(𝑗𝑘)) ∧ (abs‘(𝑦𝑙)) = (abs‘(𝑚𝑞))))}), {0, 1}) = rec((𝑠 ∈ V ↦ {𝑥 ∈ ℂ ∣ (∃𝑎𝑠𝑏𝑠𝑐𝑠𝑑𝑠𝑡 ∈ ℝ ∃𝑟 ∈ ℝ (𝑥 = (𝑎 + (𝑡 · (𝑏𝑎))) ∧ 𝑥 = (𝑐 + (𝑟 · (𝑑𝑐))) ∧ (ℑ‘((∗‘(𝑏𝑎)) · (𝑑𝑐))) ≠ 0) ∨ ∃𝑎𝑠𝑏𝑠𝑐𝑠𝑒𝑠𝑓𝑠𝑡 ∈ ℝ (𝑥 = (𝑎 + (𝑡 · (𝑏𝑎))) ∧ (abs‘(𝑥𝑐)) = (abs‘(𝑒𝑓))) ∨ ∃𝑎𝑠𝑏𝑠𝑐𝑠𝑑𝑠𝑒𝑠𝑓𝑠 (𝑎𝑑 ∧ (abs‘(𝑥𝑎)) = (abs‘(𝑏𝑐)) ∧ (abs‘(𝑥𝑑)) = (abs‘(𝑒𝑓))))}), {0, 1})
 
2-Nov-2025constrcccllem 33750 Constructible numbers are closed under circle-circle intersections. (Contributed by Thierry Arnoux, 2-Nov-2025.)
𝐶 = rec((𝑠 ∈ V ↦ {𝑥 ∈ ℂ ∣ (∃𝑎𝑠𝑏𝑠𝑐𝑠𝑑𝑠𝑡 ∈ ℝ ∃𝑟 ∈ ℝ (𝑥 = (𝑎 + (𝑡 · (𝑏𝑎))) ∧ 𝑥 = (𝑐 + (𝑟 · (𝑑𝑐))) ∧ (ℑ‘((∗‘(𝑏𝑎)) · (𝑑𝑐))) ≠ 0) ∨ ∃𝑎𝑠𝑏𝑠𝑐𝑠𝑒𝑠𝑓𝑠𝑡 ∈ ℝ (𝑥 = (𝑎 + (𝑡 · (𝑏𝑎))) ∧ (abs‘(𝑥𝑐)) = (abs‘(𝑒𝑓))) ∨ ∃𝑎𝑠𝑏𝑠𝑐𝑠𝑑𝑠𝑒𝑠𝑓𝑠 (𝑎𝑑 ∧ (abs‘(𝑥𝑎)) = (abs‘(𝑏𝑐)) ∧ (abs‘(𝑥𝑑)) = (abs‘(𝑒𝑓))))}), {0, 1})    &   (𝜑𝐴 ∈ Constr)    &   (𝜑𝐵 ∈ Constr)    &   (𝜑𝐺 ∈ Constr)    &   (𝜑𝐷 ∈ Constr)    &   (𝜑𝐸 ∈ Constr)    &   (𝜑𝐹 ∈ Constr)    &   (𝜑𝑋 ∈ ℂ)    &   (𝜑𝐴𝐷)    &   (𝜑 → (abs‘(𝑋𝐴)) = (abs‘(𝐵𝐺)))    &   (𝜑 → (abs‘(𝑋𝐷)) = (abs‘(𝐸𝐹)))       (𝜑𝑋 ∈ Constr)
 
2-Nov-2025constrlccllem 33749 Constructible numbers are closed under line-circle intersections. (Contributed by Thierry Arnoux, 2-Nov-2025.)
𝐶 = rec((𝑠 ∈ V ↦ {𝑥 ∈ ℂ ∣ (∃𝑎𝑠𝑏𝑠𝑐𝑠𝑑𝑠𝑡 ∈ ℝ ∃𝑟 ∈ ℝ (𝑥 = (𝑎 + (𝑡 · (𝑏𝑎))) ∧ 𝑥 = (𝑐 + (𝑟 · (𝑑𝑐))) ∧ (ℑ‘((∗‘(𝑏𝑎)) · (𝑑𝑐))) ≠ 0) ∨ ∃𝑎𝑠𝑏𝑠𝑐𝑠𝑒𝑠𝑓𝑠𝑡 ∈ ℝ (𝑥 = (𝑎 + (𝑡 · (𝑏𝑎))) ∧ (abs‘(𝑥𝑐)) = (abs‘(𝑒𝑓))) ∨ ∃𝑎𝑠𝑏𝑠𝑐𝑠𝑑𝑠𝑒𝑠𝑓𝑠 (𝑎𝑑 ∧ (abs‘(𝑥𝑎)) = (abs‘(𝑏𝑐)) ∧ (abs‘(𝑥𝑑)) = (abs‘(𝑒𝑓))))}), {0, 1})    &   (𝜑𝐴 ∈ Constr)    &   (𝜑𝐵 ∈ Constr)    &   (𝜑𝐺 ∈ Constr)    &   (𝜑𝐸 ∈ Constr)    &   (𝜑𝐹 ∈ Constr)    &   (𝜑𝑇 ∈ ℝ)    &   (𝜑𝑋 ∈ ℂ)    &   (𝜑𝑋 = (𝐴 + (𝑇 · (𝐵𝐴))))    &   (𝜑 → (abs‘(𝑋𝐺)) = (abs‘(𝐸𝐹)))       (𝜑𝑋 ∈ Constr)
 
2-Nov-2025constrllcllem 33748 Constructible numbers are closed under line-line intersections. (Contributed by Thierry Arnoux, 2-Nov-2025.)
𝐶 = rec((𝑠 ∈ V ↦ {𝑥 ∈ ℂ ∣ (∃𝑎𝑠𝑏𝑠𝑐𝑠𝑑𝑠𝑡 ∈ ℝ ∃𝑟 ∈ ℝ (𝑥 = (𝑎 + (𝑡 · (𝑏𝑎))) ∧ 𝑥 = (𝑐 + (𝑟 · (𝑑𝑐))) ∧ (ℑ‘((∗‘(𝑏𝑎)) · (𝑑𝑐))) ≠ 0) ∨ ∃𝑎𝑠𝑏𝑠𝑐𝑠𝑒𝑠𝑓𝑠𝑡 ∈ ℝ (𝑥 = (𝑎 + (𝑡 · (𝑏𝑎))) ∧ (abs‘(𝑥𝑐)) = (abs‘(𝑒𝑓))) ∨ ∃𝑎𝑠𝑏𝑠𝑐𝑠𝑑𝑠𝑒𝑠𝑓𝑠 (𝑎𝑑 ∧ (abs‘(𝑥𝑎)) = (abs‘(𝑏𝑐)) ∧ (abs‘(𝑥𝑑)) = (abs‘(𝑒𝑓))))}), {0, 1})    &   (𝜑𝐴 ∈ Constr)    &   (𝜑𝐵 ∈ Constr)    &   (𝜑𝐺 ∈ Constr)    &   (𝜑𝐷 ∈ Constr)    &   (𝜑𝑇 ∈ ℝ)    &   (𝜑𝑅 ∈ ℝ)    &   (𝜑𝑋 ∈ ℂ)    &   (𝜑𝑋 = (𝐴 + (𝑇 · (𝐵𝐴))))    &   (𝜑𝑋 = (𝐺 + (𝑅 · (𝐷𝐺))))    &   (𝜑 → (ℑ‘((∗‘(𝐵𝐴)) · (𝐷𝐺))) ≠ 0)       (𝜑𝑋 ∈ Constr)
 
2-Nov-2025constrfiss 33747 For any finite set 𝐴 of constructible numbers, there is a 𝑛 -th step (𝐶𝑛) containing all numbers in 𝐴. (Contributed by Thierry Arnoux, 2-Nov-2025.)
𝐶 = rec((𝑠 ∈ V ↦ {𝑥 ∈ ℂ ∣ (∃𝑎𝑠𝑏𝑠𝑐𝑠𝑑𝑠𝑡 ∈ ℝ ∃𝑟 ∈ ℝ (𝑥 = (𝑎 + (𝑡 · (𝑏𝑎))) ∧ 𝑥 = (𝑐 + (𝑟 · (𝑑𝑐))) ∧ (ℑ‘((∗‘(𝑏𝑎)) · (𝑑𝑐))) ≠ 0) ∨ ∃𝑎𝑠𝑏𝑠𝑐𝑠𝑒𝑠𝑓𝑠𝑡 ∈ ℝ (𝑥 = (𝑎 + (𝑡 · (𝑏𝑎))) ∧ (abs‘(𝑥𝑐)) = (abs‘(𝑒𝑓))) ∨ ∃𝑎𝑠𝑏𝑠𝑐𝑠𝑑𝑠𝑒𝑠𝑓𝑠 (𝑎𝑑 ∧ (abs‘(𝑥𝑎)) = (abs‘(𝑏𝑐)) ∧ (abs‘(𝑥𝑑)) = (abs‘(𝑒𝑓))))}), {0, 1})    &   (𝜑𝐴 ⊆ Constr)    &   (𝜑𝐴 ∈ Fin)       (𝜑 → ∃𝑛 ∈ ω 𝐴 ⊆ (𝐶𝑛))
 
2-Nov-2025pythagreim 32675 A simplified version of the Pythagorean theorem, where the points 𝐴 and 𝐵 respectively lie on the imaginary and real axes, and the right angle is at the origin. (Contributed by Thierry Arnoux, 2-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐵 ∈ ℝ)       (𝜑 → ((abs‘(𝐵 − (i · 𝐴)))↑2) = ((𝐴↑2) + (𝐵↑2)))
 
2-Nov-2025tpsscd 32476 If an ordered triple is a subset of a class, the third element of the triple is an element of that class. (Contributed by Thierry Arnoux, 2-Nov-2025.)
(𝜑𝐶𝑉)    &   (𝜑 → {𝐴, 𝐵, 𝐶} ⊆ 𝐷)       (𝜑𝐶𝐷)
 
2-Nov-2025tpssbd 32475 If an ordered triple is a subset of a class, the second element of the triple is an element of that class. (Contributed by Thierry Arnoux, 2-Nov-2025.)
(𝜑𝐵𝑉)    &   (𝜑 → {𝐴, 𝐵, 𝐶} ⊆ 𝐷)       (𝜑𝐵𝐷)
 
2-Nov-2025tpssad 32474 If an ordered triple is a subset of a class, the first element of the triple is an element of that class. (Contributed by Thierry Arnoux, 2-Nov-2025.)
(𝜑𝐴𝑉)    &   (𝜑 → {𝐴, 𝐵, 𝐶} ⊆ 𝐷)       (𝜑𝐴𝐷)
 
2-Nov-2025tpssd 32473 Deduction version of tpssi : An unordered triple of elements of a class is a subset of that class. (Contributed by Thierry Arnoux, 2-Nov-2025.)
(𝜑𝐴𝐷)    &   (𝜑𝐵𝐷)    &   (𝜑𝐶𝐷)       (𝜑 → {𝐴, 𝐵, 𝐶} ⊆ 𝐷)
 
2-Nov-2025tpssg 32472 An unordered triple of elements of a class is a subset of the class. (Contributed by Thierry Arnoux, 2-Nov-2025.)
((𝐴𝑉𝐵𝑊𝐶𝑋) → ((𝐴𝐷𝐵𝐷𝐶𝐷) ↔ {𝐴, 𝐵, 𝐶} ⊆ 𝐷))
 
2-Nov-2025prssbd 32465 If a pair is a subset of a class, the second element of the pair is an element of that class. (Contributed by Thierry Arnoux, 2-Nov-2025.)
(𝜑𝐵𝑉)    &   (𝜑 → {𝐴, 𝐵} ⊆ 𝐶)       (𝜑𝐵𝐶)
 
2-Nov-2025prssad 32464 If a pair is a subset of a class, the first element of the pair is an element of that class. (Contributed by Thierry Arnoux, 2-Nov-2025.)
(𝜑𝐴𝑉)    &   (𝜑 → {𝐴, 𝐵} ⊆ 𝐶)       (𝜑𝐴𝐶)
 
2-Nov-20253r19.43 3103 Restricted quantifier version of 19.43 1882 for a triple disjunction . (Contributed by AV, 2-Nov-2025.)
(∃𝑥𝐴 (𝜑𝜓𝜒) ↔ (∃𝑥𝐴 𝜑 ∨ ∃𝑥𝐴 𝜓 ∨ ∃𝑥𝐴 𝜒))
 
1-Nov-2025iinfconstbas 49045 The discrete category is the indexed intersection of all subcategories with the same base. (Contributed by Zhi Wang, 1-Nov-2025.)
𝐽 = (𝑥𝑆, 𝑦𝑆 ↦ if(𝑥 = 𝑦, {(𝐼𝑥)}, ∅))    &   𝐵 = (Base‘𝐶)    &   𝐼 = (Id‘𝐶)    &   (𝜑𝑆𝐵)    &   (𝜑𝐶 ∈ Cat)    &   (𝜑𝐴 = ((Subcat‘𝐶) ∩ {𝑗𝑗 Fn (𝑆 × 𝑆)}))       (𝜑𝐽 = (𝑧 𝐴 dom 𝐴 (𝑧)))
 
1-Nov-2025iinfconstbaslem 49044 Lemma for iinfconstbas 49045. (Contributed by Zhi Wang, 1-Nov-2025.)
𝐽 = (𝑥𝑆, 𝑦𝑆 ↦ if(𝑥 = 𝑦, {(𝐼𝑥)}, ∅))    &   𝐵 = (Base‘𝐶)    &   𝐼 = (Id‘𝐶)    &   (𝜑𝑆𝐵)    &   (𝜑𝐶 ∈ Cat)    &   (𝜑𝐴 = ((Subcat‘𝐶) ∩ {𝑗𝑗 Fn (𝑆 × 𝑆)}))       (𝜑𝐽𝐴)
 
1-Nov-2025discsubc 49043 A discrete category, whose only morphisms are the identity morphisms, is a subcategory. (Contributed by Zhi Wang, 1-Nov-2025.)
𝐽 = (𝑥𝑆, 𝑦𝑆 ↦ if(𝑥 = 𝑦, {(𝐼𝑥)}, ∅))    &   𝐵 = (Base‘𝐶)    &   𝐼 = (Id‘𝐶)    &   (𝜑𝑆𝐵)    &   (𝜑𝐶 ∈ Cat)       (𝜑𝐽 ∈ (Subcat‘𝐶))
 
1-Nov-2025discsubclem 49042 Lemma for discsubc 49043. (Contributed by Zhi Wang, 1-Nov-2025.)
𝐽 = (𝑥𝑆, 𝑦𝑆 ↦ if(𝑥 = 𝑦, {(𝐼𝑥)}, ∅))       𝐽 Fn (𝑆 × 𝑆)
 
1-Nov-2025dmdm 49032 The double domain of a function on a Cartesian square. (Contributed by Zhi Wang, 1-Nov-2025.)
(𝐴 Fn (𝐵 × 𝐵) → 𝐵 = dom dom 𝐴)
 
1-Nov-2025ixpv 48868 Infinite Cartesian product of the universal class is the set of functions with a fixed domain. (Contributed by Zhi Wang, 1-Nov-2025.)
X𝑥𝐴 V = {𝑓𝑓 Fn 𝐴}
 
1-Nov-2025iinglb 48800 The indexed intersection is the the greatest lower bound if it exists. (Contributed by Zhi Wang, 1-Nov-2025.)
(𝜑𝑋𝐴)    &   ((𝜑𝑥 = 𝑋) → 𝐵 = 𝐶)    &   ((𝜑𝑥𝐴) → 𝐶𝐵)       (𝜑 𝑥𝐴 𝐵 = 𝐶)
 
1-Nov-2025iunlub 48799 The indexed union is the the lowest upper bound if it exists. (Contributed by Zhi Wang, 1-Nov-2025.)
(𝜑𝑋𝐴)    &   ((𝜑𝑥 = 𝑋) → 𝐵 = 𝐶)    &   ((𝜑𝑥𝐴) → 𝐵𝐶)       (𝜑 𝑥𝐴 𝐵 = 𝐶)
 
1-Nov-2025iuneq0 48797 An indexed union is empty iff all indexed classes are empty. (Contributed by Zhi Wang, 1-Nov-2025.)
(∀𝑥𝐴 𝐵 = ∅ ↔ 𝑥𝐴 𝐵 = ∅)
 
1-Nov-2025gpgprismgr4cycllem7 48081 Lemma 7 for gpgprismgr4cycl0 48086: the cycle 𝑃, 𝐹 is proper, i.e., it has no overlapping vertices, except the first and the last one. (Contributed by AV, 1-Nov-2025.)
𝑃 = ⟨“⟨0, 0⟩⟨0, 1⟩⟨1, 1⟩⟨1, 0⟩⟨0, 0⟩”⟩       ((𝑋 ∈ (0..^(♯‘𝑃)) ∧ 𝑌 ∈ (1..^4)) → (𝑋𝑌 → (𝑃𝑋) ≠ (𝑃𝑌)))
 
1-Nov-2025gpgprismgr4cycllem6 48080 Lemma 6 for gpgprismgr4cycl0 48086: the cycle 𝑃, 𝐹 is closed, i.e., the first and the last vertex are identical. (Contributed by AV, 1-Nov-2025.)
𝑃 = ⟨“⟨0, 0⟩⟨0, 1⟩⟨1, 1⟩⟨1, 0⟩⟨0, 0⟩”⟩       (𝑃‘0) = (𝑃‘4)
 
1-Nov-2025gpgprismgr4cycllem5 48079 Lemma 5 for gpgprismgr4cycl0 48086. (Contributed by AV, 1-Nov-2025.)
𝑃 = ⟨“⟨0, 0⟩⟨0, 1⟩⟨1, 1⟩⟨1, 0⟩⟨0, 0⟩”⟩       𝑃 ∈ Word V
 
1-Nov-2025gpgprismgr4cycllem4 48078 Lemma 4 for gpgprismgr4cycl0 48086: the cycle 𝑃, 𝐹 consists of 5 vertices (the first and the last vertex are identical, see gpgprismgr4cycllem6 48080. (Contributed by AV, 1-Nov-2025.)
𝑃 = ⟨“⟨0, 0⟩⟨0, 1⟩⟨1, 1⟩⟨1, 0⟩⟨0, 0⟩”⟩       (♯‘𝑃) = 5
 
1-Nov-2025gpgprismgr4cycllem1 48075 Lemma 1 for gpgprismgr4cycl0 48086: the cycle 𝑃, 𝐹 consists of 4 edges (i.e., has length 4). (Contributed by AV, 1-Nov-2025.)
𝐹 = ⟨“{⟨0, 0⟩, ⟨0, 1⟩} {⟨0, 1⟩, ⟨1, 1⟩} {⟨1, 1⟩, ⟨1, 0⟩} {⟨1, 0⟩, ⟨0, 0⟩}”⟩       (♯‘𝐹) = 4
 
31-Oct-2025infsubc2d 49041 The intersection of two subcategories is a subcategory. (Contributed by Zhi Wang, 31-Oct-2025.)
(𝜑𝐻 Fn (𝑆 × 𝑆))    &   (𝜑𝐽 Fn (𝑇 × 𝑇))    &   (𝜑𝐻 ∈ (Subcat‘𝐶))    &   (𝜑𝐽 ∈ (Subcat‘𝐶))       (𝜑 → (𝑥 ∈ (𝑆𝑇), 𝑦 ∈ (𝑆𝑇) ↦ ((𝑥𝐻𝑦) ∩ (𝑥𝐽𝑦))) ∈ (Subcat‘𝐶))
 
31-Oct-2025infsubc2 49040 The intersection of two subcategories is a subcategory. (Contributed by Zhi Wang, 31-Oct-2025.)
((𝐴 ∈ (Subcat‘𝐶) ∧ 𝐵 ∈ (Subcat‘𝐶)) → (𝑥 ∈ (dom dom 𝐴 ∩ dom dom 𝐵), 𝑦 ∈ (dom dom 𝐴 ∩ dom dom 𝐵) ↦ ((𝑥𝐴𝑦) ∩ (𝑥𝐵𝑦))) ∈ (Subcat‘𝐶))
 
31-Oct-2025infsubc 49039 The intersection of two subcategories is a subcategory. (Contributed by Zhi Wang, 31-Oct-2025.)
((𝐴 ∈ (Subcat‘𝐶) ∧ 𝐵 ∈ (Subcat‘𝐶)) → (𝑥 ∈ (dom 𝐴 ∩ dom 𝐵) ↦ ((𝐴𝑥) ∩ (𝐵𝑥))) ∈ (Subcat‘𝐶))
 
31-Oct-2025iinfprg 49038 Indexed intersection of functions with an unordered pair index. (Contributed by Zhi Wang, 31-Oct-2025.)
((𝐴𝑉𝐵𝑊) → (𝑥 ∈ (dom 𝐴 ∩ dom 𝐵) ↦ ((𝐴𝑥) ∩ (𝐵𝑥))) = (𝑥 𝑦 ∈ {𝐴, 𝐵}dom 𝑦 𝑦 ∈ {𝐴, 𝐵} (𝑦𝑥)))
 
31-Oct-2025iinfsubc 49037 Indexed intersection of subcategories is a subcategory. (Contributed by Zhi Wang, 31-Oct-2025.)
(𝜑𝐴 ≠ ∅)    &   ((𝜑𝑥𝐴) → 𝐻 ∈ (Subcat‘𝐶))    &   (𝜑𝐾 = (𝑦 𝑥𝐴 dom 𝐻 𝑥𝐴 (𝐻𝑦)))       (𝜑𝐾 ∈ (Subcat‘𝐶))
 
31-Oct-2025iinfssc 49036 Indexed intersection of subcategories is a subcategory (the category-agnostic version). (Contributed by Zhi Wang, 31-Oct-2025.)
(𝜑𝐴 ≠ ∅)    &   ((𝜑𝑥𝐴) → 𝐻cat 𝐽)    &   (𝜑𝐾 = (𝑦 𝑥𝐴 dom 𝐻 𝑥𝐴 (𝐻𝑦)))       (𝜑𝐾cat 𝐽)
 
31-Oct-2025iinfssclem3 49035 Lemma for iinfssc 49036. (Contributed by Zhi Wang, 31-Oct-2025.)
(𝜑𝐴 ≠ ∅)    &   ((𝜑𝑥𝐴) → 𝐻cat 𝐽)    &   (𝜑𝐾 = (𝑦 𝑥𝐴 dom 𝐻 𝑥𝐴 (𝐻𝑦)))    &   ((𝜑𝑥𝐴) → 𝑆 = dom dom 𝐻)    &   𝑥𝜑    &   (𝜑𝑋 𝑥𝐴 𝑆)    &   (𝜑𝑌 𝑥𝐴 𝑆)       (𝜑 → (𝑋𝐾𝑌) = 𝑥𝐴 (𝑋𝐻𝑌))
 
31-Oct-2025iinfssclem2 49034 Lemma for iinfssc 49036. (Contributed by Zhi Wang, 31-Oct-2025.)
(𝜑𝐴 ≠ ∅)    &   ((𝜑𝑥𝐴) → 𝐻cat 𝐽)    &   (𝜑𝐾 = (𝑦 𝑥𝐴 dom 𝐻 𝑥𝐴 (𝐻𝑦)))    &   ((𝜑𝑥𝐴) → 𝑆 = dom dom 𝐻)    &   𝑥𝜑       (𝜑𝐾 Fn ( 𝑥𝐴 𝑆 × 𝑥𝐴 𝑆))
 
31-Oct-2025iinfssclem1 49033 Lemma for iinfssc 49036. (Contributed by Zhi Wang, 31-Oct-2025.)
(𝜑𝐴 ≠ ∅)    &   ((𝜑𝑥𝐴) → 𝐻cat 𝐽)    &   (𝜑𝐾 = (𝑦 𝑥𝐴 dom 𝐻 𝑥𝐴 (𝐻𝑦)))    &   ((𝜑𝑥𝐴) → 𝑆 = dom dom 𝐻)    &   𝑥𝜑       (𝜑𝐾 = (𝑧 𝑥𝐴 𝑆, 𝑤 𝑥𝐴 𝑆 𝑥𝐴 (𝑧𝐻𝑤)))
 
31-Oct-2025gpgprismgrusgra 48039 The generalized Petersen graphs G(N,1), which are the N-prisms, are simple graphs. (Contributed by AV, 31-Oct-2025.)
(𝑁 ∈ (ℤ‘3) → (𝑁 gPetersenGr 1) ∈ USGraph)
 
31-Oct-2025upgrimcycls 47901 Graph isomorphisms between simple pseudographs map cycles onto cycles. (Contributed by AV, 31-Oct-2025.)
𝐼 = (iEdg‘𝐺)    &   𝐽 = (iEdg‘𝐻)    &   (𝜑𝐺 ∈ USPGraph)    &   (𝜑𝐻 ∈ USPGraph)    &   (𝜑𝑁 ∈ (𝐺 GraphIso 𝐻))    &   𝐸 = (𝑥 ∈ dom 𝐹 ↦ (𝐽‘(𝑁 “ (𝐼‘(𝐹𝑥)))))    &   (𝜑𝐹(Cycles‘𝐺)𝑃)       (𝜑𝐸(Cycles‘𝐻)(𝑁𝑃))
 
31-Oct-2025upgrimspths 47900 Graph isomorphisms between simple pseudographs map simple paths onto simple paths. (Contributed by AV, 31-Oct-2025.)
𝐼 = (iEdg‘𝐺)    &   𝐽 = (iEdg‘𝐻)    &   (𝜑𝐺 ∈ USPGraph)    &   (𝜑𝐻 ∈ USPGraph)    &   (𝜑𝑁 ∈ (𝐺 GraphIso 𝐻))    &   𝐸 = (𝑥 ∈ dom 𝐹 ↦ (𝐽‘(𝑁 “ (𝐼‘(𝐹𝑥)))))    &   (𝜑𝐹(SPaths‘𝐺)𝑃)       (𝜑𝐸(SPaths‘𝐻)(𝑁𝑃))
 
31-Oct-2025upgrimpths 47899 Graph isomorphisms between simple pseudographs map paths onto paths. (Contributed by AV, 31-Oct-2025.)
𝐼 = (iEdg‘𝐺)    &   𝐽 = (iEdg‘𝐻)    &   (𝜑𝐺 ∈ USPGraph)    &   (𝜑𝐻 ∈ USPGraph)    &   (𝜑𝑁 ∈ (𝐺 GraphIso 𝐻))    &   𝐸 = (𝑥 ∈ dom 𝐹 ↦ (𝐽‘(𝑁 “ (𝐼‘(𝐹𝑥)))))    &   (𝜑𝐹(Paths‘𝐺)𝑃)       (𝜑𝐸(Paths‘𝐻)(𝑁𝑃))
 
31-Oct-2025upgrimpthslem2 47898 Lemma 2 for upgrimpths 47899. (Contributed by AV, 31-Oct-2025.)
𝐼 = (iEdg‘𝐺)    &   𝐽 = (iEdg‘𝐻)    &   (𝜑𝐺 ∈ USPGraph)    &   (𝜑𝐻 ∈ USPGraph)    &   (𝜑𝑁 ∈ (𝐺 GraphIso 𝐻))    &   𝐸 = (𝑥 ∈ dom 𝐹 ↦ (𝐽‘(𝑁 “ (𝐼‘(𝐹𝑥)))))    &   (𝜑𝐹(Paths‘𝐺)𝑃)       ((𝜑𝑋 ∈ (1..^(♯‘𝐹))) → (¬ ((𝑁𝑃)‘𝑋) = ((𝑁𝑃)‘0) ∧ ¬ ((𝑁𝑃)‘𝑋) = ((𝑁𝑃)‘(♯‘𝐹))))
 
31-Oct-2025squeezedltsq 46880 If a real value is squeezed between two others, its square is less than square of at least one of them. Deduction form. (Contributed by Ender Ting, 31-Oct-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐵 ∈ ℝ)    &   (𝜑𝐶 ∈ ℝ)    &   (𝜑𝐴 < 𝐵)    &   (𝜑𝐵 < 𝐶)       (𝜑 → ((𝐵 · 𝐵) < (𝐴 · 𝐴) ∨ (𝐵 · 𝐵) < (𝐶 · 𝐶)))
 
30-Oct-2025dmrnxp 48815 A Cartesian product is the Cartesian product of its domain and range. (Contributed by Zhi Wang, 30-Oct-2025.)
(𝑅 = (𝐴 × 𝐵) → 𝑅 = (dom 𝑅 × ran 𝑅))
 
30-Oct-2025intxp 48810 Intersection of Cartesian products is the Cartesian product of intersection of domains and ranges. See also inxp 5797 and iinxp 48809. (Contributed by Zhi Wang, 30-Oct-2025.)
(𝜑𝐴 ≠ ∅)    &   ((𝜑𝑥𝐴) → 𝑥 = (dom 𝑥 × ran 𝑥))    &   𝑋 = 𝑥𝐴 dom 𝑥    &   𝑌 = 𝑥𝐴 ran 𝑥       (𝜑 𝐴 = (𝑋 × 𝑌))
 
30-Oct-2025iinxp 48809 Indexed intersection of Cartesian products is the Cartesian product of indexed intersections. See also inxp 5797 and intxp 48810. (Contributed by Zhi Wang, 30-Oct-2025.)
(𝐴 ≠ ∅ → 𝑥𝐴 (𝐵 × 𝐶) = ( 𝑥𝐴 𝐵 × 𝑥𝐴 𝐶))
 
30-Oct-2025iineq0 48798 An indexed intersection is empty if one of the intersected classes is empty. (Contributed by Zhi Wang, 30-Oct-2025.)
(∃𝑥𝐴 𝐵 = ∅ → 𝑥𝐴 𝐵 = ∅)
 
30-Oct-2025upgrimpthslem1 47897 Lemma 1 for upgrimpths 47899. (Contributed by AV, 30-Oct-2025.)
𝐼 = (iEdg‘𝐺)    &   𝐽 = (iEdg‘𝐻)    &   (𝜑𝐺 ∈ USPGraph)    &   (𝜑𝐻 ∈ USPGraph)    &   (𝜑𝑁 ∈ (𝐺 GraphIso 𝐻))    &   𝐸 = (𝑥 ∈ dom 𝐹 ↦ (𝐽‘(𝑁 “ (𝐼‘(𝐹𝑥)))))    &   (𝜑𝐹(Paths‘𝐺)𝑃)       (𝜑 → Fun ((𝑁𝑃) ↾ (1..^(♯‘𝐹))))
 
30-Oct-20252f1fvneq 7237 If two one-to-one functions are applied on different arguments, also the values are different. (Contributed by Alexander van der Vekens, 25-Jan-2018.) (Proof shortened by AV, 30-Oct-2025.)
(((𝐸:𝐷1-1𝑅𝐹:𝐶1-1𝐷) ∧ (𝐴𝐶𝐵𝐶) ∧ 𝐴𝐵) → (((𝐸‘(𝐹𝐴)) = 𝑋 ∧ (𝐸‘(𝐹𝐵)) = 𝑌) → 𝑋𝑌))
 
30-Oct-2025dff14i 7236 A one-to-one function maps different arguments onto different values. Implication of the alternate definition dff14a 7247. (Contributed by AV, 30-Oct-2025.)
((𝐹:𝐴1-1𝐵 ∧ (𝑋𝐴𝑌𝐴𝑋𝑌)) → (𝐹𝑋) ≠ (𝐹𝑌))
 
29-Oct-2025upgrimtrls 47896 Graph isomorphisms between simple pseudographs map trails onto trails. (Contributed by AV, 29-Oct-2025.)
𝐼 = (iEdg‘𝐺)    &   𝐽 = (iEdg‘𝐻)    &   (𝜑𝐺 ∈ USPGraph)    &   (𝜑𝐻 ∈ USPGraph)    &   (𝜑𝑁 ∈ (𝐺 GraphIso 𝐻))    &   𝐸 = (𝑥 ∈ dom 𝐹 ↦ (𝐽‘(𝑁 “ (𝐼‘(𝐹𝑥)))))    &   (𝜑𝐹(Trails‘𝐺)𝑃)       (𝜑𝐸(Trails‘𝐻)(𝑁𝑃))
 
29-Oct-2025upgrimtrlslem2 47895 Lemma 2 for upgrimtrls 47896. (Contributed by AV, 29-Oct-2025.)
𝐼 = (iEdg‘𝐺)    &   𝐽 = (iEdg‘𝐻)    &   (𝜑𝐺 ∈ USPGraph)    &   (𝜑𝐻 ∈ USPGraph)    &   (𝜑𝑁 ∈ (𝐺 GraphIso 𝐻))    &   𝐸 = (𝑥 ∈ dom 𝐹 ↦ (𝐽‘(𝑁 “ (𝐼‘(𝐹𝑥)))))    &   (𝜑𝐹(Trails‘𝐺)𝑃)       ((𝜑 ∧ (𝑥 ∈ dom 𝐹𝑦 ∈ dom 𝐹)) → ((𝐽‘(𝑁 “ (𝐼‘(𝐹𝑥)))) = (𝐽‘(𝑁 “ (𝐼‘(𝐹𝑦)))) → 𝑥 = 𝑦))
 
29-Oct-2025upgrimtrlslem1 47894 Lemma 1 for upgrimtrls 47896. (Contributed by AV, 29-Oct-2025.)
𝐼 = (iEdg‘𝐺)    &   𝐽 = (iEdg‘𝐻)    &   (𝜑𝐺 ∈ USPGraph)    &   (𝜑𝐻 ∈ USPGraph)    &   (𝜑𝑁 ∈ (𝐺 GraphIso 𝐻))    &   𝐸 = (𝑥 ∈ dom 𝐹 ↦ (𝐽‘(𝑁 “ (𝐼‘(𝐹𝑥)))))    &   (𝜑𝐹(Trails‘𝐺)𝑃)       ((𝜑𝑋 ∈ dom 𝐹) → (𝑁 “ (𝐼‘(𝐹𝑋))) ∈ (Edg‘𝐻))
 
28-Oct-2025upgrimwlk 47892 Graph isomorphisms between simple pseudographs map walks onto walks. (Contributed by AV, 28-Oct-2025.)
𝐼 = (iEdg‘𝐺)    &   𝐽 = (iEdg‘𝐻)    &   (𝜑𝐺 ∈ USPGraph)    &   (𝜑𝐻 ∈ USPGraph)    &   (𝜑𝑁 ∈ (𝐺 GraphIso 𝐻))    &   𝐸 = (𝑥 ∈ dom 𝐹 ↦ (𝐽‘(𝑁 “ (𝐼‘(𝐹𝑥)))))    &   (𝜑𝐹(Walks‘𝐺)𝑃)       (𝜑𝐸(Walks‘𝐻)(𝑁𝑃))
 
28-Oct-2025upgrimwlklem5 47891 Lemma 5 for upgrimwlk 47892. (Contributed by AV, 28-Oct-2025.)
𝐼 = (iEdg‘𝐺)    &   𝐽 = (iEdg‘𝐻)    &   (𝜑𝐺 ∈ USPGraph)    &   (𝜑𝐻 ∈ USPGraph)    &   (𝜑𝑁 ∈ (𝐺 GraphIso 𝐻))    &   𝐸 = (𝑥 ∈ dom 𝐹 ↦ (𝐽‘(𝑁 “ (𝐼‘(𝐹𝑥)))))    &   (𝜑𝐹(Walks‘𝐺)𝑃)       ((𝜑𝑖 ∈ (0..^(♯‘𝐸))) → (𝑁 “ (𝐼‘(𝐹𝑖))) = {((𝑁𝑃)‘𝑖), ((𝑁𝑃)‘(𝑖 + 1))})
 
28-Oct-2025upgrimwlklem4 47890 Lemma 4 for upgrimwlk 47892. (Contributed by AV, 28-Oct-2025.)
𝐼 = (iEdg‘𝐺)    &   𝐽 = (iEdg‘𝐻)    &   (𝜑𝐺 ∈ USPGraph)    &   (𝜑𝐻 ∈ USPGraph)    &   (𝜑𝑁 ∈ (𝐺 GraphIso 𝐻))    &   𝐸 = (𝑥 ∈ dom 𝐹 ↦ (𝐽‘(𝑁 “ (𝐼‘(𝐹𝑥)))))    &   (𝜑𝐹 ∈ Word dom 𝐼)    &   (𝜑𝑃:(0...(♯‘𝐹))⟶(Vtx‘𝐺))       (𝜑 → (𝑁𝑃):(0...(♯‘𝐸))⟶(Vtx‘𝐻))
 
27-Oct-2025oppczeroo 49216 Zero objects are zero in the opposite category. Remark 7.8 of [Adamek] p. 103. (Contributed by Zhi Wang, 27-Oct-2025.)
(𝐼 ∈ (ZeroO‘𝐶) ↔ 𝐼 ∈ (ZeroO‘(oppCat‘𝐶)))
 
27-Oct-2025oppcciceq 49031 The opposite category has the same isomorphic objects as the original category. (Contributed by Zhi Wang, 27-Oct-2025.)
𝑂 = (oppCat‘𝐶)       ( ≃𝑐𝐶) = ( ≃𝑐𝑂)
 
27-Oct-2025oppccicb 49030 Isomorphic objects are isomorphic in the opposite category. (Contributed by Zhi Wang, 27-Oct-2025.)
𝑂 = (oppCat‘𝐶)       (𝑅( ≃𝑐𝐶)𝑆𝑅( ≃𝑐𝑂)𝑆)
 
27-Oct-2025cicpropd 49029 Two structures with the same base, hom-sets and composition operation have the same isomorphic objects. (Contributed by Zhi Wang, 27-Oct-2025.)
(𝜑 → (Homf𝐶) = (Homf𝐷))    &   (𝜑 → (compf𝐶) = (compf𝐷))       (𝜑 → ( ≃𝑐𝐶) = ( ≃𝑐𝐷))
 
27-Oct-2025cicpropdlem 49028 Lemma for cicpropd 49029. (Contributed by Zhi Wang, 27-Oct-2025.)
(𝜑 → (Homf𝐶) = (Homf𝐷))    &   (𝜑 → (compf𝐶) = (compf𝐷))       ((𝜑𝑃 ∈ ( ≃𝑐𝐶)) → 𝑃 ∈ ( ≃𝑐𝐷))
 
27-Oct-2025cic1st2ndbr 49027 Rewrite the predicate of isomorphic objects with separated parts. (Contributed by Zhi Wang, 27-Oct-2025.)
(𝑃 ∈ ( ≃𝑐𝐶) → (1st𝑃)( ≃𝑐𝐶)(2nd𝑃))
 
27-Oct-2025cic1st2nd 49026 Reconstruction of a pair of isomorphic objects in terms of its ordered pair components. (Contributed by Zhi Wang, 27-Oct-2025.)
(𝑃 ∈ ( ≃𝑐𝐶) → 𝑃 = ⟨(1st𝑃), (2nd𝑃)⟩)
 
27-Oct-2025relcic 49024 The set of isomorphic objects is a relation. Simplifies cicer 17774 (see cicerALT 49025). (Contributed by Zhi Wang, 27-Oct-2025.)
(𝐶 ∈ Cat → Rel ( ≃𝑐𝐶))
 
27-Oct-2025isopropd 49020 Two structures with the same base, hom-sets and composition operation have the same isomorphisms. (Contributed by Zhi Wang, 27-Oct-2025.)
(𝜑 → (Homf𝐶) = (Homf𝐷))    &   (𝜑 → (compf𝐶) = (compf𝐷))       (𝜑 → (Iso‘𝐶) = (Iso‘𝐷))
 
27-Oct-2025isopropdlem 49019 Lemma for isopropd 49020. (Contributed by Zhi Wang, 27-Oct-2025.)
(𝜑 → (Homf𝐶) = (Homf𝐷))    &   (𝜑 → (compf𝐶) = (compf𝐷))       ((𝜑𝑃 ∈ (Iso‘𝐶)) → 𝑃 ∈ (Iso‘𝐷))
 
27-Oct-2025invpropd 49018 Two structures with the same base, hom-sets and composition operation have the same inverses. (Contributed by Zhi Wang, 27-Oct-2025.)
(𝜑 → (Homf𝐶) = (Homf𝐷))    &   (𝜑 → (compf𝐶) = (compf𝐷))       (𝜑 → (Inv‘𝐶) = (Inv‘𝐷))
 
27-Oct-2025invpropdlem 49017 Lemma for invpropd 49018. (Contributed by Zhi Wang, 27-Oct-2025.)
(𝜑 → (Homf𝐶) = (Homf𝐷))    &   (𝜑 → (compf𝐶) = (compf𝐷))       ((𝜑𝑃 ∈ (Inv‘𝐶)) → 𝑃 ∈ (Inv‘𝐷))
 
27-Oct-2025sectpropd 49016 Two structures with the same base, hom-sets and composition operation have the same sections. (Contributed by Zhi Wang, 27-Oct-2025.)
(𝜑 → (Homf𝐶) = (Homf𝐷))    &   (𝜑 → (compf𝐶) = (compf𝐷))       (𝜑 → (Sect‘𝐶) = (Sect‘𝐷))
 
27-Oct-2025sectpropdlem 49015 Lemma for sectpropd 49016. (Contributed by Zhi Wang, 27-Oct-2025.)
(𝜑 → (Homf𝐶) = (Homf𝐷))    &   (𝜑 → (compf𝐶) = (compf𝐷))       ((𝜑𝑃 ∈ (Sect‘𝐶)) → 𝑃 ∈ (Sect‘𝐷))
 
27-Oct-2025isofval2 49011 Function value of the function returning the isomorphisms of a category. (Contributed by Zhi Wang, 27-Oct-2025.)
𝐵 = (Base‘𝐶)    &   𝑁 = (Inv‘𝐶)    &   (𝜑𝐶 ∈ Cat)    &   𝐼 = (Iso‘𝐶)       (𝜑𝐼 = (𝑥𝐵, 𝑦𝐵 ↦ dom (𝑥𝑁𝑦)))
 
27-Oct-2025invfn 49009 The function value of the function returning the inverses of a category is a function over the Cartesian square of the base set of the category. Simplifies isofn 17743 (see isofnALT 49010). (Contributed by Zhi Wang, 27-Oct-2025.)
(𝐶 ∈ Cat → (Inv‘𝐶) Fn ((Base‘𝐶) × (Base‘𝐶)))
 
27-Oct-2025sectfn 49008 The function value of the function returning the sections of a category is a function over the Cartesian square of the base set of the category. (Contributed by Zhi Wang, 27-Oct-2025.)
(𝐶 ∈ Cat → (Sect‘𝐶) Fn ((Base‘𝐶) × (Base‘𝐶)))
 
27-Oct-2025eloprab1st2nd 48846 Reconstruction of a nested ordered pair in terms of its ordered pair components. (Contributed by Zhi Wang, 27-Oct-2025.)
(𝐴 ∈ {⟨⟨𝑥, 𝑦⟩, 𝑧⟩ ∣ 𝜑} → 𝐴 = ⟨⟨(1st ‘(1st𝐴)), (2nd ‘(1st𝐴))⟩, (2nd𝐴)⟩)
 
27-Oct-2025invffval 17726 Value of the inverse relation. (Contributed by Mario Carneiro, 2-Jan-2017.) Removed redundant hypotheses. (Revised by Zhi Wang, 27-Oct-2025.)
𝐵 = (Base‘𝐶)    &   𝑁 = (Inv‘𝐶)    &   (𝜑𝐶 ∈ Cat)    &   𝑆 = (Sect‘𝐶)       (𝜑𝑁 = (𝑥𝐵, 𝑦𝐵 ↦ ((𝑥𝑆𝑦) ∩ (𝑦𝑆𝑥))))
 
27-Oct-2025sectffval 17718 Value of the section operation. (Contributed by Mario Carneiro, 2-Jan-2017.) Removed redundant hypotheses. (Revised by Zhi Wang, 27-Oct-2025.)
𝐵 = (Base‘𝐶)    &   𝐻 = (Hom ‘𝐶)    &    · = (comp‘𝐶)    &    1 = (Id‘𝐶)    &   𝑆 = (Sect‘𝐶)    &   (𝜑𝐶 ∈ Cat)       (𝜑𝑆 = (𝑥𝐵, 𝑦𝐵 ↦ {⟨𝑓, 𝑔⟩ ∣ ((𝑓 ∈ (𝑥𝐻𝑦) ∧ 𝑔 ∈ (𝑦𝐻𝑥)) ∧ (𝑔(⟨𝑥, 𝑦· 𝑥)𝑓) = ( 1𝑥))}))
 
26-Oct-2025termccisoeu 49496 The isomorphism between terminal categories is unique. (Contributed by Zhi Wang, 26-Oct-2025.)
𝐶 = (CatCat‘𝑈)    &   𝐵 = (Base‘𝐶)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)    &   (𝜑𝑋 ∈ TermCat)    &   (𝜑𝑌 ∈ TermCat)       (𝜑 → ∃!𝑓 𝑓 ∈ (𝑋(Iso‘𝐶)𝑌))
 
26-Oct-2025termcciso 49495 A category is isomorphic to a terminal category iff it itself is terminal. (Contributed by Zhi Wang, 26-Oct-2025.)
𝐶 = (CatCat‘𝑈)    &   𝐵 = (Base‘𝐶)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)    &   (𝜑𝑋 ∈ TermCat)       (𝜑 → (𝑌 ∈ TermCat ↔ 𝑋( ≃𝑐𝐶)𝑌))
 
26-Oct-2025zeroopropd 49224 Two structures with the same base, hom-sets and composition operation have the same zero objects. (Contributed by Zhi Wang, 26-Oct-2025.)
(𝜑 → (Homf𝐶) = (Homf𝐷))    &   (𝜑 → (compf𝐶) = (compf𝐷))       (𝜑 → (ZeroO‘𝐶) = (ZeroO‘𝐷))
 
26-Oct-2025termopropd 49223 Two structures with the same base, hom-sets and composition operation have the same terminal objects. (Contributed by Zhi Wang, 26-Oct-2025.)
(𝜑 → (Homf𝐶) = (Homf𝐷))    &   (𝜑 → (compf𝐶) = (compf𝐷))       (𝜑 → (TermO‘𝐶) = (TermO‘𝐷))
 
26-Oct-2025zeroopropdlem 49221 Lemma for zeroopropd 49224. (Contributed by Zhi Wang, 26-Oct-2025.)
(𝜑 → (Homf𝐶) = (Homf𝐷))    &   (𝜑 → (compf𝐶) = (compf𝐷))    &   (𝜑 → ¬ 𝐶 ∈ V)       (𝜑 → (ZeroO‘𝐶) = (ZeroO‘𝐷))
 
26-Oct-2025termopropdlem 49220 Lemma for termopropd 49223. (Contributed by Zhi Wang, 26-Oct-2025.)
(𝜑 → (Homf𝐶) = (Homf𝐷))    &   (𝜑 → (compf𝐶) = (compf𝐷))    &   (𝜑 → ¬ 𝐶 ∈ V)       (𝜑 → (TermO‘𝐶) = (TermO‘𝐷))
 
26-Oct-2025initopropdlem 49219 Lemma for initopropd 49222. (Contributed by Zhi Wang, 26-Oct-2025.)
(𝜑 → (Homf𝐶) = (Homf𝐷))    &   (𝜑 → (compf𝐶) = (compf𝐷))    &   (𝜑 → ¬ 𝐶 ∈ V)       (𝜑 → (InitO‘𝐶) = (InitO‘𝐷))
 
26-Oct-2025initopropdlemlem 49218 Lemma for initopropdlem 49219, termopropdlem 49220, and zeroopropdlem 49221. (Contributed by Zhi Wang, 26-Oct-2025.)
𝐹 Fn 𝑋    &   (𝜑 → ¬ 𝐴𝑌)    &   𝑋𝑌    &   ((𝜑𝐵𝑋) → (𝐹𝐵) = ∅)       (𝜑 → (𝐹𝐴) = (𝐹𝐵))
 
26-Oct-2025termoeu2 49217 Terminal objects are essentially unique; if 𝐴 is a terminal object, then so is every object that is isomorphic to 𝐴. (Contributed by Zhi Wang, 26-Oct-2025.)
(𝜑𝐶 ∈ Cat)    &   (𝜑𝐴 ∈ (TermO‘𝐶))    &   (𝜑𝐴( ≃𝑐𝐶)𝐵)       (𝜑𝐵 ∈ (TermO‘𝐶))
 
26-Oct-2025oppctermo 49215 Terminal objects are initial in the opposite category. Comments before Definition 7.4 in [Adamek] p. 102. (Contributed by Zhi Wang, 26-Oct-2025.)
(𝐼 ∈ (TermO‘𝐶) ↔ 𝐼 ∈ (InitO‘(oppCat‘𝐶)))
 
26-Oct-2025oppccic 49023 Isomorphic objects are isomorphic in the opposite category. (Contributed by Zhi Wang, 26-Oct-2025.)
𝑂 = (oppCat‘𝐶)    &   (𝜑𝑅( ≃𝑐𝐶)𝑆)       (𝜑𝑅( ≃𝑐𝑂)𝑆)
 
26-Oct-2025cicrcl2 49022 Isomorphism implies the structure being a category. (Contributed by Zhi Wang, 26-Oct-2025.)
(𝑅( ≃𝑐𝐶)𝑆𝐶 ∈ Cat)
 
26-Oct-2025cicfn 49021 𝑐 is a function on Cat. (Contributed by Zhi Wang, 26-Oct-2025.)
𝑐 Fn Cat
 
26-Oct-2025tcfr 44946 A set is well-founded if and only if its transitive closure is well-founded by . This characterization of well-founded sets is that in Definition I.9.20 of [Kunen2] p. 53. (Contributed by Eric Schmidt, 26-Oct-2025.)
𝐴 ∈ V       (𝐴 (𝑅1 “ On) ↔ E Fr (TC‘𝐴))
 
26-Oct-2025trfr 44945 A transitive class well-founded by is a subclass of the class of well-founded sets. Part of Lemma I.9.21 of [Kunen2] p. 53. (Contributed by Eric Schmidt, 26-Oct-2025.)
((Tr 𝐴 ∧ E Fr 𝐴) → 𝐴 (𝑅1 “ On))
 
26-Oct-20252sqr3nconstr 33777 Doubling the cube is an impossible construction, i.e. the cube root of 2 is not constructible with straightedge and compass. Given a cube of edge of length one, a cube of double volume would have an edge of length (2↑𝑐(1 / 3)), however that number is not constructible. This is the first part of Metamath 100 proof #8. Theorem 7.13 of [Stewart] p. 99. (Contributed by Thierry Arnoux and Saveliy Skresanov, 26-Oct-2025.)
(2↑𝑐(1 / 3)) ∉ Constr
 
26-Oct-2025constrcon 33770 Contradiction of constructibility: If a complex number 𝐴 has minimal polynomial 𝐹 over of a degree that is not a power of 2, then 𝐴 is not constructible. (Contributed by Thierry Arnoux, 26-Oct-2025.)
𝐷 = (deg1‘(ℂflds ℚ))    &   𝑀 = (ℂfld minPoly ℚ)    &   (𝜑𝐴 ∈ ℂ)    &   (𝜑𝐹 = (𝑀𝐴))    &   (𝜑 → (𝐷𝐹) ∈ ℕ0)    &   ((𝜑𝑛 ∈ ℕ0) → (𝐷𝐹) ≠ (2↑𝑛))       (𝜑 → ¬ 𝐴 ∈ Constr)
 
26-Oct-2025constrext2chn 33755 If a constructible number generates some subfield 𝐿 of , then the degree of the extension of 𝐿 over is a power of two. Theorem 7.12 of [Stewart] p. 98. (Contributed by Thierry Arnoux, 26-Oct-2025.)
𝑄 = (ℂflds ℚ)    &   𝐿 = (ℂflds 𝑆)    &   𝑆 = (ℂfld fldGen (ℚ ∪ {𝐴}))    &   (𝜑𝐴 ∈ Constr)       (𝜑 → ∃𝑛 ∈ ℕ0 (𝐿[:]𝑄) = (2↑𝑛))
 
26-Oct-2025constrext2chnlem 33746 Lemma for constrext2chn 33755. (Contributed by Thierry Arnoux, 26-Oct-2025.)
𝐶 = rec((𝑠 ∈ V ↦ {𝑥 ∈ ℂ ∣ (∃𝑎𝑠𝑏𝑠𝑐𝑠𝑑𝑠𝑡 ∈ ℝ ∃𝑟 ∈ ℝ (𝑥 = (𝑎 + (𝑡 · (𝑏𝑎))) ∧ 𝑥 = (𝑐 + (𝑟 · (𝑑𝑐))) ∧ (ℑ‘((∗‘(𝑏𝑎)) · (𝑑𝑐))) ≠ 0) ∨ ∃𝑎𝑠𝑏𝑠𝑐𝑠𝑒𝑠𝑓𝑠𝑡 ∈ ℝ (𝑥 = (𝑎 + (𝑡 · (𝑏𝑎))) ∧ (abs‘(𝑥𝑐)) = (abs‘(𝑒𝑓))) ∨ ∃𝑎𝑠𝑏𝑠𝑐𝑠𝑑𝑠𝑒𝑠𝑓𝑠 (𝑎𝑑 ∧ (abs‘(𝑥𝑎)) = (abs‘(𝑏𝑐)) ∧ (abs‘(𝑥𝑑)) = (abs‘(𝑒𝑓))))}), {0, 1})    &   𝐸 = (ℂflds 𝑒)    &   𝐹 = (ℂflds 𝑓)    &    < = {⟨𝑓, 𝑒⟩ ∣ (𝐸/FldExt𝐹 ∧ (𝐸[:]𝐹) = 2)}    &   (𝜑𝑁 ∈ ω)    &   𝑄 = (ℂflds ℚ)    &   𝐿 = (ℂflds (ℂfld fldGen (ℚ ∪ {𝐴})))    &   (𝜑𝐴 ∈ Constr)       (𝜑 → ∃𝑛 ∈ ℕ0 (𝐿[:]𝑄) = (2↑𝑛))
 
26-Oct-2025minplyelirng 33711 If the minimial polynomial 𝐹 of an element 𝑋 of a field 𝑅 has nonnegative degree, then 𝑋 is integral. (Contributed by Thierry Arnoux, 26-Oct-2025.)
𝐵 = (Base‘𝑅)    &   𝑀 = (𝑅 minPoly 𝑆)    &   𝐷 = (deg1‘(𝑅s 𝑆))    &   (𝜑𝑅 ∈ Field)    &   (𝜑𝑆 ∈ (SubDRing‘𝑅))    &   (𝜑𝐴𝐵)    &   (𝜑 → (𝐷‘(𝑀𝐴)) ∈ ℕ0)       (𝜑𝐴 ∈ (𝑅 IntgRing 𝑆))
 
26-Oct-2025minplynzm1p 33710 If a minimal polynomial is nonzero, then it is monic. (Contributed by Thierry Arnoux, 26-Oct-2025.)
𝐵 = (Base‘𝐸)    &   𝑍 = (0g‘(Poly1𝐸))    &   (𝜑𝐸 ∈ Field)    &   (𝜑𝐹 ∈ (SubDRing‘𝐸))    &   𝑀 = (𝐸 minPoly 𝐹)    &   (𝜑𝐴𝐵)    &   (𝜑 → (𝑀𝐴) ≠ 𝑍)    &   𝑈 = (Monic1p‘(𝐸s 𝐹))       (𝜑 → (𝑀𝐴) ∈ 𝑈)
 
26-Oct-2025fldextsdrg 33656 Deduce sub-division-ring from field extension. (Contributed by Thierry Arnoux, 26-Oct-2025.)
𝐵 = (Base‘𝐹)    &   (𝜑𝐸/FldExt𝐹)       (𝜑𝐵 ∈ (SubDRing‘𝐸))
 
26-Oct-2025sdrgfldext 33652 A field 𝐸 and any sub-division-ring 𝐹 of 𝐸 form a field extension. (Contributed by Thierry Arnoux, 26-Oct-2025.)
𝐵 = (Base‘𝐸)    &   (𝜑𝐸 ∈ Field)    &   (𝜑𝐹 ∈ (SubDRing‘𝐸))       (𝜑𝐸/FldExt(𝐸s 𝐹))
 
26-Oct-2025subsdrg 33254 A subring of a sub-division-ring is a sub-division-ring. See also subsubrg 20513. (Contributed by Thierry Arnoux, 26-Oct-2025.)
𝑆 = (𝑅s 𝐴)    &   (𝜑𝐴 ∈ (SubDRing‘𝑅))       (𝜑 → (𝐵 ∈ (SubDRing‘𝑆) ↔ (𝐵 ∈ (SubDRing‘𝑅) ∧ 𝐵𝐴)))
 
26-Oct-2025hashne0 32741 Deduce that the size of a set is not zero. (Contributed by Thierry Arnoux, 26-Oct-2025.)
(𝜑𝐴𝑉)    &   (𝜑𝐴 ≠ ∅)       (𝜑 → 0 < (♯‘𝐴))
 
26-Oct-2025xnn0nnd 32702 Conditions for an extended nonnegative integer to be a positive integer. (Contributed by Thierry Arnoux, 26-Oct-2025.)
(𝜑𝑁 ∈ ℕ0*)    &   (𝜑𝑁 ∈ ℝ)    &   (𝜑 → 0 < 𝑁)       (𝜑𝑁 ∈ ℕ)
 
26-Oct-2025xnn0nn0d 32701 Conditions for an extended nonnegative integer to be a nonnegative integer. (Contributed by Thierry Arnoux, 26-Oct-2025.)
(𝜑𝑁 ∈ ℕ0*)    &   (𝜑𝑁 ∈ ℝ)       (𝜑𝑁 ∈ ℕ0)
 
26-Oct-2025rexmul2 32683 If the result 𝐴 of an extended real multiplication is real, then its first factor 𝐵 is also real. See also rexmul 13237. (Contributed by Thierry Arnoux, 26-Oct-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐵 ∈ ℝ*)    &   (𝜑𝐶 ∈ ℝ*)    &   (𝜑 → 0 < 𝐶)    &   (𝜑𝐴 = (𝐵 ·e 𝐶))       (𝜑𝐵 ∈ ℝ)
 
26-Oct-2025ee4anv 2349 Distribute two pairs of existential quantifiers over a conjunction. For a version requiring fewer axioms but with additional disjoint variable conditions, see 4exdistrv 1956. (Contributed by NM, 31-Jul-1995.) Remove disjoint variable conditions on 𝑦, 𝑧 and 𝑥, 𝑤. (Revised by Eric Schmidt, 26-Oct-2025.)
(∃𝑥𝑦𝑧𝑤(𝜑𝜓) ↔ (∃𝑥𝑦𝜑 ∧ ∃𝑧𝑤𝜓))
 
25-Oct-2025upgrimwlklem3 47889 Lemma 3 for upgrimwlk 47892. (Contributed by AV, 25-Oct-2025.)
𝐼 = (iEdg‘𝐺)    &   𝐽 = (iEdg‘𝐻)    &   (𝜑𝐺 ∈ USPGraph)    &   (𝜑𝐻 ∈ USPGraph)    &   (𝜑𝑁 ∈ (𝐺 GraphIso 𝐻))    &   𝐸 = (𝑥 ∈ dom 𝐹 ↦ (𝐽‘(𝑁 “ (𝐼‘(𝐹𝑥)))))    &   (𝜑𝐹 ∈ Word dom 𝐼)       ((𝜑𝑋 ∈ (0..^(♯‘𝐸))) → (𝐽‘(𝐸𝑋)) = (𝑁 “ (𝐼‘(𝐹𝑋))))
 
25-Oct-2025upgrimwlklem2 47888 Lemma 2 for upgrimwlk 47892. (Contributed by AV, 25-Oct-2025.)
𝐼 = (iEdg‘𝐺)    &   𝐽 = (iEdg‘𝐻)    &   (𝜑𝐺 ∈ USPGraph)    &   (𝜑𝐻 ∈ USPGraph)    &   (𝜑𝑁 ∈ (𝐺 GraphIso 𝐻))    &   𝐸 = (𝑥 ∈ dom 𝐹 ↦ (𝐽‘(𝑁 “ (𝐼‘(𝐹𝑥)))))    &   (𝜑𝐹 ∈ Word dom 𝐼)       (𝜑𝐸 ∈ Word dom 𝐽)
 
25-Oct-2025upgrimwlklem1 47887 Lemma 1 for upgrimwlk 47892 and upgrimwlklen 47893. (Contributed by AV, 25-Oct-2025.)
𝐼 = (iEdg‘𝐺)    &   𝐽 = (iEdg‘𝐻)    &   (𝜑𝐺 ∈ USPGraph)    &   (𝜑𝐻 ∈ USPGraph)    &   (𝜑𝑁 ∈ (𝐺 GraphIso 𝐻))    &   𝐸 = (𝑥 ∈ dom 𝐹 ↦ (𝐽‘(𝑁 “ (𝐼‘(𝐹𝑥)))))    &   (𝜑𝐹 ∈ Word dom 𝐼)       (𝜑 → (♯‘𝐸) = (♯‘𝐹))
 
25-Oct-2025uhgrimprop 47882 An isomorphism between hypergraphs is a bijection between their vertices that preserves adjacency for simple edges, i.e. there is a simple edge in one graph connecting one or two vertices iff there is a simple edge in the other graph connecting the vertices which are the images of the vertices. (Contributed by AV, 27-Apr-2025.) (Revised by AV, 25-Oct-2025.)
𝐸 = (Edg‘𝐺)    &   𝐷 = (Edg‘𝐻)    &   𝑉 = (Vtx‘𝐺)    &   𝑊 = (Vtx‘𝐻)       ((𝐺 ∈ UHGraph ∧ 𝐻 ∈ UHGraph ∧ 𝐹 ∈ (𝐺 GraphIso 𝐻)) → (𝐹:𝑉1-1-onto𝑊 ∧ ∀𝑥𝑉𝑦𝑉 ({𝑥, 𝑦} ∈ 𝐸 ↔ {(𝐹𝑥), (𝐹𝑦)} ∈ 𝐷)))
 
25-Oct-2025uhgrimedg 47881 An isomorphism between graphs preserves edges, i.e. there is an edge in one graph connecting vertices iff there is an edge in the other graph connecting the corresponding vertices. (Contributed by AV, 25-Oct-2025.)
𝐸 = (Edg‘𝐺)    &   𝐷 = (Edg‘𝐻)       (((𝐺 ∈ UHGraph ∧ 𝐻 ∈ UHGraph) ∧ 𝐹 ∈ (𝐺 GraphIso 𝐻) ∧ 𝐾 ⊆ (Vtx‘𝐺)) → (𝐾𝐸 ↔ (𝐹𝐾) ∈ 𝐷))
 
25-Oct-2025uhgrimedgi 47880 An isomorphism between graphs preserves edges, i.e. if there is an edge in one graph connecting vertices then there is an edge in the other graph connecting the corresponding vertices. (Contributed by AV, 25-Oct-2025.)
𝐸 = (Edg‘𝐺)    &   𝐷 = (Edg‘𝐻)       (((𝐺 ∈ UHGraph ∧ 𝐻 ∈ UHGraph) ∧ (𝐹 ∈ (𝐺 GraphIso 𝐻) ∧ 𝐾𝐸)) → (𝐹𝐾) ∈ 𝐷)
 
23-Oct-2025termcterm2 49493 A terminal object of the category of small categories is a terminal category. (Contributed by Zhi Wang, 18-Oct-2025.) (Proof shortened by Zhi Wang, 23-Oct-2025.)
𝐸 = (CatCat‘𝑈)    &   (𝜑 → (𝑈 ∩ TermCat) ≠ ∅)    &   (𝜑𝐶 ∈ (TermO‘𝐸))       (𝜑𝐶 ∈ TermCat)
 
23-Oct-2025dftermo4 49481 An alternate definition of df-termo 17953 using universal property. See also the "Equivalent formulations" section of https://en.wikipedia.org/wiki/Initial_and_terminal_objects 17953. (Contributed by Zhi Wang, 23-Oct-2025.)
TermO = (𝑐 ∈ Cat ↦ (oppCat‘𝑐) / 𝑜(SetCat‘1o) / 𝑑((1st ‘(𝑑Δfunc𝑜))‘∅) / 𝑓dom (𝑓(𝑜 UP 𝑑)∅))
 
23-Oct-2025dfinito4 49480 An alternate definition of df-inito 17952 using universal property. See also the "Equivalent formulations" section of https://en.wikipedia.org/wiki/Initial_and_terminal_objects 17952. (Contributed by Zhi Wang, 23-Oct-2025.)
InitO = (𝑐 ∈ Cat ↦ (SetCat‘1o) / 𝑑((1st ‘(𝑑Δfunc𝑐))‘∅) / 𝑓dom (𝑓(𝑐 UP 𝑑)∅))
 
23-Oct-2025isinito3 49479 The predicate "is an initial object" of a category, using universal property. (Contributed by Zhi Wang, 23-Oct-2025.)
1 = (SetCat‘1o)    &   𝐹 = ((1st ‘( 1 Δfunc𝐶))‘∅)       (𝐼 ∈ (InitO‘𝐶) ↔ 𝐼 ∈ dom (𝐹(𝐶 UP 1 )∅))
 
23-Oct-2025isinito2 49478 The predicate "is an initial object" of a category, using universal property. (Contributed by Zhi Wang, 23-Oct-2025.)
1 = (SetCat‘1o)    &   𝐹 = ((1st ‘( 1 Δfunc𝐶))‘∅)       (𝐼 ∈ (InitO‘𝐶) ↔ 𝐼(𝐹(𝐶 UP 1 )∅)∅)
 
23-Oct-2025isinito2lem 49477 The predicate "is an initial object" of a category, using universal property. (Contributed by Zhi Wang, 23-Oct-2025.)
1 = (SetCat‘1o)    &   𝐹 = ((1st ‘( 1 Δfunc𝐶))‘∅)    &   (𝜑𝐶 ∈ Cat)    &   (𝜑𝐼 ∈ (Base‘𝐶))       (𝜑 → (𝐼 ∈ (InitO‘𝐶) ↔ 𝐼(𝐹(𝐶 UP 1 )∅)∅))
 
23-Oct-2025initopropd 49222 Two structures with the same base, hom-sets and composition operation have the same initial objects. (Contributed by Zhi Wang, 23-Oct-2025.)
(𝜑 → (Homf𝐶) = (Homf𝐷))    &   (𝜑 → (compf𝐶) = (compf𝐷))       (𝜑 → (InitO‘𝐶) = (InitO‘𝐷))
 
23-Oct-2025oppcinito 49214 Initial objects are terminal in the opposite category. (Contributed by Zhi Wang, 23-Oct-2025.)
(𝐼 ∈ (InitO‘𝐶) ↔ 𝐼 ∈ (TermO‘(oppCat‘𝐶)))
 
23-Oct-2025zeroo2 49213 A zero object is an object in the base set. (Contributed by Zhi Wang, 23-Oct-2025.)
𝐵 = (Base‘𝐶)       (𝑂 ∈ (ZeroO‘𝐶) → 𝑂𝐵)
 
23-Oct-2025termoo2 49212 A terminal object is an object in the base set. (Contributed by Zhi Wang, 23-Oct-2025.)
𝐵 = (Base‘𝐶)       (𝑂 ∈ (TermO‘𝐶) → 𝑂𝐵)
 
23-Oct-2025initoo2 49211 An initial object is an object in the base set. (Contributed by Zhi Wang, 23-Oct-2025.)
𝐵 = (Base‘𝐶)       (𝑂 ∈ (InitO‘𝐶) → 𝑂𝐵)
 
23-Oct-2025up1st2nd2 49167 Rewrite the universal property predicate with separated parts. (Contributed by Zhi Wang, 23-Oct-2025.)
(𝜑𝑋 ∈ (𝐹(𝐷 UP 𝐸)𝑊))       (𝜑 → (1st𝑋)(𝐹(𝐷 UP 𝐸)𝑊)(2nd𝑋))
 
23-Oct-2025up1st2ndb 49166 Combine/separate parts in the universal property predicate. (Contributed by Zhi Wang, 23-Oct-2025.)
(𝜑𝐹 ∈ (𝐷 Func 𝐸))       (𝜑 → (𝑋(𝐹(𝐷 UP 𝐸)𝑊)𝑀𝑋(⟨(1st𝐹), (2nd𝐹)⟩(𝐷 UP 𝐸)𝑊)𝑀))
 
23-Oct-2025up1st2ndr 49165 Combine separated parts in the universal property predicate. (Contributed by Zhi Wang, 23-Oct-2025.)
(𝜑𝐹 ∈ (𝐷 Func 𝐸))    &   (𝜑𝑋(⟨(1st𝐹), (2nd𝐹)⟩(𝐷 UP 𝐸)𝑊)𝑀)       (𝜑𝑋(𝐹(𝐷 UP 𝐸)𝑊)𝑀)
 
23-Oct-2025up1st2nd 49164 Rewrite the universal property predicate with separated parts. (Contributed by Zhi Wang, 23-Oct-2025.)
(𝜑𝑋(𝐹(𝐷 UP 𝐸)𝑊)𝑀)       (𝜑𝑋(⟨(1st𝐹), (2nd𝐹)⟩(𝐷 UP 𝐸)𝑊)𝑀)
 
23-Oct-2025oppccatb 48995 An opposite category is a category. (Contributed by Zhi Wang, 23-Oct-2025.)
𝑂 = (oppCat‘𝐶)    &   (𝜑𝐶𝑉)       (𝜑 → (𝐶 ∈ Cat ↔ 𝑂 ∈ Cat))
 
23-Oct-2025homf0 48988 The base is empty iff the functionalized Hom-set operation is empty. (Contributed by Zhi Wang, 23-Oct-2025.)
((Base‘𝐶) = ∅ ↔ (Homf𝐶) = ∅)
 
22-Oct-2025mndtchom 49563 The only hom-set of the category built from a monoid is the base set of the monoid. (Contributed by Zhi Wang, 22-Sep-2024.) (Proof shortened by Zhi Wang, 22-Oct-2025.)
(𝜑𝐶 = (MndToCat‘𝑀))    &   (𝜑𝑀 ∈ Mnd)    &   (𝜑𝐵 = (Base‘𝐶))    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)    &   (𝜑𝐻 = (Hom ‘𝐶))       (𝜑 → (𝑋𝐻𝑌) = (Base‘𝑀))
 
22-Oct-2025funcsetc1o 49476 Value of the functor to the trivial category. The converse is also true because 𝐹 would be the empty set if 𝐶 were not a category; and the empty set cannot equal an ordered pair of two sets. (Contributed by Zhi Wang, 22-Oct-2025.)
1 = (SetCat‘1o)    &   𝐹 = ((1st ‘( 1 Δfunc𝐶))‘∅)    &   (𝜑𝐶 ∈ Cat)    &   𝐵 = (Base‘𝐶)    &   𝐻 = (Hom ‘𝐶)       (𝜑𝐹 = ⟨(𝐵 × 1o), (𝑥𝐵, 𝑦𝐵 ↦ ((𝑥𝐻𝑦) × 1o))⟩)
 
22-Oct-2025funcsetc1ocl 49475 The functor to the trivial category. The converse is also true due to reverse closure. (Contributed by Zhi Wang, 22-Oct-2025.)
1 = (SetCat‘1o)    &   𝐹 = ((1st ‘( 1 Δfunc𝐶))‘∅)    &   (𝜑𝐶 ∈ Cat)       (𝜑𝐹 ∈ (𝐶 Func 1 ))
 
22-Oct-2025setc1oid 49474 The identity morphism of the trivial category. (Contributed by Zhi Wang, 22-Oct-2025.)
1 = (SetCat‘1o)    &   𝐼 = (Id‘ 1 )       (𝐼‘∅) = ∅
 
22-Oct-2025setc1ocofval 49473 Composition in the trivial category. (Contributed by Zhi Wang, 22-Oct-2025.)
1 = (SetCat‘1o)       {⟨⟨∅, ∅⟩, ∅, {⟨∅, ∅, ∅⟩}⟩} = (comp‘ 1 )
 
22-Oct-2025setc1ohomfval 49472 Set of morphisms of the trivial category. (Contributed by Zhi Wang, 22-Oct-2025.)
1 = (SetCat‘1o)       {⟨∅, ∅, 1o⟩} = (Hom ‘ 1 )
 
22-Oct-2025setc1obas 49471 The base of the trivial category. (Contributed by Zhi Wang, 22-Oct-2025.)
1 = (SetCat‘1o)       1o = (Base‘ 1 )
 
22-Oct-2025ovsn2 48839 The operation value of a singleton of an ordered triple is the last member. (Contributed by Zhi Wang, 22-Oct-2025.)
𝐶 ∈ V       (𝐴{⟨𝐴, 𝐵, 𝐶⟩}𝐵) = 𝐶
 
22-Oct-2025ovsn 48838 The operation value of a singleton of a nested ordered pair is the last member. (Contributed by Zhi Wang, 22-Oct-2025.)
𝐶 ∈ V       (𝐴{⟨⟨𝐴, 𝐵⟩, 𝐶⟩}𝐵) = 𝐶
 
22-Oct-2025ovsng2 48837 The operation value of a singleton of an ordered triple is the last member. (Contributed by Zhi Wang, 22-Oct-2025.)
(𝐶𝑉 → (𝐴{⟨𝐴, 𝐵, 𝐶⟩}𝐵) = 𝐶)
 
22-Oct-2025ovsng 48836 The operation value of a singleton of a nested ordered pair is the last member. (Contributed by Zhi Wang, 22-Oct-2025.)
(𝐶𝑉 → (𝐴{⟨⟨𝐴, 𝐵⟩, 𝐶⟩}𝐵) = 𝐶)
 
22-Oct-2025dfbi1ALTb 44924 Further shorten dfbi1ALTa 44922 using simprimi 44923. (Contributed by Eric Schmidt, 22-Oct-2025.) (New usage is discouraged.) (Proof modification is discouraged.)
((𝜑𝜓) ↔ ¬ ((𝜑𝜓) → ¬ (𝜓𝜑)))
 
22-Oct-2025simprimi 44923 Inference associated with simprim 166. Proved exactly as step 11 is obtained from step 4 in dfbi1ALTa 44922. (Contributed by Eric Schmidt, 22-Oct-2025.) (New usage is discouraged.) (Proof modification is discouraged.)
¬ (𝜑 → ¬ 𝜓)       𝜓
 
22-Oct-2025dfbi1ALTa 44922 Version of dfbi1ALT 214 using for step 2 and shortened using a1i 11, a2i 14, and con4i 114. (Contributed by Eric Schmidt, 22-Oct-2025.) (New usage is discouraged.) (Proof modification is discouraged.)
((𝜑𝜓) ↔ ¬ ((𝜑𝜓) → ¬ (𝜓𝜑)))
 
22-Oct-20259ne0 42247 The number 9 is nonzero. (Contributed by SN, 22-Oct-2025.)
9 ≠ 0
 
22-Oct-20258ne0 42246 The number 8 is nonzero. (Contributed by SN, 22-Oct-2025.)
8 ≠ 0
 
22-Oct-20257ne0 42245 The number 7 is nonzero. (Contributed by SN, 22-Oct-2025.)
7 ≠ 0
 
22-Oct-20256ne0 42244 The number 6 is nonzero. (Contributed by SN, 22-Oct-2025.)
6 ≠ 0
 
22-Oct-20255ne0 42243 The number 5 is nonzero. (Contributed by SN, 22-Oct-2025.)
5 ≠ 0
 
22-Oct-2025halfpm6th 12410 One half plus or minus one sixth. (Contributed by Paul Chapman, 17-Jan-2008.) (Proof shortened by SN, 22-Oct-2025.)
(((1 / 2) − (1 / 6)) = (1 / 3) ∧ ((1 / 2) + (1 / 6)) = (2 / 3))
 
22-Oct-20251mhlfehlf 12407 Prove that 1 - 1/2 = 1/2. (Contributed by David A. Wheeler, 4-Jan-2017.) (Proof shortened by SN, 22-Oct-2025.)
(1 − (1 / 2)) = (1 / 2)
 
21-Oct-2025diagcic 49519 Any category 𝐶 is isomorphic to the category of functors from a terminal category to 𝐶. See also the "Properties" section of https://ncatlab.org/nlab/show/terminal+category. Therefore the number of categories isomorphic to a non-empty category is at least the number of singletons, so large (snnex 7736) that these isomorphic categories form a proper class. (Contributed by Zhi Wang, 21-Oct-2025.)
(𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ TermCat)    &   𝑄 = (𝐷 FuncCat 𝐶)    &   𝐸 = (CatCat‘𝑈)    &   (𝜑𝑈𝑉)    &   (𝜑𝐶𝑈)    &   (𝜑𝑄𝑈)       (𝜑𝐶( ≃𝑐𝐸)𝑄)
 
21-Oct-2025diagciso 49518 The diagonal functor is an isomorphism from a category 𝐶 to the category of functors from a terminal category to 𝐶.

It is provable that the inverse of the diagonal functor is the mapped object by the transposed curry of (𝐷 evalF 𝐶), i.e., ran (1st ‘(⟨𝐷, 𝑄⟩ curryF ((𝐷 evalF 𝐶) func (𝐷 swapF 𝑄)))).

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

(𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ TermCat)    &   𝑄 = (𝐷 FuncCat 𝐶)    &   𝐸 = (CatCat‘𝑈)    &   (𝜑𝑈𝑉)    &   (𝜑𝐶𝑈)    &   (𝜑𝑄𝑈)    &   𝐼 = (Iso‘𝐸)    &   𝐿 = (𝐶Δfunc𝐷)       (𝜑𝐿 ∈ (𝐶𝐼𝑄))
 
21-Oct-2025diagffth 49517 The diagonal functor is a fully faithful functor from a category 𝐶 to the category of functors from a terminal category to 𝐶. (Contributed by Zhi Wang, 21-Oct-2025.)
(𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ TermCat)    &   𝑄 = (𝐷 FuncCat 𝐶)    &   𝐿 = (𝐶Δfunc𝐷)       (𝜑𝐿 ∈ ((𝐶 Full 𝑄) ∩ (𝐶 Faith 𝑄)))
 
21-Oct-2025diag2f1o 49516 If 𝐷 is terminal, the morphism part of a diagonal functor is bijective functions from hom-sets into sets of natural transformations. (Contributed by Zhi Wang, 21-Oct-2025.)
𝐿 = (𝐶Δfunc𝐷)    &   𝐴 = (Base‘𝐶)    &   𝐻 = (Hom ‘𝐶)    &   (𝜑𝑋𝐴)    &   (𝜑𝑌𝐴)    &   𝑁 = (𝐷 Nat 𝐶)    &   (𝜑𝐷 ∈ TermCat)    &   (𝜑𝐶 ∈ Cat)       (𝜑 → (𝑋(2nd𝐿)𝑌):(𝑋𝐻𝑌)–1-1-onto→(((1st𝐿)‘𝑋)𝑁((1st𝐿)‘𝑌)))
 
21-Oct-2025diag2f1olem 49515 Lemma for diag2f1o 49516. (Contributed by Zhi Wang, 21-Oct-2025.)
𝐿 = (𝐶Δfunc𝐷)    &   𝐴 = (Base‘𝐶)    &   𝐻 = (Hom ‘𝐶)    &   (𝜑𝑋𝐴)    &   (𝜑𝑌𝐴)    &   𝑁 = (𝐷 Nat 𝐶)    &   (𝜑𝐷 ∈ TermCat)    &   (𝜑𝑀 ∈ (((1st𝐿)‘𝑋)𝑁((1st𝐿)‘𝑌)))    &   𝐵 = (Base‘𝐷)    &   (𝜑𝑍𝐵)    &   𝐹 = (𝑀𝑍)       (𝜑 → (𝐹 ∈ (𝑋𝐻𝑌) ∧ 𝑀 = ((𝑋(2nd𝐿)𝑌)‘𝐹)))
 
21-Oct-2025termcnatval 49514 Value of natural transformations for a terminal category. (Contributed by Zhi Wang, 21-Oct-2025.)
(𝜑𝐶 ∈ TermCat)    &   𝑁 = (𝐶 Nat 𝐷)    &   (𝜑𝐴 ∈ (𝐹𝑁𝐺))    &   𝐵 = (Base‘𝐶)    &   (𝜑𝑋𝐵)    &   𝑅 = (𝐴𝑋)       (𝜑𝐴 = {⟨𝑋, 𝑅⟩})
 
21-Oct-2025diag1f1o 49513 The object part of the diagonal functor is a bijection if 𝐷 is terminal. So any functor from a terminal category is one-to-one correspondent to an object of the target base. (Contributed by Zhi Wang, 21-Oct-2025.)
𝐴 = (Base‘𝐶)    &   (𝜑𝐷 ∈ TermCat)    &   (𝜑𝐶 ∈ Cat)    &   𝐿 = (𝐶Δfunc𝐷)       (𝜑 → (1st𝐿):𝐴1-1-onto→(𝐷 Func 𝐶))
 
21-Oct-2025diag1f1olem 49512 To any functor from a terminal category can an object in the target base be assigned. (Contributed by Zhi Wang, 21-Oct-2025.)
𝐴 = (Base‘𝐶)    &   (𝜑𝐷 ∈ TermCat)    &   (𝜑𝐾 ∈ (𝐷 Func 𝐶))    &   𝐵 = (Base‘𝐷)    &   (𝜑𝑌𝐵)    &   𝑋 = ((1st𝐾)‘𝑌)    &   𝐿 = (𝐶Δfunc𝐷)       (𝜑 → (𝑋𝐴𝐾 = ((1st𝐿)‘𝑋)))
 
21-Oct-2025termchom2 49468 The hom-set of a terminal category is a singleton of the identity morphism. (Contributed by Zhi Wang, 21-Oct-2025.)
(𝜑𝐶 ∈ TermCat)    &   𝐵 = (Base‘𝐶)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)    &   𝐻 = (Hom ‘𝐶)    &    1 = (Id‘𝐶)    &   (𝜑𝑍𝐵)       (𝜑 → (𝑋𝐻𝑌) = {( 1𝑍)})
 
21-Oct-2025diag2f1 49288 If 𝐵 is non-empty, the morphism part of a diagonal functor is injective functions from hom-sets into sets of natural transformations. (Contributed by Zhi Wang, 21-Oct-2025.)
𝐿 = (𝐶Δfunc𝐷)    &   𝐴 = (Base‘𝐶)    &   𝐵 = (Base‘𝐷)    &   𝐻 = (Hom ‘𝐶)    &   (𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)    &   (𝜑𝑋𝐴)    &   (𝜑𝑌𝐴)    &   (𝜑𝐵 ≠ ∅)    &   𝑁 = (𝐷 Nat 𝐶)       (𝜑 → (𝑋(2nd𝐿)𝑌):(𝑋𝐻𝑌)–1-1→(((1st𝐿)‘𝑋)𝑁((1st𝐿)‘𝑌)))
 
21-Oct-2025diag2f1lem 49287 Lemma for diag2f1 49288. The converse is trivial (fveq2 6860). (Contributed by Zhi Wang, 21-Oct-2025.)
𝐿 = (𝐶Δfunc𝐷)    &   𝐴 = (Base‘𝐶)    &   𝐵 = (Base‘𝐷)    &   𝐻 = (Hom ‘𝐶)    &   (𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)    &   (𝜑𝑋𝐴)    &   (𝜑𝑌𝐴)    &   (𝜑𝐵 ≠ ∅)    &   (𝜑𝐹 ∈ (𝑋𝐻𝑌))    &   (𝜑𝐺 ∈ (𝑋𝐻𝑌))       (𝜑 → (((𝑋(2nd𝐿)𝑌)‘𝐹) = ((𝑋(2nd𝐿)𝑌)‘𝐺) → 𝐹 = 𝐺))
 
21-Oct-2025fnsnb 7141 A function whose domain is a singleton can be represented as a singleton of an ordered pair. (Contributed by Jonathan Ben-Naim, 3-Jun-2011.) Revised to add reverse implication. (Revised by NM, 29-Dec-2018.) (Proof shortened by Zhi Wang, 21-Oct-2025.)
𝐴 ∈ V       (𝐹 Fn {𝐴} ↔ 𝐹 = {⟨𝐴, (𝐹𝐴)⟩})
 
21-Oct-2025fnsnbg 7140 A function's domain is a singleton iff the function is a singleton. (Contributed by Steven Nguyen, 18-Aug-2023.) Relax condition for being in the universal class. (Revised by Zhi Wang, 21-Oct-2025.)
(𝐴𝑉 → (𝐹 Fn {𝐴} ↔ 𝐹 = {⟨𝐴, (𝐹𝐴)⟩}))
 
20-Oct-2025termcnex 49555 The class of all terminal categories is a proper class. Therefore both the class of all thin categories and the class of all categories are proper classes. Note that snnex 7736 is equivalent to sngl V ∉ V. (Contributed by Zhi Wang, 20-Oct-2025.)
TermCat ∉ V
 
20-Oct-2025basrestermcfo 49554 The base function restricted to the class of terminal categories maps the class of terminal categories onto the class of singletons. (Contributed by Zhi Wang, 20-Oct-2025.)
(Base ↾ TermCat):TermCat–onto→{𝑏 ∣ ∃𝑥 𝑏 = {𝑥}}
 
20-Oct-2025discsnterm 49553 A discrete category (a category whose only morphisms are the identity morphisms) with a singlegon base is terminal. Corollary of example 3.3(4)(c) of [Adamek] p. 24 and example 3.26(1) of [Adamek] p. 33. (Contributed by Zhi Wang, 20-Oct-2025.)
𝐾 = {⟨(Base‘ndx), 𝐵⟩, ⟨(le‘ndx), ( I ↾ 𝐵)⟩}    &   𝐶 = (ProsetToCat‘𝐾)       (∃𝑥 𝐵 = {𝑥} → 𝐶 ∈ TermCat)
 
20-Oct-2025discthin 49552 A discrete category (a category whose only morphisms are the identity morphisms) is thin. (Contributed by Zhi Wang, 20-Oct-2025.)
𝐾 = {⟨(Base‘ndx), 𝐵⟩, ⟨(le‘ndx), ( I ↾ 𝐵)⟩}    &   𝐶 = (ProsetToCat‘𝐾)       (𝐵𝑉𝐶 ∈ ThinCat)
 
20-Oct-2025discbas 49551 A discrete category (a category whose only morphisms are the identity morphisms) can be constructed for any base set. (Contributed by Zhi Wang, 20-Oct-2025.)
𝐾 = {⟨(Base‘ndx), 𝐵⟩, ⟨(le‘ndx), ( I ↾ 𝐵)⟩}    &   𝐶 = (ProsetToCat‘𝐾)       (𝐵𝑉𝐵 = (Base‘𝐶))
 
20-Oct-2025basrestermcfolem 49550 An element of the class of singlegons is a singlegon. The converse (discsntermlem 49549) also holds. This is trivial if 𝐵 is 𝑏 (abid 2712). (Contributed by Zhi Wang, 20-Oct-2025.)
(𝐵 ∈ {𝑏 ∣ ∃𝑥 𝑏 = {𝑥}} → ∃𝑥 𝐵 = {𝑥})
 
20-Oct-2025discsntermlem 49549 A singlegon is an element of the class of singlegons. The converse (basrestermcfolem 49550) also holds. This is trivial if 𝐵 is 𝑏 (abid 2712). (Contributed by Zhi Wang, 20-Oct-2025.)
(∃𝑥 𝐵 = {𝑥} → 𝐵 ∈ {𝑏 ∣ ∃𝑥 𝑏 = {𝑥}})
 
20-Oct-2025termcfuncval 49511 The value of a functor from a terminal category. (Contributed by Zhi Wang, 20-Oct-2025.)
𝐴 = (Base‘𝐶)    &   (𝜑𝐷 ∈ TermCat)    &   (𝜑𝐾 ∈ (𝐷 Func 𝐶))    &   𝐵 = (Base‘𝐷)    &   (𝜑𝑌𝐵)    &   𝑋 = ((1st𝐾)‘𝑌)    &    1 = (Id‘𝐶)    &   𝐼 = (Id‘𝐷)       (𝜑 → (𝑋𝐴𝐾 = ⟨{⟨𝑌, 𝑋⟩}, {⟨⟨𝑌, 𝑌⟩, {⟨(𝐼𝑌), ( 1𝑋)⟩}⟩}⟩))
 
20-Oct-2025dftermc3 49510 Alternate definition of TermCat. See also df-termc 49452, dftermc2 49499. (Contributed by Zhi Wang, 20-Oct-2025.)
TermCat = {𝑐 ∣ (Arrow‘𝑐) ≈ 1o}
 
20-Oct-2025arweutermc 49509 If a structure has a unique disjointified arrow, then the structure is a terminal category. (Contributed by Zhi Wang, 20-Oct-2025.)
(∃!𝑎 𝑎 ∈ (Arrow‘𝐶) → 𝐶 ∈ TermCat)
 
20-Oct-2025arweuthinc 49508 If a structure has a unique disjointified arrow, then the structure is a thin category. (Contributed by Zhi Wang, 20-Oct-2025.)
(∃!𝑎 𝑎 ∈ (Arrow‘𝐶) → 𝐶 ∈ ThinCat)
 
20-Oct-2025termcarweu 49507 There exists a unique disjointified arrow in a terminal category. (Contributed by Zhi Wang, 20-Oct-2025.)
(𝐶 ∈ TermCat → ∃!𝑎 𝑎 ∈ (Arrow‘𝐶))
 
20-Oct-2025euendfunc2 49506 If there exists a unique endofunctor (a functor from a category to itself) for a category, then it is either initial (empty) or terminal. (Contributed by Zhi Wang, 20-Oct-2025.)
((𝐶 Func 𝐶) ≈ 1o → ((Base‘𝐶) = ∅ ∨ 𝐶 ∈ TermCat))
 
20-Oct-2025euendfunc 49505 If there exists a unique endofunctor (a functor from a category to itself) for a non-empty category, then the category is terminal. This partially explains why two categories are sufficient in termc2 49497. (Contributed by Zhi Wang, 20-Oct-2025.)
(𝜑 → ∃!𝑓 𝑓 ∈ (𝐶 Func 𝐶))    &   𝐵 = (Base‘𝐶)    &   (𝜑𝐵 ≠ ∅)       (𝜑𝐶 ∈ TermCat)
 
20-Oct-2025termc2 49497 If there exists a unique functor from both the category itself and the trivial category, then the category is terminal. Note that the converse also holds, so that it is a biconditional. See the proof of termc 49498 for hints. See also eufunc 49501 and euendfunc2 49506 for some insights on why two categories are sufficient. (Contributed by Zhi Wang, 18-Oct-2025.) (Proof shortened by Zhi Wang, 20-Oct-2025.)
(∀𝑑 ∈ ({𝐶, (SetCat‘1o)} ∩ Cat)∃!𝑓 𝑓 ∈ (𝑑 Func 𝐶) → 𝐶 ∈ TermCat)
 
20-Oct-2025termchom 49467 The hom-set of a terminal category is a singleton of the identity morphism. (Contributed by Zhi Wang, 20-Oct-2025.)
(𝜑𝐶 ∈ TermCat)    &   𝐵 = (Base‘𝐶)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)    &   𝐻 = (Hom ‘𝐶)    &    1 = (Id‘𝐶)       (𝜑 → (𝑋𝐻𝑌) = {( 1𝑋)})
 
20-Oct-2025termcbas2 49461 The base of a terminal category is given by its object. (Contributed by Zhi Wang, 20-Oct-2025.)
(𝜑𝐶 ∈ TermCat)    &   𝐵 = (Base‘𝐶)    &   (𝜑𝑋𝐵)       (𝜑𝐵 = {𝑋})
 
20-Oct-2025thinchom 49406 A non-empty hom-set of a thin category is given by its element. (Contributed by Zhi Wang, 20-Oct-2025.)
(𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)    &   (𝜑𝐹 ∈ (𝑋𝐻𝑌))    &   𝐵 = (Base‘𝐶)    &   𝐻 = (Hom ‘𝐶)    &   (𝜑𝐶 ∈ ThinCat)       (𝜑 → (𝑋𝐻𝑌) = {𝐹})
 
20-Oct-2025precoffunc 49351 The pre-composition functor, expressed explicitly, is a functor. (Contributed by Zhi Wang, 11-Oct-2025.) (Proof shortened by Zhi Wang, 20-Oct-2025.)
𝑅 = (𝐷 FuncCat 𝐸)    &   𝐵 = (𝐷 Func 𝐸)    &   𝑁 = (𝐷 Nat 𝐸)    &   (𝜑𝐹(𝐶 Func 𝐷)𝐺)    &   (𝜑𝐸 ∈ Cat)    &   (𝜑𝐾 = (𝑔𝐵 ↦ (𝑔func𝐹, 𝐺⟩)))    &   (𝜑𝐿 = (𝑔𝐵, 𝐵 ↦ (𝑎 ∈ (𝑔𝑁) ↦ (𝑎𝐹))))    &   𝑆 = (𝐶 FuncCat 𝐸)       (𝜑𝐾(𝑅 Func 𝑆)𝐿)
 
20-Oct-2025precofval3 49350 Value of the pre-composition functor as a transposed curry of the functor composition bifunctor. (Contributed by Zhi Wang, 20-Oct-2025.)
𝑅 = (𝐷 FuncCat 𝐸)    &   𝐵 = (𝐷 Func 𝐸)    &   𝑁 = (𝐷 Nat 𝐸)    &   (𝜑𝐹(𝐶 Func 𝐷)𝐺)    &   (𝜑𝐸 ∈ Cat)    &   (𝜑𝐾 = (𝑔𝐵 ↦ (𝑔func𝐹, 𝐺⟩)))    &   (𝜑𝐿 = (𝑔𝐵, 𝐵 ↦ (𝑎 ∈ (𝑔𝑁) ↦ (𝑎𝐹))))    &   𝑄 = (𝐶 FuncCat 𝐷)    &   (𝜑 = (⟨𝑄, 𝑅⟩ curryF ((⟨𝐶, 𝐷⟩ ∘F 𝐸) ∘func (𝑄 swapF 𝑅))))    &   (𝜑𝑀 = ((1st )‘⟨𝐹, 𝐺⟩))       (𝜑 → ⟨𝐾, 𝐿⟩ = 𝑀)
 
20-Oct-2025prsnex 48959 The class of preordered sets is a proper class. (Contributed by Zhi Wang, 20-Oct-2025.)
Proset ∉ V
 
20-Oct-2025posnex 48958 The class of posets is a proper class. (Contributed by Zhi Wang, 20-Oct-2025.)
Poset ∉ V
 
20-Oct-2025basresprsfo 48957 The base function restricted to the class of preordered sets maps the class of preordered sets onto the universal class. (Contributed by Zhi Wang, 20-Oct-2025.)
(Base ↾ Proset ): Proset –onto→V
 
20-Oct-2025basresposfo 48956 The base function restricted to the class of posets maps the class of posets onto the universal class. (Contributed by Zhi Wang, 20-Oct-2025.)
(Base ↾ Poset):Poset–onto→V
 
20-Oct-2025exbasprs 48955 There exists a preordered set for any base set. (Contributed by Zhi Wang, 20-Oct-2025.)
(𝐵𝑉 → ∃𝑘 ∈ Proset 𝐵 = (Base‘𝑘))
 
20-Oct-2025exbaspos 48954 There exists a poset for any base set. (Contributed by Zhi Wang, 20-Oct-2025.)
(𝐵𝑉 → ∃𝑘 ∈ Poset 𝐵 = (Base‘𝑘))
 
20-Oct-2025resipos 48953 A set equipped with an order where no distinct elements are comparable is a poset. (Contributed by Zhi Wang, 20-Oct-2025.)
𝐾 = {⟨(Base‘ndx), 𝐵⟩, ⟨(le‘ndx), ( I ↾ 𝐵)⟩}       (𝐵𝑉𝐾 ∈ Poset)
 
20-Oct-2025resiposbas 48952 Construct a poset (resipos 48953) for any base set. (Contributed by Zhi Wang, 20-Oct-2025.)
𝐾 = {⟨(Base‘ndx), 𝐵⟩, ⟨(le‘ndx), ( I ↾ 𝐵)⟩}       (𝐵𝑉𝐵 = (Base‘𝐾))
 
20-Oct-2025slotresfo 48877 The condition of a structure component extractor restricted to a class being a surjection. This combined with fonex 48845 can be used to prove a class being proper. (Contributed by Zhi Wang, 20-Oct-2025.)
𝐸 Fn V    &   (𝑘𝐴 → (𝐸𝑘) ∈ 𝑉)    &   (𝑏𝑉𝐾𝐴)    &   (𝑏𝑉𝑏 = (𝐸𝐾))       (𝐸𝐴):𝐴onto𝑉
 
20-Oct-2025fonex 48845 The domain of a surjection is a proper class if the range is a proper class as well. Can be used to prove that if a structure component extractor restricted to a class maps onto a proper class, then the class is a proper class as well. (Contributed by Zhi Wang, 20-Oct-2025.)
𝐵 ∉ V    &   𝐹:𝐴onto𝐵       𝐴 ∉ V
 
19-Oct-2025idfudiag1 49504 If the identity functor of a category is the same as a constant functor to the category, then the category is terminal. (Contributed by Zhi Wang, 19-Oct-2025.)
𝐼 = (idfunc𝐶)    &   𝐿 = (𝐶Δfunc𝐶)    &   (𝜑𝐶 ∈ Cat)    &   𝐵 = (Base‘𝐶)    &   (𝜑𝑋𝐵)    &   𝐾 = ((1st𝐿)‘𝑋)    &   (𝜑𝐼 = 𝐾)       (𝜑𝐶 ∈ TermCat)
 
19-Oct-2025idfudiag1bas 49503 If the identity functor of a category is the same as a constant functor to the category, then the base is a singleton. (Contributed by Zhi Wang, 19-Oct-2025.)
𝐼 = (idfunc𝐶)    &   𝐿 = (𝐶Δfunc𝐶)    &   (𝜑𝐶 ∈ Cat)    &   𝐵 = (Base‘𝐶)    &   (𝜑𝑋𝐵)    &   𝐾 = ((1st𝐿)‘𝑋)    &   (𝜑𝐼 = 𝐾)       (𝜑𝐵 = {𝑋})
 
19-Oct-2025idfudiag1lem 49502 Lemma for idfudiag1bas 49503 and idfudiag1 49504. (Contributed by Zhi Wang, 19-Oct-2025.)
(𝜑 → ( I ↾ 𝐴) = (𝐴 × {𝐵}))    &   (𝜑𝐴 ≠ ∅)       (𝜑𝐴 = {𝐵})
 
19-Oct-2025eufunc 49501 If there exists a unique functor from a non-empty category, then the base of the target category is a singleton. (Contributed by Zhi Wang, 19-Oct-2025.)
(𝜑 → ∃!𝑓 𝑓 ∈ (𝐶 Func 𝐷))    &   𝐴 = (Base‘𝐶)    &   (𝜑𝐴 ≠ ∅)    &   𝐵 = (Base‘𝐷)       (𝜑 → ∃!𝑥 𝑥𝐵)
 
19-Oct-2025eufunclem 49500 If there exists a unique functor from a non-empty category, then the base of the target category is at most a singleton. (Contributed by Zhi Wang, 19-Oct-2025.)
(𝜑 → ∃!𝑓 𝑓 ∈ (𝐶 Func 𝐷))    &   𝐴 = (Base‘𝐶)    &   (𝜑𝐴 ≠ ∅)    &   𝐵 = (Base‘𝐷)       (𝜑𝐵 ≼ 1o)
 
19-Oct-2025diag1f1 49286 The object part of the diagonal functor is 1-1 if 𝐵 is non-empty. (Contributed by Zhi Wang, 19-Oct-2025.)
𝐿 = (𝐶Δfunc𝐷)    &   (𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)    &   𝐴 = (Base‘𝐶)    &   𝐵 = (Base‘𝐷)    &   (𝜑𝐵 ≠ ∅)       (𝜑 → (1st𝐿):𝐴1-1→(𝐷 Func 𝐶))
 
19-Oct-2025diag1f1lem 49285 The object part of the diagonal functor is 1-1 if 𝐵 is non-empty. Note that (𝜑 → (𝑀 = 𝑁𝑋 = 𝑌)) also holds because of diag1f1 49286 and f1fveq 7239. (Contributed by Zhi Wang, 19-Oct-2025.)
𝐿 = (𝐶Δfunc𝐷)    &   (𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)    &   𝐴 = (Base‘𝐶)    &   𝐵 = (Base‘𝐷)    &   (𝜑𝐵 ≠ ∅)    &   (𝜑𝑋𝐴)    &   (𝜑𝑌𝐴)    &   𝑀 = ((1st𝐿)‘𝑋)    &   𝑁 = ((1st𝐿)‘𝑌)       (𝜑 → (𝑀 = 𝑁𝑋 = 𝑌))
 
19-Oct-2025diag1a 49284 The constant functor of 𝑋. (Contributed by Zhi Wang, 19-Oct-2025.)
𝐿 = (𝐶Δfunc𝐷)    &   (𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)    &   𝐴 = (Base‘𝐶)    &   (𝜑𝑋𝐴)    &   𝐾 = ((1st𝐿)‘𝑋)    &   𝐵 = (Base‘𝐷)    &   𝐽 = (Hom ‘𝐷)    &    1 = (Id‘𝐶)       (𝜑𝐾 = ⟨(𝐵 × {𝑋}), (𝑦𝐵, 𝑧𝐵 ↦ ((𝑦𝐽𝑧) × {( 1𝑋)}))⟩)
 
19-Oct-2025func0g2 49069 The source category of a functor to the empty category must be empty as well. (Contributed by Zhi Wang, 19-Oct-2025.)
𝐴 = (Base‘𝐶)    &   𝐵 = (Base‘𝐷)    &   (𝜑𝐵 = ∅)    &   (𝜑𝐹 ∈ (𝐶 Func 𝐷))       (𝜑𝐴 = ∅)
 
19-Oct-2025func0g 49068 The source category of a functor to the empty category must be empty as well. (Contributed by Zhi Wang, 19-Oct-2025.)
𝐴 = (Base‘𝐶)    &   𝐵 = (Base‘𝐷)    &   (𝜑𝐵 = ∅)    &   (𝜑𝐹(𝐶 Func 𝐷)𝐺)       (𝜑𝐴 = ∅)
 
19-Oct-2025func1st2nd 49055 Rewrite the functor predicate with separated parts. (Contributed by Zhi Wang, 19-Oct-2025.)
(𝜑𝐹 ∈ (𝐶 Func 𝐷))       (𝜑 → (1st𝐹)(𝐶 Func 𝐷)(2nd𝐹))
 
19-Oct-2025wfac8prim 44985 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 44974. Part of Corollary II.2.12 of [Kunen2] p. 114. (Contributed by Eric Schmidt, 19-Oct-2025.)
𝑊 = (𝑅1 “ On)       𝑥𝑊 ((∀𝑧𝑊 (𝑧𝑥 → ∃𝑤𝑊 𝑤𝑧) ∧ ∀𝑧𝑊𝑤𝑊 ((𝑧𝑥𝑤𝑥) → (¬ 𝑧 = 𝑤 → ∀𝑦𝑊 (𝑦𝑧 → ¬ 𝑦𝑤)))) → ∃𝑦𝑊𝑧𝑊 (𝑧𝑥 → ∃𝑤𝑊𝑣𝑊 ((𝑣𝑧𝑣𝑦) ↔ 𝑣 = 𝑤)))
 
19-Oct-2025wfaxinf2 44984 The class of well-founded sets models the Axiom of Infinity ax-inf2 9600. Part of Corollary II.2.12 of [Kunen2] p. 114. (Contributed by Eric Schmidt, 19-Oct-2025.)
𝑊 = (𝑅1 “ On)       𝑥𝑊 (∃𝑦𝑊 (𝑦𝑥 ∧ ∀𝑧𝑊 ¬ 𝑧𝑦) ∧ ∀𝑦𝑊 (𝑦𝑥 → ∃𝑧𝑊 (𝑧𝑥 ∧ ∀𝑤𝑊 (𝑤𝑧 ↔ (𝑤𝑦𝑤 = 𝑦)))))
 
19-Oct-2025wfaxreg 44983 The class of well-founded sets models the Axiom of Regularity ax-reg 9551. Part of Corollary II.2.5 of [Kunen2] p. 112. (Contributed by Eric Schmidt, 19-Oct-2025.)
𝑊 = (𝑅1 “ On)       𝑥𝑊 (∃𝑦𝑊 𝑦𝑥 → ∃𝑦𝑊 (𝑦𝑥 ∧ ∀𝑧𝑊 (𝑧𝑦 → ¬ 𝑧𝑥)))
 
19-Oct-2025wfaxun 44982 The class of well-founded sets models the Axiom of Union ax-un 7713. Part of Corollary II.2.5 of [Kunen2] p. 112. (Contributed by Eric Schmidt, 19-Oct-2025.)
𝑊 = (𝑅1 “ On)       𝑥𝑊𝑦𝑊𝑧𝑊 (∃𝑤𝑊 (𝑧𝑤𝑤𝑥) → 𝑧𝑦)
 
19-Oct-2025wfaxpow 44980 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 44979 The class of well-founded sets models the Null Set Axiom ax-nul 5263. (Contributed by Eric Schmidt, 19-Oct-2025.)
𝑊 = (𝑅1 “ On)       𝑥𝑊𝑦𝑊 ¬ 𝑦𝑥
 
19-Oct-2025modelac8prim 44975 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 44974.

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 44974 ac8 10451 expanded into primitives. (Contributed by Eric Schmidt, 19-Oct-2025.)
((∀𝑧(𝑧𝑥 → ∃𝑤 𝑤𝑧) ∧ ∀𝑧𝑤((𝑧𝑥𝑤𝑥) → (¬ 𝑧 = 𝑤 → ∀𝑦(𝑦𝑧 → ¬ 𝑦𝑤)))) → ∃𝑦𝑧(𝑧𝑥 → ∃𝑤𝑣((𝑣𝑧𝑣𝑦) ↔ 𝑣 = 𝑤)))
 
19-Oct-2025dfac5prim 44973 dfac5 10088 expanded into primitives. (Contributed by Eric Schmidt, 19-Oct-2025.)
(CHOICE ↔ ∀𝑥((∀𝑧(𝑧𝑥 → ∃𝑤 𝑤𝑧) ∧ ∀𝑧𝑤((𝑧𝑥𝑤𝑥) → (¬ 𝑧 = 𝑤 → ∀𝑦(𝑦𝑧 → ¬ 𝑦𝑤)))) → ∃𝑦𝑧(𝑧𝑥 → ∃𝑤𝑣((𝑣𝑧𝑣𝑦) ↔ 𝑣 = 𝑤))))
 
19-Oct-2025omelaxinf2 44972 A transitive class that contains ω models the Axiom of Infinity ax-inf2 9600. 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 9597. (Contributed by Eric Schmidt, 19-Oct-2025.)

((Tr 𝑀 ∧ ω ∈ 𝑀) → ∃𝑥𝑀 (∃𝑦𝑀 (𝑦𝑥 ∧ ∀𝑧𝑀 ¬ 𝑧𝑦) ∧ ∀𝑦𝑀 (𝑦𝑥 → ∃𝑧𝑀 (𝑧𝑥 ∧ ∀𝑤𝑀 (𝑤𝑧 ↔ (𝑤𝑦𝑤 = 𝑦))))))
 
19-Oct-2025omssaxinf2 44971 A class that contains all ordinals up to and including ω models the Axiom of Infinity ax-inf2 9600. The antecedent of this theorem is not enough to guarantee that the class models the alternate axiom ax-inf 9597. (Contributed by Eric Schmidt, 19-Oct-2025.)
((ω ⊆ 𝑀 ∧ ω ∈ 𝑀) → ∃𝑥𝑀 (∃𝑦𝑀 (𝑦𝑥 ∧ ∀𝑧𝑀 ¬ 𝑧𝑦) ∧ ∀𝑦𝑀 (𝑦𝑥 → ∃𝑧𝑀 (𝑧𝑥 ∧ ∀𝑤𝑀 (𝑤𝑧 ↔ (𝑤𝑦𝑤 = 𝑦))))))
 
19-Oct-2025sswfaxreg 44970 A subclass of the class of well-founded sets models the Axiom of Regularity ax-reg 9551. Lemma II.2.4(2) of [Kunen2] p. 111. (Contributed by Eric Schmidt, 19-Oct-2025.)
(𝑀 (𝑅1 “ On) → ∀𝑥𝑀 (∃𝑦𝑀 𝑦𝑥 → ∃𝑦𝑀 (𝑦𝑥 ∧ ∀𝑧𝑀 (𝑧𝑦 → ¬ 𝑧𝑥))))
 
19-Oct-2025pwclaxpow 44967 Suppose 𝑀 is a transitive class that is closed under power sets intersected with 𝑀. Then, 𝑀 models the Axiom of Power Sets ax-pow 5322. One direction of Lemma II.2.8 of [Kunen2] p. 113. (Contributed by Eric Schmidt, 19-Oct-2025.)
((Tr 𝑀 ∧ ∀𝑥𝑀 (𝒫 𝑥𝑀) ∈ 𝑀) → ∀𝑥𝑀𝑦𝑀𝑧𝑀 (∀𝑤𝑀 (𝑤𝑧𝑤𝑥) → 𝑧𝑦))
 
19-Oct-20250elaxnul 44966 A class that contains the empty set models the Null Set Axiom ax-nul 5263. (Contributed by Eric Schmidt, 19-Oct-2025.)
(∅ ∈ 𝑀 → ∃𝑥𝑀𝑦𝑀 ¬ 𝑦𝑥)
 
19-Oct-2025n0abso 44959 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 44958 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 44957 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 44956 Formula-building lemma for proving absoluteness results. (Contributed by Eric Schmidt, 19-Oct-2025.)
(𝜑 → Tr 𝑀)    &   (𝜑 → (𝜓𝜒))       ((𝜑𝐴𝑀) → (∃𝑥𝐴 𝜓 ↔ ∃𝑥𝑀 (𝑥𝐴𝜒)))
 
19-Oct-2025ralabsobidv 44955 Formula-building lemma for proving absoluteness results. (Contributed by Eric Schmidt, 19-Oct-2025.)
(𝜑 → Tr 𝑀)    &   (𝜑 → (𝜓𝜒))       ((𝜑𝐴𝑀) → (∀𝑥𝐴 𝜓 ↔ ∀𝑥𝑀 (𝑥𝐴𝜒)))
 
19-Oct-2025rexabsod 44954 Deduction form of rexabso 44952. (Contributed by Eric Schmidt, 19-Oct-2025.)
(𝜑 → Tr 𝑀)       ((𝜑𝐴𝑀) → (∃𝑥𝐴 𝜓 ↔ ∃𝑥𝑀 (𝑥𝐴𝜓)))
 
19-Oct-2025ralabsod 44953 Deduction form of ralabso 44951. (Contributed by Eric Schmidt, 19-Oct-2025.)
(𝜑 → Tr 𝑀)       ((𝜑𝐴𝑀) → (∀𝑥𝐴 𝜓 ↔ ∀𝑥𝑀 (𝑥𝐴𝜓)))
 
19-Oct-2025rexabso 44952 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 44951 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 44921 Nonempty existential quantification of a theorem is true. (Contributed by Eric Schmidt, 19-Oct-2025.)
𝜑       (∃𝑥𝐴 𝜑𝐴 ≠ ∅)
 
19-Oct-2025constrextdg2 33745 Any step (𝐶𝑁) of the construction of constructible numbers is contained in the last field of a tower of quadratic field extensions starting with . See Theorem 7.11 of [Stewart] p. 97. (Contributed by Thierry Arnoux, 19-Oct-2025.)
𝐶 = rec((𝑠 ∈ V ↦ {𝑥 ∈ ℂ ∣ (∃𝑎𝑠𝑏𝑠𝑐𝑠𝑑𝑠𝑡 ∈ ℝ ∃𝑟 ∈ ℝ (𝑥 = (𝑎 + (𝑡 · (𝑏𝑎))) ∧ 𝑥 = (𝑐 + (𝑟 · (𝑑𝑐))) ∧ (ℑ‘((∗‘(𝑏𝑎)) · (𝑑𝑐))) ≠ 0) ∨ ∃𝑎𝑠𝑏𝑠𝑐𝑠𝑒𝑠𝑓𝑠𝑡 ∈ ℝ (𝑥 = (𝑎 + (𝑡 · (𝑏𝑎))) ∧ (abs‘(𝑥𝑐)) = (abs‘(𝑒𝑓))) ∨ ∃𝑎𝑠𝑏𝑠𝑐𝑠𝑑𝑠𝑒𝑠𝑓𝑠 (𝑎𝑑 ∧ (abs‘(𝑥𝑎)) = (abs‘(𝑏𝑐)) ∧ (abs‘(𝑥𝑑)) = (abs‘(𝑒𝑓))))}), {0, 1})    &   𝐸 = (ℂflds 𝑒)    &   𝐹 = (ℂflds 𝑓)    &    < = {⟨𝑓, 𝑒⟩ ∣ (𝐸/FldExt𝐹 ∧ (𝐸[:]𝐹) = 2)}    &   (𝜑𝑁 ∈ ω)       (𝜑 → ∃𝑣 ∈ ( < Chain(SubDRing‘ℂfld))((𝑣‘0) = ℚ ∧ (𝐶𝑁) ⊆ (lastS‘𝑣)))
 
19-Oct-2025constrextdg2lem 33744 Lemma for constrextdg2 33745 (Contributed by Thierry Arnoux, 19-Oct-2025.)
𝐶 = rec((𝑠 ∈ V ↦ {𝑥 ∈ ℂ ∣ (∃𝑎𝑠𝑏𝑠𝑐𝑠𝑑𝑠𝑡 ∈ ℝ ∃𝑟 ∈ ℝ (𝑥 = (𝑎 + (𝑡 · (𝑏𝑎))) ∧ 𝑥 = (𝑐 + (𝑟 · (𝑑𝑐))) ∧ (ℑ‘((∗‘(𝑏𝑎)) · (𝑑𝑐))) ≠ 0) ∨ ∃𝑎𝑠𝑏𝑠𝑐𝑠𝑒𝑠𝑓𝑠𝑡 ∈ ℝ (𝑥 = (𝑎 + (𝑡 · (𝑏𝑎))) ∧ (abs‘(𝑥𝑐)) = (abs‘(𝑒𝑓))) ∨ ∃𝑎𝑠𝑏𝑠𝑐𝑠𝑑𝑠𝑒𝑠𝑓𝑠 (𝑎𝑑 ∧ (abs‘(𝑥𝑎)) = (abs‘(𝑏𝑐)) ∧ (abs‘(𝑥𝑑)) = (abs‘(𝑒𝑓))))}), {0, 1})    &   𝐸 = (ℂflds 𝑒)    &   𝐹 = (ℂflds 𝑓)    &    < = {⟨𝑓, 𝑒⟩ ∣ (𝐸/FldExt𝐹 ∧ (𝐸[:]𝐹) = 2)}    &   (𝜑𝑁 ∈ ω)    &   (𝜑𝑅 ∈ ( < Chain(SubDRing‘ℂfld)))    &   (𝜑 → (𝑅‘0) = ℚ)    &   (𝜑 → (𝐶𝑁) ⊆ (lastS‘𝑅))       (𝜑 → ∃𝑣 ∈ ( < Chain(SubDRing‘ℂfld))((𝑣‘0) = ℚ ∧ (𝐶‘suc 𝑁) ⊆ (lastS‘𝑣)))
 
19-Oct-2025isconstr 33732 Property of being a constructible number. (Contributed by Thierry Arnoux, 19-Oct-2025.)
𝐶 = rec((𝑠 ∈ V ↦ {𝑥 ∈ ℂ ∣ (∃𝑎𝑠𝑏𝑠𝑐𝑠𝑑𝑠𝑡 ∈ ℝ ∃𝑟 ∈ ℝ (𝑥 = (𝑎 + (𝑡 · (𝑏𝑎))) ∧ 𝑥 = (𝑐 + (𝑟 · (𝑑𝑐))) ∧ (ℑ‘((∗‘(𝑏𝑎)) · (𝑑𝑐))) ≠ 0) ∨ ∃𝑎𝑠𝑏𝑠𝑐𝑠𝑒𝑠𝑓𝑠𝑡 ∈ ℝ (𝑥 = (𝑎 + (𝑡 · (𝑏𝑎))) ∧ (abs‘(𝑥𝑐)) = (abs‘(𝑒𝑓))) ∨ ∃𝑎𝑠𝑏𝑠𝑐𝑠𝑑𝑠𝑒𝑠𝑓𝑠 (𝑎𝑑 ∧ (abs‘(𝑥𝑎)) = (abs‘(𝑏𝑐)) ∧ (abs‘(𝑥𝑑)) = (abs‘(𝑒𝑓))))}), {0, 1})       (𝐴 ∈ Constr ↔ ∃𝑚 ∈ ω 𝐴 ∈ (𝐶𝑚))
 
19-Oct-2025fldext2chn 33724 In a non-empty chain 𝑇 of quadratic field extensions, the degree of the final extension is always a power of two. (Contributed by Thierry Arnoux, 19-Oct-2025.)
𝐸 = (𝑊s 𝑒)    &   𝐹 = (𝑊s 𝑓)    &    < = {⟨𝑓, 𝑒⟩ ∣ (𝐸/FldExt𝐹 ∧ (𝐸[:]𝐹) = 2)}    &   (𝜑𝑇 ∈ ( < Chain(SubDRing‘𝑊)))    &   (𝜑𝑊 ∈ Field)    &   (𝜑 → (𝑊s (𝑇‘0)) = 𝑄)    &   (𝜑 → (𝑊s (lastS‘𝑇)) = 𝐿)    &   (𝜑 → 0 < (♯‘𝑇))       (𝜑 → (𝐿/FldExt𝑄 ∧ ∃𝑛 ∈ ℕ0 (𝐿[:]𝑄) = (2↑𝑛)))
 
19-Oct-2025fldext2rspun 33683 Given two field extensions 𝐼 / 𝐾 and 𝐽 / 𝐾, 𝐼 / 𝐾 being a quadratic extension, and the degree of 𝐽 / 𝐾 being a power of 2, the degree of the extension 𝐸 / 𝐾 is a power of 2 , 𝐸 being the composite field 𝐼𝐽. (Contributed by Thierry Arnoux, 19-Oct-2025.)
𝐾 = (𝐿s 𝐹)    &   𝐼 = (𝐿s 𝐺)    &   𝐽 = (𝐿s 𝐻)    &   (𝜑𝐿 ∈ Field)    &   (𝜑𝐹 ∈ (SubDRing‘𝐼))    &   (𝜑𝐹 ∈ (SubDRing‘𝐽))    &   (𝜑𝐺 ∈ (SubDRing‘𝐿))    &   (𝜑𝐻 ∈ (SubDRing‘𝐿))    &   (𝜑𝑁 ∈ ℕ0)    &   (𝜑 → (𝐼[:]𝐾) = 2)    &   (𝜑 → (𝐽[:]𝐾) = (2↑𝑁))    &   𝐸 = (𝐿s (𝐿 fldGen (𝐺𝐻)))       (𝜑 → ∃𝑛 ∈ ℕ0 (𝐸[:]𝐾) = (2↑𝑛))
 
19-Oct-2025fldextrspundgdvds 33682 Given two finite extensions 𝐼 / 𝐾 and 𝐽 / 𝐾 of the same field 𝐾, the degree of the extension 𝐼 / 𝐾 divides the degree of the extension 𝐸 / 𝐾, 𝐸 being the composite field 𝐼𝐽. (Contributed by Thierry Arnoux, 19-Oct-2025.)
𝐾 = (𝐿s 𝐹)    &   𝐼 = (𝐿s 𝐺)    &   𝐽 = (𝐿s 𝐻)    &   (𝜑𝐿 ∈ Field)    &   (𝜑𝐹 ∈ (SubDRing‘𝐼))    &   (𝜑𝐹 ∈ (SubDRing‘𝐽))    &   (𝜑𝐺 ∈ (SubDRing‘𝐿))    &   (𝜑𝐻 ∈ (SubDRing‘𝐿))    &   (𝜑 → (𝐽[:]𝐾) ∈ ℕ0)    &   𝐸 = (𝐿s (𝐿 fldGen (𝐺𝐻)))    &   (𝜑 → (𝐼[:]𝐾) ∈ ℕ)       (𝜑 → (𝐼[:]𝐾) ∥ (𝐸[:]𝐾))
 
19-Oct-2025fldextrspundgdvdslem 33681 Lemma for fldextrspundgdvds 33682. (Contributed by Thierry Arnoux, 19-Oct-2025.)
𝐾 = (𝐿s 𝐹)    &   𝐼 = (𝐿s 𝐺)    &   𝐽 = (𝐿s 𝐻)    &   (𝜑𝐿 ∈ Field)    &   (𝜑𝐹 ∈ (SubDRing‘𝐼))    &   (𝜑𝐹 ∈ (SubDRing‘𝐽))    &   (𝜑𝐺 ∈ (SubDRing‘𝐿))    &   (𝜑𝐻 ∈ (SubDRing‘𝐿))    &   (𝜑 → (𝐽[:]𝐾) ∈ ℕ0)    &   𝐸 = (𝐿s (𝐿 fldGen (𝐺𝐻)))    &   (𝜑 → (𝐼[:]𝐾) ∈ ℕ)       (𝜑 → (𝐸[:]𝐼) ∈ ℕ0)
 
19-Oct-2025fldextrspundglemul 33680 Given two field extensions 𝐼 / 𝐾 and 𝐽 / 𝐾 of the same field 𝐾, 𝐽 / 𝐾 being finite, and the composiste field 𝐸 = 𝐼𝐽, the degree of the extension of the composite field 𝐸 / 𝐾 is at most the product of the field extension degrees of 𝐼 / 𝐾 and 𝐽 / 𝐾. (Contributed by Thierry Arnoux, 19-Oct-2025.)
𝐾 = (𝐿s 𝐹)    &   𝐼 = (𝐿s 𝐺)    &   𝐽 = (𝐿s 𝐻)    &   (𝜑𝐿 ∈ Field)    &   (𝜑𝐹 ∈ (SubDRing‘𝐼))    &   (𝜑𝐹 ∈ (SubDRing‘𝐽))    &   (𝜑𝐺 ∈ (SubDRing‘𝐿))    &   (𝜑𝐻 ∈ (SubDRing‘𝐿))    &   (𝜑 → (𝐽[:]𝐾) ∈ ℕ0)    &   𝐸 = (𝐿s (𝐿 fldGen (𝐺𝐻)))       (𝜑 → (𝐸[:]𝐾) ≤ ((𝐼[:]𝐾) ·e (𝐽[:]𝐾)))
 
19-Oct-2025fldsdrgfldext2 33664 A sub-sub-division-ring of a field forms a field extension. (Contributed by Thierry Arnoux, 19-Oct-2025.)
𝐺 = (𝐹s 𝐴)    &   (𝜑𝐹 ∈ Field)    &   (𝜑𝐴 ∈ (SubDRing‘𝐹))    &   (𝜑𝐵 ∈ (SubDRing‘𝐺))    &   𝐻 = (𝐹s 𝐵)       (𝜑𝐺/FldExt𝐻)
 
19-Oct-2025fldsdrgfldext 33663 A sub-division-ring of a field forms a field extension. (Contributed by Thierry Arnoux, 19-Oct-2025.)
𝐺 = (𝐹s 𝐴)    &   (𝜑𝐹 ∈ Field)    &   (𝜑𝐴 ∈ (SubDRing‘𝐹))       (𝜑𝐹/FldExt𝐺)
 
19-Oct-2025qfld 33253 The field of rational numbers is a field. (Contributed by Thierry Arnoux, 19-Oct-2025.)
𝑄 = (ℂflds ℚ)       𝑄 ∈ Field
 
19-Oct-2025chnccats1 32947 Extend a chain with a single element. (Contributed by Thierry Arnoux, 19-Oct-2025.)
(𝜑𝑋𝐴)    &   (𝜑𝑇 ∈ ( < Chain𝐴))    &   (𝜑 → (𝑇 = ∅ ∨ (lastS‘𝑇) < 𝑋))       (𝜑 → (𝑇 ++ ⟨“𝑋”⟩) ∈ ( < Chain𝐴))
 
19-Oct-2025s1chn 32942 A singleton word is always a chain. (Contributed by Thierry Arnoux, 19-Oct-2025.)
(𝜑𝑋𝐴)       (𝜑 → ⟨“𝑋”⟩ ∈ ( < Chain𝐴))
 
19-Oct-20252exple2exp 32776 If a nonnegative integer 𝑋 is a multiple of a power of two, but less than the next power of two, it is itself a power of two. (Contributed by Thierry Arnoux, 19-Oct-2025.)
(𝜑𝑋 ∈ ℕ)    &   (𝜑𝐾 ∈ ℕ0)    &   (𝜑 → (2↑𝐾) ∥ 𝑋)    &   (𝜑𝑋 ≤ (2↑(𝐾 + 1)))       (𝜑 → ∃𝑛 ∈ ℕ0 𝑋 = (2↑𝑛))
 
19-Oct-2025elfzodif0 32723 If an integer 𝑀 is in an open interval starting at 0, except 0, then (𝑀 − 1) is also in that interval. (Contributed by Thierry Arnoux, 19-Oct-2025.)
(𝜑𝑀 ∈ ((0..^𝑁) ∖ {0}))    &   (𝜑𝑁 ∈ ℕ0)       (𝜑 → (𝑀 − 1) ∈ (0..^𝑁))
 
19-Oct-2025syl22anbrc 32390 Syllogism inference. (Contributed by Thierry Arnoux, 19-Oct-2025.)
(𝜑𝜓)    &   (𝜑𝜒)    &   (𝜑𝜃)    &   (𝜑𝜏)    &   (𝜂 ↔ ((𝜓𝜒) ∧ (𝜃𝜏)))       (𝜑𝜂)
 
18-Oct-2025dftermc2 49499 Alternate definition of TermCat. See also df-termc 49452 and dftermc3 49510. (Contributed by Zhi Wang, 18-Oct-2025.)
TermCat = {𝑐 ∣ ∀𝑑 ∈ Cat ∃!𝑓 𝑓 ∈ (𝑑 Func 𝑐)}
 
18-Oct-2025termc 49498 Alternate definition of TermCat. See also df-termc 49452. (Contributed by Zhi Wang, 18-Oct-2025.)
(𝐶 ∈ TermCat ↔ ∀𝑑 ∈ Cat ∃!𝑓 𝑓 ∈ (𝑑 Func 𝐶))
 
18-Oct-2025termcterm3 49494 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-2025setc1oterm 49470 The category (SetCat‘1o), i.e., the trivial category, is terminal. (Contributed by Zhi Wang, 18-Oct-2025.)
(SetCat‘1o) ∈ TermCat
 
18-Oct-2025setcsnterm 49469 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 49436 Two isomorphic categories are either both thin or neither. Note that "thincciso2.u" is redundant thanks to elbasfv 17191. (Contributed by Zhi Wang, 18-Oct-2025.)
𝐶 = (CatCat‘𝑈)    &   𝐵 = (Base‘𝐶)    &   (𝜑𝑈𝑉)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)    &   (𝜑𝑋( ≃𝑐𝐶)𝑌)       (𝜑 → (𝑋 ∈ ThinCat ↔ 𝑌 ∈ ThinCat))
 
18-Oct-2025thincciso3 49435 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 17191. (Contributed by Zhi Wang, 18-Oct-2025.)
𝐶 = (CatCat‘𝑈)    &   𝐵 = (Base‘𝐶)    &   (𝜑𝑈𝑉)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)    &   𝐼 = (Iso‘𝐶)    &   (𝜑𝐹 ∈ (𝑋𝐼𝑌))    &   (𝜑𝑋 ∈ ThinCat)       (𝜑𝑌 ∈ ThinCat)
 
18-Oct-2025thincciso2 49434 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 17191. (Contributed by Zhi Wang, 18-Oct-2025.)
𝐶 = (CatCat‘𝑈)    &   𝐵 = (Base‘𝐶)    &   (𝜑𝑈𝑉)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)    &   𝐼 = (Iso‘𝐶)    &   (𝜑𝐹 ∈ (𝑋𝐼𝑌))    &   (𝜑𝑌 ∈ ThinCat)       (𝜑𝑋 ∈ ThinCat)
 
17-Oct-2025termcterm 49492 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-2025fulltermc 49490 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 49489 There exists a unique functor to a terminal category. (Contributed by Zhi Wang, 17-Oct-2025.)
(𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ TermCat)       (𝜑 → ∃!𝑓 𝑓 ∈ (𝐶 Func 𝐷))
 
17-Oct-2025functermc2 49488 Functor to a terminal category. (Contributed by Zhi Wang, 17-Oct-2025.)
(𝜑𝐷 ∈ Cat)    &   (𝜑𝐸 ∈ TermCat)    &   𝐵 = (Base‘𝐷)    &   𝐶 = (Base‘𝐸)    &   𝐻 = (Hom ‘𝐷)    &   𝐽 = (Hom ‘𝐸)    &   𝐹 = (𝐵 × 𝐶)    &   𝐺 = (𝑥𝐵, 𝑦𝐵 ↦ ((𝑥𝐻𝑦) × ((𝐹𝑥)𝐽(𝐹𝑦))))       (𝜑 → (𝐷 Func 𝐸) = {⟨𝐹, 𝐺⟩})
 
17-Oct-2025functermc 49487 Functor to a terminal category. (Contributed by Zhi Wang, 17-Oct-2025.)
(𝜑𝐷 ∈ Cat)    &   (𝜑𝐸 ∈ TermCat)    &   𝐵 = (Base‘𝐷)    &   𝐶 = (Base‘𝐸)    &   𝐻 = (Hom ‘𝐷)    &   𝐽 = (Hom ‘𝐸)    &   𝐹 = (𝐵 × 𝐶)    &   𝐺 = (𝑥𝐵, 𝑦𝐵 ↦ ((𝑥𝐻𝑦) × ((𝐹𝑥)𝐽(𝐹𝑦))))       (𝜑 → (𝐾(𝐷 Func 𝐸)𝐿 ↔ (𝐾 = 𝐹𝐿 = 𝐺)))
 
17-Oct-2025functermclem 49486 Lemma for functermc 49487. (Contributed by Zhi Wang, 17-Oct-2025.)
((𝜑𝐾𝑅𝐿) → 𝐾 = 𝐹)    &   (𝜑 → (𝐹𝑅𝐿𝐿 = 𝐺))       (𝜑 → (𝐾𝑅𝐿 ↔ (𝐾 = 𝐹𝐿 = 𝐺)))
 
17-Oct-2025termchomn0 49463 All hom-sets of a terminal category are non-empty. (Contributed by Zhi Wang, 17-Oct-2025.)
(𝜑𝐶 ∈ TermCat)    &   𝐵 = (Base‘𝐶)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)    &   𝐻 = (Hom ‘𝐶)       (𝜑 → ¬ (𝑋𝐻𝑌) = ∅)
 
17-Oct-2025diag1 49283 The constant functor of 𝑋. Example 3.20(2) of [Adamek] p. 30. (Contributed by Zhi Wang, 17-Oct-2025.)
𝐿 = (𝐶Δfunc𝐷)    &   (𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)    &   𝐴 = (Base‘𝐶)    &   (𝜑𝑋𝐴)    &   𝐾 = ((1st𝐿)‘𝑋)    &   𝐵 = (Base‘𝐷)    &   𝐽 = (Hom ‘𝐷)    &    1 = (Id‘𝐶)       (𝜑𝐾 = ⟨(𝑦𝐵𝑋), (𝑦𝐵, 𝑧𝐵 ↦ (𝑓 ∈ (𝑦𝐽𝑧) ↦ ( 1𝑋)))⟩)
 
17-Oct-20250func 49066 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 49064 The functor from the empty category. Corollary of Definition 3.47 of [Adamek] p. 40, Definition 7.1 of [Adamek] p. 101, Example 3.3(4.c) of [Adamek] p. 24, and Example 7.2(3) of [Adamek] p. 101. (Contributed by Zhi Wang, 17-Oct-2025.)
(𝜑𝐶𝑉)    &   (𝜑 → ∅ = (Base‘𝐶))    &   (𝜑𝐷 ∈ Cat)       (𝜑 → (𝐶 Func 𝐷) = {⟨∅, ∅⟩})
 
17-Oct-20250funcg2 49063 The functor from the empty category. (Contributed by Zhi Wang, 17-Oct-2025.)
(𝜑𝐶𝑉)    &   (𝜑 → ∅ = (Base‘𝐶))    &   (𝜑𝐷 ∈ Cat)       (𝜑 → (𝐹(𝐶 Func 𝐷)𝐺 ↔ (𝐹 = ∅ ∧ 𝐺 = ∅)))
 
17-Oct-20250funcglem 49062 Lemma for 0funcg 49064. (Contributed by Zhi Wang, 17-Oct-2025.)
(𝜑 → (𝜓 ↔ (𝜒𝜃𝜏)))    &   (𝜑 → (𝜒𝜂))    &   (𝜑 → (𝜃𝜁))    &   (𝜑𝜏)       (𝜑 → (𝜓 ↔ (𝜂𝜁)))
 
16-Oct-2025oppcterm 49485 The opposite category of a terminal category is a terminal category. (Contributed by Zhi Wang, 16-Oct-2025.)
𝑂 = (oppCat‘𝐶)    &   (𝜑𝐶 ∈ TermCat)       (𝜑𝑂 ∈ TermCat)
 
16-Oct-2025oppctermco 49484 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 17679 and df-sets 17140. (Contributed by Zhi Wang, 16-Oct-2025.)
𝑂 = (oppCat‘𝐶)    &   (𝜑𝐶 ∈ TermCat)       (𝜑 → (compf𝐶) = (compf𝑂))
 
16-Oct-2025oppctermhom 49483 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 49482 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 49466 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 49465 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 49464 All morphisms of a terminal category are identical. (Contributed by Zhi Wang, 16-Oct-2025.)
(𝜑𝐶 ∈ TermCat)    &   𝐵 = (Base‘𝐶)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)    &   𝐻 = (Hom ‘𝐶)    &   (𝜑𝐹 ∈ (𝑋𝐻𝑌))    &   (𝜑𝑍𝐵)    &   (𝜑𝑊𝐵)    &   (𝜑𝐺 ∈ (𝑍𝐻𝑊))       (𝜑𝐹 = 𝐺)
 
16-Oct-2025termcbasmo 49462 Two objects in a terminal category are identical. (Contributed by Zhi Wang, 16-Oct-2025.)
(𝜑𝐶 ∈ TermCat)    &   𝐵 = (Base‘𝐶)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)       (𝜑𝑋 = 𝑌)
 
16-Oct-2025termcbas 49459 The base of a terminal category is a singleton. (Contributed by Zhi Wang, 16-Oct-2025.)
(𝜑𝐶 ∈ TermCat)    &   𝐵 = (Base‘𝐶)       (𝜑 → ∃𝑥 𝐵 = {𝑥})
 
16-Oct-2025termccd 49458 A terminal category is a category (deduction form). (Contributed by Zhi Wang, 16-Oct-2025.)
(𝜑𝐶 ∈ TermCat)       (𝜑𝐶 ∈ Cat)
 
16-Oct-2025termcthind 49457 A terminal category is a thin category (deduction form). (Contributed by Zhi Wang, 16-Oct-2025.)
(𝜑𝐶 ∈ TermCat)       (𝜑𝐶 ∈ ThinCat)
 
16-Oct-2025termcthin 49456 A terminal category is a thin category. (Contributed by Zhi Wang, 16-Oct-2025.)
(𝐶 ∈ TermCat → 𝐶 ∈ ThinCat)
 
16-Oct-2025istermc3 49455 The predicate "is a terminal category". A terminal category is a thin category whose base set is equinumerous to 1o. Consider en1b 8998, map1 9013, and euen1b 9001. (Contributed by Zhi Wang, 16-Oct-2025.)
𝐵 = (Base‘𝐶)       (𝐶 ∈ TermCat ↔ (𝐶 ∈ ThinCat ∧ 𝐵 ≈ 1o))
 
16-Oct-2025istermc2 49454 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 49453 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 49452 Definition of the proper class (termcnex 49555) 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 49465). These are exactly the thin categories with a singleton base set. Example 3.3(4.c) of [Adamek] p. 24.

As the name indicates, TermCat is the class of all terminal objects in the category of small categories (termcterm3 49494). TermCat is also the class of categories to which all categories have exactly one functor (dftermc2 49499). See also dftermc3 49510 where TermCat is defined as categories with exactly one disjointified arrow.

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

Followed directly from the definition, terminal categories are thin (termcthin 49456). The opposite category of a terminal category is "almost" itself (oppctermco 49484). Any category 𝐶 is isomorphic to the category of functors from a terminal category to the category 𝐶 (diagcic 49519).

Having defined the terminal category, we can then use it to define the universal property of initial (dfinito4 49480) and terminal objects (dftermo4 49481). The universal properties provide an alternate proof of initoeu1 17979, termoeu1 17986, initoeu2 17984, and termoeu2 49217. Since terminal categories are terminal objects, all terminal categories are mutually isomorphic (termcciso 49495).

The dual concept is the initial category, or the empty category (Example 7.2(3) of [Adamek] p. 101). See 0catg 17655, 0thincg 49437, func0g 49068, 0funcg 49064, and initc 49070.

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

TermCat = {𝑐 ∈ ThinCat ∣ ∃𝑥(Base‘𝑐) = {𝑥}}
 
16-Oct-2025functhincfun 49428 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 49421 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 49420 Alternate proof of oppcthinendc 49419. (Contributed by Zhi Wang, 16-Oct-2025.) (Proof modification is discouraged.) (New usage is discouraged.)
𝑂 = (oppCat‘𝐶)    &   (𝜑𝐶 ∈ ThinCat)    &   𝐵 = (Base‘𝐶)    &   𝐻 = (Hom ‘𝐶)    &   ((𝜑 ∧ (𝑥𝐵𝑦𝐵)) → (𝑥𝑦 → (𝑥𝐻𝑦) = ∅))       (𝜑 → (compf𝐶) = (compf𝑂))
 
16-Oct-2025oppcthinendc 49419 The opposite category of a thin category whose morphisms are all endomorphisms has the same base, hom-sets (oppcendc 48997) and composition operation as the original category. (Contributed by Zhi Wang, 16-Oct-2025.)
𝑂 = (oppCat‘𝐶)    &   (𝜑𝐶 ∈ ThinCat)    &   𝐵 = (Base‘𝐶)    &   𝐻 = (Hom ‘𝐶)    &   ((𝜑 ∧ (𝑥𝐵𝑦𝐵)) → (𝑥𝑦 → (𝑥𝐻𝑦) = ∅))       (𝜑 → (compf𝐶) = (compf𝑂))
 
16-Oct-2025oppcthinco 49418 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 49161 The domain of (𝐷 UP 𝐸) is a relation. (Contributed by Zhi Wang, 16-Oct-2025.)
Rel dom (𝐷 UP 𝐸)
 
16-Oct-2025oppcmndc 48998 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 48997 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 48996 Lemma for oppcmndc 48998. 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 48997 are in ¬ 𝑥 = 𝑦 form, then both proofs should be one step shorter. (Contributed by Zhi Wang, 16-Oct-2025.)
(𝜑𝐵 = {𝐴})       ((𝜑 ∧ (𝑋𝐵𝑌𝐵)) → (𝑋𝑌𝜓))
 
16-Oct-2025psdmvr 22062 The partial derivative of a variable is the Kronecker delta if(𝑋 = 𝑌, 1 , 0 ). (Contributed by SN, 16-Oct-2025.)
𝑆 = (𝐼 mPwSer 𝑅)    &    0 = (0g𝑆)    &    1 = (1r𝑆)    &   𝑉 = (𝐼 mVar 𝑅)    &   (𝜑𝐼𝑊)    &   (𝜑𝑅 ∈ Ring)    &   (𝜑𝑋𝐼)    &   (𝜑𝑌𝐼)       (𝜑 → (((𝐼 mPSDer 𝑅)‘𝑋)‘(𝑉𝑌)) = if(𝑋 = 𝑌, 1 , 0 ))
 
16-Oct-2025ringidcld 20181 The unity element of a ring belongs to the base set of the ring, deduction version. (Contributed by SN, 16-Oct-2025.)
𝐵 = (Base‘𝑅)    &    1 = (1r𝑅)    &   (𝜑𝑅 ∈ Ring)       (𝜑1𝐵)
 
16-Oct-2025caofidlcan 7693 Transfer a cancellation/identity law to the function operation. (Contributed by SN, 16-Oct-2025.)
(𝜑𝐴𝑉)    &   (𝜑𝐹:𝐴𝑆)    &   (𝜑𝐺:𝐴𝑆)    &   ((𝜑 ∧ (𝑥𝑆𝑦𝑆)) → ((𝑥𝑅𝑦) = 𝑦𝑥 = 0 ))       (𝜑 → ((𝐹f 𝑅𝐺) = 𝐺𝐹 = (𝐴 × { 0 })))
 
16-Oct-2025ifmpt2v 7493 Move a conditional inside and outside a function in maps-to notation. (Contributed by SN, 16-Oct-2025.)
(𝑥𝐴 ↦ if(𝜑, 𝐵, 𝐶)) = if(𝜑, (𝑥𝐴𝐵), (𝑥𝐴𝐶))
 
16-Oct-2025iftrueb 4503 When the branches are not equal, an "if" condition results in the first branch if and only if its condition is true. (Contributed by SN, 16-Oct-2025.)
(𝐴𝐵 → (if(𝜑, 𝐴, 𝐵) = 𝐴𝜑))
 
15-Oct-2025elxpcbasex2 49229 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 49227 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 49226 Alternate proof of reldmxpc 49225. (Contributed by Zhi Wang, 15-Oct-2025.) (Proof modification is discouraged.) (New usage is discouraged.)
Rel dom ×c
 
15-Oct-2025reldmxpc 49225 The binary product of categories is a proper operator, so it can be used with ovprc1 7428, elbasov 17192, strov2rcl 17193, and so on. See reldmxpcALT 49226 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 42193 Inference associated with exbii 1848. Weaker version of eximii 1837. (Contributed by SN, 14-Oct-2025.)
𝑥𝜑    &   (𝜑𝜓)       𝑥𝜓
 
14-Oct-2025jarrii 42188 Inference associated with jarri 107. A consequence of ax-mp 5 and ax-1 6. (Contributed by SN, 14-Oct-2025.)
𝜓    &   ((𝜑𝜓) → 𝜒)       𝜒
 
14-Oct-2025rexss 4024 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 4023 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 37484
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 2722 and df-clel 2804 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 3921 (𝐴𝐵) 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 2709 described above is a special case.

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

The above conditions apply only to substitution. The expression 𝐴 = {𝑥𝑥𝐴} (abid1 2865) 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 33679 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 33678 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 33677 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 33676 Lemma for fldextrspunfld 33677. 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 33675 Lemma for fldextrspunfld 33677. 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 33674 Lemma for fldextrspunlsp 33675: 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 33599 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 33598 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 33585 Condition for a subring algebra to be an integral domain. (Contributed by Thierry Arnoux, 13-Oct-2025.)
𝐴 = ((subringAlg ‘𝑅)‘𝑉)    &   𝐵 = (Base‘𝑅)    &   (𝜑𝑅 ∈ IDomn)    &   (𝜑𝑉𝐵)       (𝜑𝐴 ∈ IDomn)
 
13-Oct-2025idompropd 33234 If two structures have the same components (properties), one is a integral domain iff the other one is. See also domnpropd 33233. (Contributed by Thierry Arnoux, 13-Oct-2025.)
(𝜑𝐵 = (Base‘𝐾))    &   (𝜑𝐵 = (Base‘𝐿))    &   ((𝜑 ∧ (𝑥𝐵𝑦𝐵)) → (𝑥(+g𝐾)𝑦) = (𝑥(+g𝐿)𝑦))    &   ((𝜑 ∧ (𝑥𝐵𝑦𝐵)) → (𝑥(.r𝐾)𝑦) = (𝑥(.r𝐿)𝑦))       (𝜑 → (𝐾 ∈ IDomn ↔ 𝐿 ∈ IDomn))
 
13-Oct-2025domnpropd 33233 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 33206 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 33205 Lemma for elrgspnsubrun 33206, 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 33204 Lemma for elrgspnsubrun 33206, 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 32796 The support of the indicator function. (Contributed by Thierry Arnoux, 13-Oct-2025.)
((𝑂𝑉𝐴𝑂) → (((𝟭‘𝑂)‘𝐴) supp 0) = 𝐴)
 
13-Oct-2025hashpss 32740 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 32609 Deduction associated with elmapd 8815. Reverse direction of elmapdd 8816. (Contributed by Thierry Arnoux, 13-Oct-2025.)
(𝜑𝐴𝑉)    &   (𝜑𝐵𝑊)    &   (𝜑𝐹 ∈ (𝐵m 𝐴))       (𝜑𝐹:𝐴𝐵)
 
13-Oct-2025ac6mapd 32555 Axiom of choice equivalent, deduction form. (Contributed by Thierry Arnoux, 13-Oct-2025.)
(𝑦 = (𝑓𝑥) → (𝜓𝜒))    &   (𝜑𝐴𝑉)    &   (𝜑𝐵𝑊)    &   ((𝜑𝑥𝐴) → ∃𝑦𝐵 𝜓)       (𝜑 → ∃𝑓 ∈ (𝐵m 𝐴)∀𝑥𝐴 𝜒)
 
13-Oct-2025iunxpssiun1 32503 Provide an upper bound for the indexed union of cartesian products. (Contributed by Thierry Arnoux, 13-Oct-2025.)
((𝜑𝑥𝐴) → 𝐶𝐸)       (𝜑 𝑥𝐴 (𝐵 × 𝐶) ⊆ ( 𝑥𝐴 𝐵 × 𝐸))
 
13-Oct-2025reu6dv 32408 A condition which implies existential uniqueness. (Contributed by Thierry Arnoux, 13-Oct-2025.)
(𝜑𝐵𝐴)    &   ((𝜑𝑥𝐴) → (𝜓𝑥 = 𝐵))       (𝜑 → ∃!𝑥𝐴 𝜓)
 
13-Oct-2025elsnd 4609 There is at most one element in a singleton. (Contributed by Thierry Arnoux, 13-Oct-2025.)
(𝜑𝐴 ∈ {𝐵})       (𝜑𝐴 = 𝐵)
 
12-Oct-2025wl-cleq-2 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.

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 2013, 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-2025precofcl 49349 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 49348 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 49347 Alternate proof of precofval 49346. (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 49346 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 49345 Lemma for precofval 49346 to enable catlid 17650 or catrid 17651. (Contributed by Zhi Wang, 11-Oct-2025.)
𝐴 = (Base‘𝐶)    &   𝐵 = (Base‘𝐸)    &    1 = (Id‘𝐷)    &   𝐼 = (Id‘𝐸)    &   (𝜑𝐹(𝐶 Func 𝐷)𝐺)    &   (𝜑𝐾(𝐷 Func 𝐸)𝐿)    &   (𝜑𝑋𝐴)       (𝜑 → ((((𝐹𝑋)𝐿(𝐹𝑋))‘(( 1𝐹)‘𝑋)) = (𝐼‘(𝐾‘(𝐹𝑋))) ∧ (𝐾‘(𝐹𝑋)) ∈ 𝐵))
 
11-Oct-2025postcofcl 49344 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 49343 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 49342 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 49341 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 49340 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 49317 Alternate proof of fuco11b 49316. (Contributed by Zhi Wang, 11-Oct-2025.) (Proof modification is discouraged.) (New usage is discouraged.)
(𝜑 → (1st ‘(⟨𝐶, 𝐷⟩ ∘F 𝐸)) = 𝑂)    &   (𝜑𝐹 ∈ (𝐶 Func 𝐷))    &   (𝜑𝐺 ∈ (𝐷 Func 𝐸))       (𝜑 → (𝐺𝑂𝐹) = (𝐺func 𝐹))
 
11-Oct-2025fuco11b 49316 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 44944 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 44943 The rank function preserves . (Contributed by Eric Schmidt, 11-Oct-2025.)
rank RelPres E , E ( (𝑅1 “ On), On)
 
11-Oct-2025relpfr 44937 If the image of a set under a relation-preserving function is well-founded, so is the set. See isofr 7319 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 44936 Lemma for relpfr 44937. Proved without using the Axiom of Replacement. This is isofrlem 7317 with weaker hypotheses. (Contributed by Eric Schmidt, 11-Oct-2025.)
(𝜑𝐻 RelPres 𝑅, 𝑆(𝐴, 𝐵))    &   (𝜑 → (𝐻𝑥) ∈ V)       (𝜑 → (𝑆 Fr 𝐵𝑅 Fr 𝐴))
 
11-Oct-2025relpmin 44935 A preimage of a minimal element under a relation-preserving function is minimal. Essentially one half of isomin 7314. (Contributed by Eric Schmidt, 11-Oct-2025.)
((𝐻 RelPres 𝑅, 𝑆(𝐴, 𝐵) ∧ (𝐶𝐴𝐷𝐴)) → (((𝐻𝐶) ∩ (𝑆 “ {(𝐻𝐷)})) = ∅ → (𝐶 ∩ (𝑅 “ {𝐷})) = ∅))
 
11-Oct-2025relprel 44934 A relation-preserving function preserves the relation. (Contributed by Eric Schmidt, 11-Oct-2025.)
((𝐻 RelPres 𝑅, 𝑆(𝐴, 𝐵) ∧ (𝐶𝐴𝐷𝐴)) → (𝐶𝑅𝐷 → (𝐻𝐶)𝑆(𝐻𝐷)))
 
11-Oct-2025relpf 44933 A relation-preserving function is a function. (Contributed by Eric Schmidt, 11-Oct-2025.)
(𝐻 RelPres 𝑅, 𝑆(𝐴, 𝐵) → 𝐻:𝐴𝐵)
 
11-Oct-2025nfrelp 44932 Bound-variable hypothesis builder for a relation-preserving function. (Contributed by Eric Schmidt, 11-Oct-2025.)
𝑥𝐻    &   𝑥𝑅    &   𝑥𝑆    &   𝑥𝐴    &   𝑥𝐵       𝑥 𝐻 RelPres 𝑅, 𝑆(𝐴, 𝐵)
 
11-Oct-2025relpeq5 44931 Equality theorem for relation-preserving functions. (Contributed by Eric Schmidt, 11-Oct-2025.)
(𝐵 = 𝐶 → (𝐻 RelPres 𝑅, 𝑆(𝐴, 𝐵) ↔ 𝐻 RelPres 𝑅, 𝑆(𝐴, 𝐶)))
 
11-Oct-2025relpeq4 44930 Equality theorem for relation-preserving functions. (Contributed by Eric Schmidt, 11-Oct-2025.)
(𝐴 = 𝐶 → (𝐻 RelPres 𝑅, 𝑆(𝐴, 𝐵) ↔ 𝐻 RelPres 𝑅, 𝑆(𝐶, 𝐵)))
 
11-Oct-2025relpeq3 44929 Equality theorem for relation-preserving functions. (Contributed by Eric Schmidt, 11-Oct-2025.)
(𝑆 = 𝑇 → (𝐻 RelPres 𝑅, 𝑆(𝐴, 𝐵) ↔ 𝐻 RelPres 𝑅, 𝑇(𝐴, 𝐵)))
 
11-Oct-2025relpeq2 44928 Equality theorem for relation-preserving functions. (Contributed by Eric Schmidt, 11-Oct-2025.)
(𝑅 = 𝑇 → (𝐻 RelPres 𝑅, 𝑆(𝐴, 𝐵) ↔ 𝐻 RelPres 𝑇, 𝑆(𝐴, 𝐵)))
 
11-Oct-2025relpeq1 44927 Equality theorem for relation-preserving functions. (Contributed by Eric Schmidt, 11-Oct-2025.)
(𝐻 = 𝐺 → (𝐻 RelPres 𝑅, 𝑆(𝐴, 𝐵) ↔ 𝐺 RelPres 𝑅, 𝑆(𝐴, 𝐵)))
 
11-Oct-2025df-relp 44926 Define the relation-preserving predicate. This is a viable notion of "homomorphism" corresponding to df-isom 6522. (Contributed by Eric Schmidt, 11-Oct-2025.)
(𝐻 RelPres 𝑅, 𝑆(𝐴, 𝐵) ↔ (𝐻:𝐴𝐵 ∧ ∀𝑥𝐴𝑦𝐴 (𝑥𝑅𝑦 → (𝐻𝑥)𝑆(𝐻𝑦))))
 
11-Oct-2025wrelp 44925 Extend the definition of a wff to include the relation-preserving property. (Contributed by Eric Schmidt, 11-Oct-2025.)
wff 𝐻 RelPres 𝑅, 𝑆(𝐴, 𝐵)
 
10-Oct-2025fucofunca 49339 The functor composition bifunctor is a functor. See also fucofunc 49338. (Contributed by Zhi Wang, 10-Oct-2025.)
𝑇 = ((𝐷 FuncCat 𝐸) ×c (𝐶 FuncCat 𝐷))    &   𝑄 = (𝐶 FuncCat 𝐸)    &   (𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)    &   (𝜑𝐸 ∈ Cat)       (𝜑 → (⟨𝐶, 𝐷⟩ ∘F 𝐸) ∈ (𝑇 Func 𝑄))
 
10-Oct-2025tposcurf2cl 49281 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 49280 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 49279 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 49272 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 49282 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 49278 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 49277 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 49276 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 49275 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 49274 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 49273 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 49263 The swap functor is a functor. (Contributed by Zhi Wang, 9-Oct-2025.)
(𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)    &   𝑆 = (𝐶 ×c 𝐷)    &   𝑇 = (𝐷 ×c 𝐶)       (𝜑 → (𝐶 swapF 𝐷) ∈ (𝑆 Func 𝑇))
 
9-Oct-2025swapf2f1oa 49256 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 49240 Alternate definition of swapF (df-swapf 49239). (Contributed by Zhi Wang, 9-Oct-2025.)
swapF = (𝑐 ∈ V, 𝑑 ∈ V ↦ (𝑐 ×c 𝑑) / 𝑠(Base‘𝑠) / 𝑏(Hom ‘𝑠) / ⟨(tpos I ↾ 𝑏), (𝑢𝑏, 𝑣𝑏 ↦ (tpos I ↾ (𝑢𝑣)))⟩)
 
9-Oct-2025ovmpt4d 48843 Deduction version of ovmpt4g 7538. (This is the operation analogue of fvmpt2d 6983.) (Contributed by Zhi Wang, 9-Oct-2025.)
(𝜑𝐹 = (𝑥𝐴, 𝑦𝐵𝐶))    &   ((𝜑 ∧ (𝑥𝐴𝑦𝐵)) → 𝐶𝑉)       ((𝜑 ∧ (𝑥𝐴𝑦𝐵)) → (𝑥𝐹𝑦) = 𝐶)
 
9-Oct-2025dvdsfi 16765 A natural number has finitely many divisors. (Contributed by Jim Kingdon, 9-Oct-2025.)
(𝑁 ∈ ℕ → {𝑥 ∈ ℕ ∣ 𝑥𝑁} ∈ Fin)
 
8-Oct-2025swapciso 49265 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 49264 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 49262 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 49261 The swap functor is a functor. (Contributed by Zhi Wang, 8-Oct-2025.)
(𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)    &   𝑆 = (𝐶 ×c 𝐷)    &   𝑇 = (𝐷 ×c 𝐶)    &   (𝜑 → (𝐶 swapF 𝐷) = ⟨𝑂, 𝑃⟩)       (𝜑𝑂(𝑆 Func 𝑇)𝑃)
 
8-Oct-2025swapfcoa 49260 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 49259 Each identity morphism in the source category is mapped to the corresponding identity morphism in the target category. See also swapfid 49258. (Contributed by Zhi Wang, 8-Oct-2025.)
(𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)    &   𝑆 = (𝐶 ×c 𝐷)    &   𝑇 = (𝐷 ×c 𝐶)    &   (𝜑 → (𝐶 swapF 𝐷) = ⟨𝑂, 𝑃⟩)    &   𝐵 = (Base‘𝑆)    &   (𝜑𝑋𝐵)    &    1 = (Id‘𝑆)    &   𝐼 = (Id‘𝑇)       (𝜑 → ((𝑋𝑃𝑋)‘( 1𝑋)) = (𝐼‘(𝑂𝑋)))
 
8-Oct-2025swapfid 49258 Each identity morphism in the source category is mapped to the corresponding identity morphism in the target category. See also swapfida 49259. (Contributed by Zhi Wang, 8-Oct-2025.)
(𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)    &   𝑆 = (𝐶 ×c 𝐷)    &   𝑇 = (𝐷 ×c 𝐶)    &   (𝜑 → (𝐶 swapF 𝐷) = ⟨𝑂, 𝑃⟩)    &   (𝜑𝑋 ∈ (Base‘𝐶))    &   (𝜑𝑌 ∈ (Base‘𝐷))    &    1 = (Id‘𝑆)    &   𝐼 = (Id‘𝑇)       (𝜑 → ((⟨𝑋, 𝑌𝑃𝑋, 𝑌⟩)‘( 1 ‘⟨𝑋, 𝑌⟩)) = (𝐼‘(𝑂‘⟨𝑋, 𝑌⟩)))
 
8-Oct-2025swapf2f1oaALT 49257 Alternate proof of swapf2f1oa 49256. (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 49255 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 49254 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 49230 Alternate proof of elxpcbasex2 49229. (Contributed by Zhi Wang, 8-Oct-2025.) (Proof modification is discouraged.) (New usage is discouraged.)
𝑇 = (𝐶 ×c 𝐷)    &   𝐵 = (Base‘𝑇)    &   (𝜑𝑋𝐵)       (𝜑𝐷 ∈ V)
 
8-Oct-2025elxpcbasex1ALT 49228 Alternate proof of elxpcbasex1 49227. (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 49304 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 49297 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 49253 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 49252 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 49251 The object part of the swap functor swaps the objects. (Contributed by Zhi Wang, 7-Oct-2025.)
(𝜑 → (𝐶 swapF 𝐷) = ⟨𝑂, 𝑃⟩)    &   (𝜑𝑋 ∈ (Base‘𝐶))    &   (𝜑𝑌 ∈ (Base‘𝐷))       (𝜑 → (𝑋𝑂𝑌) = ⟨𝑌, 𝑋⟩)
 
7-Oct-2025swapf2a 49250 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 49249 The morphism part of the swap functor swaps the morphisms. (Contributed by Zhi Wang, 7-Oct-2025.)
(𝜑 → (𝐶 swapF 𝐷) = ⟨𝑂, 𝑃⟩)    &   𝑆 = (𝐶 ×c 𝐷)    &   𝐵 = (Base‘𝑆)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)    &   (𝜑𝐻 = (Hom ‘𝑆))       (𝜑 → (𝑋𝑃𝑌) = (𝑓 ∈ (𝑋𝐻𝑌) ↦ {𝑓}))
 
7-Oct-2025swapf1a 49248 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 49247 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 49246 The object part of the swap functor. See also swapf1vala 49245. (Contributed by Zhi Wang, 7-Oct-2025.)
(𝜑𝐶𝑈)    &   (𝜑𝐷𝑉)    &   𝑆 = (𝐶 ×c 𝐷)    &   𝐵 = (Base‘𝑆)    &   (𝜑 → (𝐶 swapF 𝐷) = ⟨𝑂, 𝑃⟩)       (𝜑𝑂 = (𝑥𝐵 {𝑥}))
 
7-Oct-2025swapf1vala 49245 The object part of the swap functor. See also swapf1val 49246. (Contributed by Zhi Wang, 7-Oct-2025.)
(𝜑𝐶𝑈)    &   (𝜑𝐷𝑉)    &   𝑆 = (𝐶 ×c 𝐷)    &   𝐵 = (Base‘𝑆)       (𝜑 → (1st ‘(𝐶 swapF 𝐷)) = (𝑥𝐵 {𝑥}))
 
7-Oct-2025swapf2fval 49244 The morphism part of the swap functor. See also swapf2fvala 49243. (Contributed by Zhi Wang, 7-Oct-2025.)
(𝜑𝐶𝑈)    &   (𝜑𝐷𝑉)    &   𝑆 = (𝐶 ×c 𝐷)    &   𝐵 = (Base‘𝑆)    &   (𝜑𝐻 = (Hom ‘𝑆))    &   (𝜑 → (𝐶 swapF 𝐷) = ⟨𝑂, 𝑃⟩)       (𝜑𝑃 = (𝑢𝐵, 𝑣𝐵 ↦ (𝑓 ∈ (𝑢𝐻𝑣) ↦ {𝑓})))
 
7-Oct-2025swapf2fvala 49243 The morphism part of the swap functor. See also swapf2fval 49244. (Contributed by Zhi Wang, 7-Oct-2025.)
(𝜑𝐶𝑈)    &   (𝜑𝐷𝑉)    &   𝑆 = (𝐶 ×c 𝐷)    &   𝐵 = (Base‘𝑆)    &   (𝜑𝐻 = (Hom ‘𝑆))       (𝜑 → (2nd ‘(𝐶 swapF 𝐷)) = (𝑢𝐵, 𝑣𝐵 ↦ (𝑓 ∈ (𝑢𝐻𝑣) ↦ {𝑓})))
 
7-Oct-2025swapfelvv 49242 A swap functor is an ordered pair. (Contributed by Zhi Wang, 7-Oct-2025.)
(𝜑𝐶𝑈)    &   (𝜑𝐷𝑉)       (𝜑 → (𝐶 swapF 𝐷) ∈ (V × V))
 
7-Oct-2025swapfval 49241 Value of the swap functor. (Contributed by Zhi Wang, 7-Oct-2025.)
(𝜑𝐶𝑈)    &   (𝜑𝐷𝑉)    &   𝑆 = (𝐶 ×c 𝐷)    &   𝐵 = (Base‘𝑆)    &   (𝜑𝐻 = (Hom ‘𝑆))       (𝜑 → (𝐶 swapF 𝐷) = ⟨(𝑥𝐵 {𝑥}), (𝑢𝐵, 𝑣𝐵 ↦ (𝑓 ∈ (𝑢𝐻𝑣) ↦ {𝑓}))⟩)
 
7-Oct-2025df-swapf 49239 Define the swap functor from (𝐶 ×c 𝐷) to (𝐷 ×c 𝐶) by swapping all objects (swapf1 49251) and morphisms (swapf2 49253) .

Such functor is called a "swap functor" in https://arxiv.org/pdf/2302.07810 49253 or a "twist functor" in https://arxiv.org/pdf/2508.01886 49253, the latter of which finds its counterpart as "twisting map" in https://arxiv.org/pdf/2411.04102 49253 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 49253 and thus not adopted here.

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

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

swapF = (𝑐 ∈ V, 𝑑 ∈ V ↦ (𝑐 ×c 𝑑) / 𝑠(Base‘𝑠) / 𝑏(Hom ‘𝑠) / ⟨(𝑥𝑏 {𝑥}), (𝑢𝑏, 𝑣𝑏 ↦ (𝑓 ∈ (𝑢𝑣) ↦ {𝑓}))⟩)
 
7-Oct-20250funcALT 49067 Alternate proof of 0func 49066. (Contributed by Zhi Wang, 7-Oct-2025.) (Proof modification is discouraged.) (New usage is discouraged.)
(𝜑𝐶 ∈ Cat)       (𝜑 → (∅ Func 𝐶) = {⟨∅, ∅⟩})
 
7-Oct-20250funclem 49065 Lemma for 0funcALT 49067. (Contributed by Zhi Wang, 7-Oct-2025.)
(𝜑 → (𝜓 ↔ (𝜒𝜃𝜏)))    &   (𝜒𝜂)    &   (𝜃𝜁)    &   𝜏       (𝜑 → (𝜓 ↔ (𝜂𝜁)))
 
7-Oct-2025opth2neg 48805 Two ordered pairs are not equal if their second components are not equal. (Contributed by Zhi Wang, 7-Oct-2025.)
((𝐴𝑉𝐵𝑊) → (𝐵𝐷 → ⟨𝐴, 𝐵⟩ ≠ ⟨𝐶, 𝐷⟩))
 
7-Oct-2025opth1neg 48804 Two ordered pairs are not equal if their first components are not equal. (Contributed by Zhi Wang, 7-Oct-2025.)
((𝐴𝑉𝐵𝑊) → (𝐴𝐶 → ⟨𝐴, 𝐵⟩ ≠ ⟨𝐶, 𝐷⟩))
 
7-Oct-2025readvcot 42347 Real antiderivative of cotangent. (Contributed by SN, 7-Oct-2025.)
𝐷 = {𝑦 ∈ ℝ ∣ (sin‘𝑦) ≠ 0}       (ℝ D (𝑥𝐷 ↦ (log‘(abs‘(sin‘𝑥))))) = (𝑥𝐷 ↦ ((cos‘𝑥) / (sin‘𝑥)))
 
7-Oct-2025resuppsinopn 42346 The support of sin (df-supp 8142) restricted to the reals is an open set. (Contributed by SN, 7-Oct-2025.)
𝐷 = {𝑦 ∈ ℝ ∣ (sin‘𝑦) ≠ 0}       𝐷 ∈ (topGen‘ran (,))
 
7-Oct-2025cnn0opn 24681 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 48867 Two ways of expressing the swap function. (Contributed by Zhi Wang, 6-Oct-2025.)
𝑅 = (𝐴 × 𝐵)       (tpos I ↾ 𝑅) = (𝑥𝑅 {𝑥})
 
6-Oct-2025tposideq 48866 Two ways of expressing the swap function. (Contributed by Zhi Wang, 6-Oct-2025.)
(Rel 𝑅 → (tpos I ↾ 𝑅) = (𝑥𝑅 {𝑥}))
 
6-Oct-2025tposresxp 48861 The transposition restricted to a Cartesian product. (Contributed by Zhi Wang, 6-Oct-2025.)
(tpos 𝐹 ↾ (𝐴 × 𝐵)) = tpos (𝐹 ↾ (𝐵 × 𝐴))
 
6-Oct-2025tposres 48860 The transposition restricted to a relation. (Contributed by Zhi Wang, 6-Oct-2025.)
(Rel 𝑅 → (tpos 𝐹𝑅) = tpos (𝐹𝑅))
 
6-Oct-2025tposres3 48859 The transposition restricted to a set. (Contributed by Zhi Wang, 6-Oct-2025.)
(𝜑 → ¬ ∅ ∈ (dom 𝐹𝑅))       (𝜑 → (tpos 𝐹𝑅) = tpos (𝐹𝑅))
 
6-Oct-2025tposres2 48858 The transposition restricted to a set. (Contributed by Zhi Wang, 6-Oct-2025.)
(𝜑 → ¬ ∅ ∈ (dom 𝐹𝑅))       (𝜑 → (tpos 𝐹𝑅) = (tpos 𝐹𝑅))
 
6-Oct-2025tposrescnv 48857 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 8207. (Contributed by Zhi Wang, 6-Oct-2025.)
(tpos 𝐹𝑅) = (𝐹 ∘ (𝑥dom (𝐹𝑅) ↦ {𝑥}))
 
6-Oct-2025tposresg 48856 The transposition restricted to a set. (Contributed by Zhi Wang, 6-Oct-2025.)
(tpos 𝐹𝑅) = ((tpos 𝐹𝑅) ∪ (𝐹 ↾ (𝑅 ∩ {∅})))
 
6-Oct-2025tposres0 48855 The transposition of a set restricted to the empty set is the set restricted to the empty set. See also ressn 6260 and dftpos6 48853 for an alternate proof. (Contributed by Zhi Wang, 6-Oct-2025.)
(tpos 𝐹 ↾ {∅}) = (𝐹 ↾ {∅})
 
6-Oct-2025dmtposss 48854 The domain of tpos 𝐹 is a subset. (Contributed by Zhi Wang, 6-Oct-2025.)
dom tpos 𝐹 ⊆ ((V × V) ∪ {∅})
 
6-Oct-2025dftpos6 48853 Alternate definition of tpos. The second half of the right hand side could apply ressn 6260 and become (𝐹 ↾ {∅}) (Contributed by Zhi Wang, 6-Oct-2025.)
tpos 𝐹 = ((𝐹 ∘ (𝑥dom 𝐹 {𝑥})) ∪ ({∅} × (𝐹 “ {∅})))
 
6-Oct-2025dftpos5 48852 Alternate definition of tpos. (Contributed by Zhi Wang, 6-Oct-2025.)
tpos 𝐹 = (𝐹 ∘ ((𝑥dom 𝐹 {𝑥}) ∪ {⟨∅, ∅⟩}))
 
6-Oct-2025resinsnALT 48851 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 48850 Restriction to the intersection with a singleton. (Contributed by Zhi Wang, 6-Oct-2025.)
((𝐹 ↾ (𝐴 ∩ {𝐵})) = ∅ ↔ ¬ 𝐵 ∈ (dom 𝐹𝐴))
 
6-Oct-2025resinsnlem 48849 Lemma for resinsnALT 48851. (Contributed by Zhi Wang, 6-Oct-2025.)
(𝜑 → (𝜒 ↔ ¬ 𝜓))    &   𝜑𝜒)       ((𝜑𝜓) ↔ ¬ 𝜒)
 
6-Oct-2025cosni 48813 Composition with an ordered pair singleton. (Contributed by Zhi Wang, 6-Oct-2025.)
𝐵 ∈ V    &   𝐶 ∈ V       (𝐴 ∘ {⟨𝐵, 𝐶⟩}) = ({𝐵} × (𝐴 “ {𝐶}))
 
6-Oct-2025cosn 48812 Composition with an ordered pair singleton. (Contributed by Zhi Wang, 6-Oct-2025.)
((𝐵𝑈𝐶𝑉) → (𝐴 ∘ {⟨𝐵, 𝐶⟩}) = ({𝐵} × (𝐴 “ {𝐶})))
 
6-Oct-2025coxp 48811 Composition with a Cartesian product. (Contributed by Zhi Wang, 6-Oct-2025.)
(𝐴 ∘ (𝐵 × 𝐶)) = (𝐵 × (𝐴𝐶))
 
6-Oct-2025gsumwun 33011 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 48865 The swap function, or the twisting map, is bijective. (Contributed by Zhi Wang, 5-Oct-2025.)
tpos ( I ↾ (𝐴 × 𝐵)):(𝐵 × 𝐴)–1-1-onto→(𝐴 × 𝐵)
 
5-Oct-2025tposidres 48864 Swap an ordered pair. (Contributed by Zhi Wang, 5-Oct-2025.)
(𝜑𝑋𝐴)    &   (𝜑𝑌𝐵)       (𝜑 → (𝑌tpos ( I ↾ (𝐴 × 𝐵))𝑋) = ⟨𝑋, 𝑌⟩)
 
5-Oct-2025tposid 48863 Swap an ordered pair. (Contributed by Zhi Wang, 5-Oct-2025.)
(𝑋tpos I 𝑌) = ⟨𝑌, 𝑋
 
5-Oct-2025tposf1o 48862 Condition of a bijective transposition. (Contributed by Zhi Wang, 5-Oct-2025.)
(𝐹:(𝐴 × 𝐵)–1-1-onto𝐶 → tpos 𝐹:(𝐵 × 𝐴)–1-1-onto𝐶)
 
5-Oct-2025cycl3grtri 47936 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 47935 Lemma for cycl3grtri 47936. (Contributed by AV, 5-Oct-2025.)
(((𝐺 ∈ UPGraph ∧ 𝐹(Paths‘𝐺)𝑃) ∧ ((𝑃‘0) = (𝑃‘(♯‘𝐹)) ∧ (♯‘𝐹) = 3)) → ({(𝑃‘0), (𝑃‘1)} ∈ (Edg‘𝐺) ∧ {(𝑃‘0), (𝑃‘2)} ∈ (Edg‘𝐺) ∧ {(𝑃‘1), (𝑃‘2)} ∈ (Edg‘𝐺)))
 
5-Oct-2025zrhcntr 33975 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 33974 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 33203 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 33202 Lemma for elrgspn 33203. (Contributed by Thierry Arnoux, 5-Oct-2025.)
𝐵 = (Base‘𝑅)    &   𝑀 = (mulGrp‘𝑅)    &    · = (.g𝑅)    &   𝑁 = (RingSpan‘𝑅)    &   𝐹 = {𝑓 ∈ (ℤ ↑m Word 𝐴) ∣ 𝑓 finSupp 0}    &   (𝜑𝑅 ∈ Ring)    &   (𝜑𝐴𝐵)    &   𝑆 = ran (𝑔𝐹 ↦ (𝑅 Σg (𝑤 ∈ Word 𝐴 ↦ ((𝑔𝑤) · (𝑀 Σg 𝑤)))))       (𝜑 → (𝑁𝐴) = 𝑆)
 
5-Oct-2025elrgspnlem3 33201 Lemma for elrgspn 33203. (Contributed by Thierry Arnoux, 5-Oct-2025.)
𝐵 = (Base‘𝑅)    &   𝑀 = (mulGrp‘𝑅)    &    · = (.g𝑅)    &   𝑁 = (RingSpan‘𝑅)    &   𝐹 = {𝑓 ∈ (ℤ ↑m Word 𝐴) ∣ 𝑓 finSupp 0}    &   (𝜑𝑅 ∈ Ring)    &   (𝜑𝐴𝐵)    &   𝑆 = ran (𝑔𝐹 ↦ (𝑅 Σg (𝑤 ∈ Word 𝐴 ↦ ((𝑔𝑤) · (𝑀 Σg 𝑤)))))       (𝜑𝐴𝑆)
 
5-Oct-2025elrgspnlem2 33200 Lemma for elrgspn 33203. (Contributed by Thierry Arnoux, 5-Oct-2025.)
𝐵 = (Base‘𝑅)    &   𝑀 = (mulGrp‘𝑅)    &    · = (.g𝑅)    &   𝑁 = (RingSpan‘𝑅)    &   𝐹 = {𝑓 ∈ (ℤ ↑m Word 𝐴) ∣ 𝑓 finSupp 0}    &   (𝜑𝑅 ∈ Ring)    &   (𝜑𝐴𝐵)    &   𝑆 = ran (𝑔𝐹 ↦ (𝑅 Σg (𝑤 ∈ Word 𝐴 ↦ ((𝑔𝑤) · (𝑀 Σg 𝑤)))))       (𝜑𝑆 ∈ (SubRing‘𝑅))
 
5-Oct-2025elrgspnlem1 33199 Lemma for elrgspn 33203. (Contributed by Thierry Arnoux, 5-Oct-2025.)
𝐵 = (Base‘𝑅)    &   𝑀 = (mulGrp‘𝑅)    &    · = (.g𝑅)    &   𝑁 = (RingSpan‘𝑅)    &   𝐹 = {𝑓 ∈ (ℤ ↑m Word 𝐴) ∣ 𝑓 finSupp 0}    &   (𝜑𝑅 ∈ Ring)    &   (𝜑𝐴𝐵)    &   𝑆 = ran (𝑔𝐹 ↦ (𝑅 Σg (𝑤 ∈ Word 𝐴 ↦ ((𝑔𝑤) · (𝑀 Σg 𝑤)))))       (𝜑𝑆 ∈ (SubGrp‘𝑅))
 
5-Oct-2025gsumwrd2dccat 33013 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 33012 Lemma for gsumwrd2dccat 33013. 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 33006 A finite group sum multiplied by a constant. (Contributed by Thierry Arnoux, 5-Oct-2025.)
𝐵 = (Base‘𝑀)    &    · = (.g𝑀)    &   (𝜑𝑀 ∈ Grp)    &   (𝜑𝐴 ∈ Fin)    &   (𝜑𝑌𝐵)    &   ((𝜑𝑘𝐴) → 𝑋 ∈ ℤ)       (𝜑 → (𝑀 Σg (𝑘𝐴 ↦ (𝑋 · 𝑌))) = (Σ𝑘𝐴 𝑋 · 𝑌))
 
5-Oct-2025gsumzrsum 33005 Relate a group sum on ring to a finite sum on the complex numbers. See also gsumfsum 21357. (Contributed by Thierry Arnoux, 5-Oct-2025.)
(𝜑𝐴 ∈ Fin)    &   ((𝜑𝑘𝐴) → 𝐵 ∈ ℤ)       (𝜑 → (ℤring Σg (𝑘𝐴𝐵)) = Σ𝑘𝐴 𝐵)
 
5-Oct-2025gsumfs2d 33001 Express a finite sum over a two-dimensional range as a double sum. Version of gsum2d 19908 using finite support. (Contributed by Thierry Arnoux, 5-Oct-2025.)
𝑥𝜑    &   𝐵 = (Base‘𝑊)    &    0 = (0g𝑊)    &   (𝜑 → Rel 𝐴)    &   (𝜑𝐹 finSupp 0 )    &   (𝜑𝑊 ∈ CMnd)    &   (𝜑𝐹:𝐴𝐵)    &   (𝜑𝐴𝑋)       (𝜑 → (𝑊 Σg 𝐹) = (𝑊 Σg (𝑥 ∈ dom 𝐴 ↦ (𝑊 Σg (𝑦 ∈ (𝐴 “ {𝑥}) ↦ (𝐹‘⟨𝑥, 𝑦⟩))))))
 
5-Oct-2025gsummptfsf1o 33000 Re-index a finite group sum using a bijection. A version of gsummptf1o 19899 expressed using finite support. (Contributed by Thierry Arnoux, 5-Oct-2025.)
𝑥𝐻    &   𝐵 = (Base‘𝐺)    &    0 = (0g𝐺)    &   (𝑥 = 𝐸𝐶 = 𝐻)    &   (𝜑𝐺 ∈ CMnd)    &   (𝜑𝐴𝑉)    &   (𝜑 → (𝑥𝐴𝐶) finSupp 0 )    &   (𝜑𝐹𝐵)    &   ((𝜑𝑥𝐴) → 𝐶𝐹)    &   ((𝜑𝑦𝐷) → 𝐸𝐴)    &   ((𝜑𝑥𝐴) → ∃!𝑦𝐷 𝑥 = 𝐸)       (𝜑 → (𝐺 Σg (𝑥𝐴𝐶)) = (𝐺 Σg (𝑦𝐷𝐻)))
 
5-Oct-2025subgmulgcld 32990 Closure of the group multiple within a subgroup. (Contributed by Thierry Arnoux, 5-Oct-2025.)
𝐵 = (Base‘𝑅)    &    · = (.g𝑅)    &   (𝜑𝑅 ∈ Grp)    &   (𝜑𝐴𝑆)    &   (𝜑𝑆 ∈ (SubGrp‘𝑅))    &   (𝜑𝑍 ∈ ℤ)       (𝜑 → (𝑍 · 𝐴) ∈ 𝑆)
 
5-Oct-2025fmptunsnop 32629 Two ways to express a function with a value replaced. (Contributed by Thierry Arnoux, 5-Oct-2025.)
(𝜑𝐹 Fn 𝐴)    &   (𝜑𝑋𝐴)    &   (𝜑𝑌𝐵)       (𝜑 → (𝑥𝐴 ↦ if(𝑥 = 𝑋, 𝑌, (𝐹𝑥))) = ((𝐹 ↾ (𝐴 ∖ {𝑋})) ∪ {⟨𝑋, 𝑌⟩}))
 
5-Oct-2025fdifsupp 32614 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 32613 The support of a union is the union of the supports. (Contributed by Thierry Arnoux, 5-Oct-2025.)
(𝜑𝐹𝑉)    &   (𝜑𝐺𝑊)    &   (𝜑𝑍𝑋)       (𝜑 → ((𝐹𝐺) supp 𝑍) = ((𝐹 supp 𝑍) ∪ (𝐺 supp 𝑍)))
 
5-Oct-2025fisuppov1 32612 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 32611 Deduce membership in the support of a function. (Contributed by Thierry Arnoux, 5-Oct-2025.)
(𝜑𝐹 Fn 𝐴)    &   (𝜑𝐴𝑉)    &   (𝜑𝑍𝑊)    &   (𝜑𝑋𝐴)    &   (𝜑 → (𝐹𝑋) ≠ 𝑍)       (𝜑𝑋 ∈ (𝐹 supp 𝑍))
 
5-Oct-2025dmdju 32577 Domain of a disjoint union of non-empty sets. (Contributed by Thierry Arnoux, 5-Oct-2025.)
((𝜑𝑥𝐴) → 𝐵 ≠ ∅)       (𝜑 → dom 𝑥𝐴 ({𝑥} × 𝐵) = 𝐴)
 
5-Oct-2025simp-12r 32384 Simplification of a conjunction. (Contributed by Thierry Arnoux, 5-Oct-2025.)
(((((((((((((𝜑𝜓) ∧ 𝜒) ∧ 𝜃) ∧ 𝜏) ∧ 𝜂) ∧ 𝜁) ∧ 𝜎) ∧ 𝜌) ∧ 𝜇) ∧ 𝜆) ∧ 𝜅) ∧ 𝜈) → 𝜓)
 
5-Oct-2025simp-12l 32383 Simplification of a conjunction. (Contributed by Thierry Arnoux, 5-Oct-2025.)
(((((((((((((𝜑𝜓) ∧ 𝜒) ∧ 𝜃) ∧ 𝜏) ∧ 𝜂) ∧ 𝜁) ∧ 𝜎) ∧ 𝜌) ∧ 𝜇) ∧ 𝜆) ∧ 𝜅) ∧ 𝜈) → 𝜑)
 
5-Oct-2025cyclnumvtx 29736 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 29665 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 6604 Condition for the range of a one-to-one function to be the range of one its restrictions. Variant of imadifssran 6126. (Contributed by AV, 4-Oct-2025.)
(Fun 𝐹 → ((𝐹 “ (dom 𝐹𝐴)) ⊆ ran (𝐹𝐴) → ran 𝐹 = ran (𝐹𝐴)))
 
4-Oct-2025imadifssran 6126 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 49338 The functor composition bifunctor is a functor. See also fucofunca 49339.

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 49452), for example, (SetCat‘1o) (the trivial category, setc1oterm 49470), 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 49320. 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 49296 up to fuco23 49320, but ((𝐵(𝑈𝑃𝑉)𝐴)‘𝑋) might be mapped to a different morphism in category 𝐸. See fucofulem2 49290 for some insights.

2. fuco22nat 49325, fucoid 49327, and fucoco 49336 are satisfied.

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

𝑇 = ((𝐷 FuncCat 𝐸) ×c (𝐶 FuncCat 𝐷))    &   𝑄 = (𝐶 FuncCat 𝐸)    &   (𝜑 → (⟨𝐶, 𝐷⟩ ∘F 𝐸) = ⟨𝑂, 𝑃⟩)    &   (𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)    &   (𝜑𝐸 ∈ Cat)       (𝜑𝑂(𝑇 Func 𝑄)𝑃)
 
3-Oct-2025fucoco2 49337 Composition in the source category is mapped to composition in the target. See also fucoco 49336. (Contributed by Zhi Wang, 3-Oct-2025.)
𝑇 = ((𝐷 FuncCat 𝐸) ×c (𝐶 FuncCat 𝐷))    &   𝑄 = (𝐶 FuncCat 𝐸)    &   (𝜑 → (⟨𝐶, 𝐷⟩ ∘F 𝐸) = ⟨𝑂, 𝑃⟩)    &    · = (comp‘𝑇)    &    = (comp‘𝑄)    &   (𝜑𝑊 = ((𝐷 Func 𝐸) × (𝐶 Func 𝐷)))    &   (𝜑𝑋𝑊)    &   (𝜑𝑌𝑊)    &   (𝜑𝑍𝑊)    &   𝐽 = (Hom ‘𝑇)    &   (𝜑𝐴 ∈ (𝑋𝐽𝑌))    &   (𝜑𝐵 ∈ (𝑌𝐽𝑍))       (𝜑 → ((𝑋𝑃𝑍)‘(𝐵(⟨𝑋, 𝑌· 𝑍)𝐴)) = (((𝑌𝑃𝑍)‘𝐵)(⟨(𝑂𝑋), (𝑂𝑌)⟩ (𝑂𝑍))((𝑋𝑃𝑌)‘𝐴)))
 
3-Oct-2025fucoco 49336 Composition in the source category is mapped to composition in the target. See also fucoco2 49337. (Contributed by Zhi Wang, 3-Oct-2025.)
(𝜑𝑅 ∈ (𝐹(𝐷 Nat 𝐸)𝐾))    &   (𝜑𝑆 ∈ (𝐺(𝐶 Nat 𝐷)𝐿))    &   (𝜑𝑈 ∈ (𝐾(𝐷 Nat 𝐸)𝑀))    &   (𝜑𝑉 ∈ (𝐿(𝐶 Nat 𝐷)𝑁))    &   (𝜑 → (⟨𝐶, 𝐷⟩ ∘F 𝐸) = ⟨𝑂, 𝑃⟩)    &   (𝜑𝑋 = ⟨𝐹, 𝐺⟩)    &   (𝜑𝑌 = ⟨𝐾, 𝐿⟩)    &   (𝜑𝑍 = ⟨𝑀, 𝑁⟩)    &   (𝜑𝐴 = ⟨𝑅, 𝑆⟩)    &   (𝜑𝐵 = ⟨𝑈, 𝑉⟩)    &   𝑄 = (𝐶 FuncCat 𝐸)    &    = (comp‘𝑄)    &   𝑇 = ((𝐷 FuncCat 𝐸) ×c (𝐶 FuncCat 𝐷))    &    · = (comp‘𝑇)       (𝜑 → ((𝑋𝑃𝑍)‘(𝐵(⟨𝑋, 𝑌· 𝑍)𝐴)) = (((𝑌𝑃𝑍)‘𝐵)(⟨(𝑂𝑋), (𝑂𝑌)⟩ (𝑂𝑍))((𝑋𝑃𝑌)‘𝐴)))
 
3-Oct-2025fucocolem3 49334 Lemma for fucoco 49336. 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 49331 The morphism part of the functor composition bifunctor. An alternate definition of F. See also fuco23 49320. (Contributed by Zhi Wang, 3-Oct-2025.)
(𝜑𝐴 ∈ (⟨𝐹, 𝐺⟩(𝐶 Nat 𝐷)⟨𝑀, 𝑁⟩))    &   (𝜑𝐵 ∈ (⟨𝐾, 𝐿⟩(𝐷 Nat 𝐸)⟨𝑅, 𝑆⟩))    &   (𝜑𝑋 ∈ (Base‘𝐶))    &   (𝜑 → (⟨𝐶, 𝐷⟩ ∘F 𝐸) = ⟨𝑂, 𝑃⟩)    &   (𝜑𝑈 = ⟨⟨𝐾, 𝐿⟩, ⟨𝐹, 𝐺⟩⟩)    &   (𝜑𝑉 = ⟨⟨𝑅, 𝑆⟩, ⟨𝑀, 𝑁⟩⟩)    &   (𝜑 = (⟨(𝐾‘(𝐹𝑋)), (𝑅‘(𝐹𝑋))⟩(comp‘𝐸)(𝑅‘(𝑀𝑋))))       (𝜑 → ((𝐵(𝑈𝑃𝑉)𝐴)‘𝑋) = ((((𝐹𝑋)𝑆(𝑀𝑋))‘(𝐴𝑋)) (𝐵‘(𝐹𝑋))))
 
3-Oct-2025fuco23alem 49330 The naturality property (nati 17926) in category 𝐸. (Contributed by Zhi Wang, 3-Oct-2025.)
(𝜑𝐴 ∈ (⟨𝐹, 𝐺⟩(𝐶 Nat 𝐷)⟨𝑀, 𝑁⟩))    &   (𝜑𝐵 ∈ (⟨𝐾, 𝐿⟩(𝐷 Nat 𝐸)⟨𝑅, 𝑆⟩))    &   (𝜑𝑋 ∈ (Base‘𝐶))    &    · = (comp‘𝐸)       (𝜑 → ((𝐵‘(𝑀𝑋))(⟨(𝐾‘(𝐹𝑋)), (𝐾‘(𝑀𝑋))⟩ · (𝑅‘(𝑀𝑋)))(((𝐹𝑋)𝐿(𝑀𝑋))‘(𝐴𝑋))) = ((((𝐹𝑋)𝑆(𝑀𝑋))‘(𝐴𝑋))(⟨(𝐾‘(𝐹𝑋)), (𝑅‘(𝐹𝑋))⟩ · (𝑅‘(𝑀𝑋)))(𝐵‘(𝐹𝑋))))
 
3-Oct-2025fuco11idx 49314 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 49312 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 49311 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 49310 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 49308 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 7913 Extension of an injection which is a restriction of a function. (Contributed by AV, 3-Oct-2025.)
((𝐹:𝐴𝐵𝑋 ∈ (𝐴𝐶) ∧ 𝐶𝐴) → ((Fun (𝐹𝐶) ∧ (𝐹𝑋) ∉ (𝐹𝐶)) ↔ Fun (𝐹 ↾ (𝐶 ∪ {𝑋}))))
 
3-Oct-2025resf1extb 7912 Extension of an injection which is a restriction of a function. (Contributed by AV, 3-Oct-2025.)
((𝐹:𝐴𝐵𝑋 ∈ (𝐴𝐶) ∧ 𝐶𝐴) → (((𝐹𝐶):𝐶1-1𝐵 ∧ (𝐹𝑋) ∉ (𝐹𝐶)) ↔ (𝐹 ↾ (𝐶 ∪ {𝑋})):(𝐶 ∪ {𝑋})–1-1𝐵))
 
2-Oct-2025fucocolem4 49335 Lemma for fucoco 49336. 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 49333 Lemma for fucoco 49336. 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 49332 Lemma for fucoco 49336. 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 49325 The composed natural transformation is a natural transformation. (Contributed by Zhi Wang, 2-Oct-2025.)
(𝜑 → (⟨𝐶, 𝐷⟩ ∘F 𝐸) = ⟨𝑂, 𝑃⟩)    &   (𝜑𝐴 ∈ (𝐹(𝐶 Nat 𝐷)𝑀))    &   (𝜑𝐵 ∈ (𝐾(𝐷 Nat 𝐸)𝑅))    &   (𝜑𝑈 = ⟨𝐾, 𝐹⟩)    &   (𝜑𝑉 = ⟨𝑅, 𝑀⟩)       (𝜑 → (𝐵(𝑈𝑃𝑉)𝐴) ∈ ((𝑂𝑈)(𝐶 Nat 𝐸)(𝑂𝑉)))
 
2-Oct-2025fuco111 49309 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 35676 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 29739 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 29737. (Contributed by AV, 2-Oct-2025.)
(𝐹(Paths‘𝐺)𝑃 ↔ (𝐹(SPaths‘𝐺)𝑃𝐹(Cycles‘𝐺)𝑃))
 
2-Oct-2025pthdifv 29666 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 49329 The morphism part of the functor composition bifunctor. See also fuco22 49318. (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 49237 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 49236 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 49235 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 49234 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 49233 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 49232 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𝑣))))

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]