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 13-Dec-2025 at 5:34 AM ET.
Recent Additions to the Metamath Proof Explorer   Notes (last updated 7-Dec-2020 )
DateLabelDescription
Theorem
 
10-Dec-2025sinnpoly 46892 Sine function is not a polynomial with complex coefficients. Indeed, it has infinitely many zeros but is not constant zero, contrary to fta1 26216. (Contributed by Ender Ting, 10-Dec-2025.)
¬ sin ∈ (Poly‘ℂ)
 
10-Dec-2025tannpoly 46891 The tangent function is not a polynomial with complex coefficients, as it is not defined on the whole complex plane. (Contributed by Ender Ting, 10-Dec-2025.)
¬ tan ∈ (Poly‘ℂ)
 
8-Dec-2025cjnpoly 46890 Complex conjugation operator is not a polynomial with complex coefficients. Indeed; if it was, then multiplying 𝑥 conjugate by 𝑥 itself and adding 1 would yield a nowhere-zero non-constant polynomial, contrary to the fta 26990. (Contributed by Ender Ting, 8-Dec-2025.)
¬ ∗ ∈ (Poly‘ℂ)
 
6-Dec-2025vonf1owev 35095 If 𝐹 is a bijection from the universe to the ordinals, then 𝑅 well-orders the universe. This is the ZFC version of (2 3) in https://tinyurl.com/hamkins-gblac. (Contributed by BTernaryTau, 6-Dec-2025.)
𝑅 = {⟨𝑥, 𝑦⟩ ∣ (𝐹𝑥) ∈ (𝐹𝑦)}       (𝐹:V–1-1-onto→On → 𝑅 We V)
 
5-Dec-2025antnestALT 35681 Alternative proof of antnest 35676 from the valid schema ((((⊤ → 𝜑) → 𝜑) → 𝜓) → 𝜓) using laws of nested antecedents. Our proof uses only the laws antnestlaw1 35678 and antnestlaw3 35680. (Contributed by Adrian Ducourtial, 5-Dec-2025.) (Proof modification is discouraged.) (New usage is discouraged.)
((((((⊤ → 𝜑) → 𝜓) → 𝜓) → 𝜑) → 𝜓) → 𝜓)
 
5-Dec-2025antnestlaw3 35680 A law of nested antecedents. Compare with looinv 203. (Contributed by Adrian Ducourtial, 5-Dec-2025.)
((((𝜑𝜓) → 𝜒) → 𝜒) ↔ (((𝜑𝜒) → 𝜓) → 𝜓))
 
5-Dec-2025antnestlaw2 35679 A law of nested antecedents. (Contributed by Adrian Ducourtial, 5-Dec-2025.)
((((𝜑𝜓) → 𝜓) → 𝜒) ↔ (((𝜑𝜒) → 𝜓) → 𝜒))
 
5-Dec-2025antnestlaw1 35678 A law of nested antecedents. The converse direction is a subschema of pm2.27 42. (Contributed by Adrian Ducourtial, 5-Dec-2025.)
((((𝜑𝜓) → 𝜓) → 𝜓) ↔ (𝜑𝜓))
 
5-Dec-2025antnestlaw3lem 35677 Lemma for antnestlaw3 35680. (Contributed by Adrian Ducourtial, 5-Dec-2025.)
(¬ (((𝜑𝜓) → 𝜒) → 𝜒) → ¬ (((𝜑𝜒) → 𝜓) → 𝜓))
 
5-Dec-2025onvf1od 35094 If 𝐺 is a global choice function, then 𝐹 is a bijection from the ordinals to the universe. This is the ZFC version of (1 2) in https://tinyurl.com/hamkins-gblac. (Contributed by BTernaryTau, 5-Dec-2025.)
(𝜑 → ∀𝑧(𝑧 ≠ ∅ → (𝐺𝑧) ∈ 𝑧))    &   𝑀 = {𝑥 ∈ On ∣ ∃𝑦 ∈ (𝑅1𝑥) ¬ 𝑦 ∈ ran 𝑤}    &   𝑁 = (𝐺‘((𝑅1𝑀) ∖ ran 𝑤))    &   𝐹 = recs((𝑤 ∈ V ↦ 𝑁))       (𝜑𝐹:On–1-1-onto→V)
 
4-Dec-2025onvf1odlem4 35093 Lemma for onvf1od 35094. If the range of 𝐹 does not exist, then it must equal the universe. (Contributed by BTernaryTau, 4-Dec-2025.)
(𝜑 → ∀𝑧(𝑧 ≠ ∅ → (𝐺𝑧) ∈ 𝑧))    &   𝑀 = {𝑥 ∈ On ∣ ∃𝑦 ∈ (𝑅1𝑥) ¬ 𝑦 ∈ ran 𝑤}    &   𝑁 = (𝐺‘((𝑅1𝑀) ∖ ran 𝑤))    &   𝐹 = recs((𝑤 ∈ V ↦ 𝑁))    &   𝐵 = {𝑢 ∈ On ∣ ∃𝑣 ∈ (𝑅1𝑢) ¬ 𝑣 ∈ (𝐹𝑡)}    &   𝐶 = (𝐺‘((𝑅1𝐵) ∖ (𝐹𝑡)))       (𝜑 → (¬ ran 𝐹 ∈ V → ran 𝐹 = V))
 
2-Dec-2025onvf1odlem3 35092 Lemma for onvf1od 35094. The value of 𝐹 at an ordinal 𝐴. (Contributed by BTernaryTau, 2-Dec-2025.)
𝑀 = {𝑥 ∈ On ∣ ∃𝑦 ∈ (𝑅1𝑥) ¬ 𝑦 ∈ ran 𝑤}    &   𝑁 = (𝐺‘((𝑅1𝑀) ∖ ran 𝑤))    &   𝐹 = recs((𝑤 ∈ V ↦ 𝑁))    &   𝐵 = {𝑢 ∈ On ∣ ∃𝑣 ∈ (𝑅1𝑢) ¬ 𝑣 ∈ (𝐹𝐴)}    &   𝐶 = (𝐺‘((𝑅1𝐵) ∖ (𝐹𝐴)))       (𝐴 ∈ On → (𝐹𝐴) = 𝐶)
 
2-Dec-2025onvf1odlem2 35091 Lemma for onvf1od 35094. (Contributed by BTernaryTau, 2-Dec-2025.)
(𝜑 → ∀𝑧(𝑧 ≠ ∅ → (𝐺𝑧) ∈ 𝑧))    &   𝑀 = {𝑥 ∈ On ∣ ∃𝑦 ∈ (𝑅1𝑥) ¬ 𝑦𝐴}    &   𝑁 = (𝐺‘((𝑅1𝑀) ∖ 𝐴))       (𝜑 → (𝐴𝑉𝑁 ∈ ((𝑅1𝑀) ∖ 𝐴)))
 
2-Dec-2025onvf1odlem1 35090 Lemma for onvf1od 35094. (Contributed by BTernaryTau, 2-Dec-2025.)
(𝐴𝑉 → ∃𝑥 ∈ On ∃𝑦 ∈ (𝑅1𝑥) ¬ 𝑦𝐴)
 
1-Dec-2025sn-msqgt0d 42474 A nonzero square is positive. (Contributed by SN, 1-Dec-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐴 ≠ 0)       (𝜑 → 0 < (𝐴 · 𝐴))
 
1-Dec-2025sn-mullt0d 42473 The product of two negative numbers is positive. (Contributed by SN, 1-Dec-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐵 ∈ ℝ)    &   (𝜑𝐴 < 0)    &   (𝜑𝐵 < 0)       (𝜑 → 0 < (𝐴 · 𝐵))
 
1-Dec-2025elabgt 3638 Membership in a class abstraction, using implicit substitution. (Closed theorem version of elabg 3643.) (Contributed by NM, 7-Nov-2005.) (Proof shortened by Andrew Salmon, 8-Jun-2011.) Reduce axiom usage. (Revised by GG, 12-Oct-2024.) (Proof shortened by Wolf Lammen, 11-May-2025.) (Proof shortened by SN, 1-Dec-2025.)
((𝐴𝐵 ∧ ∀𝑥(𝑥 = 𝐴 → (𝜑𝜓))) → (𝐴 ∈ {𝑥𝜑} ↔ 𝜓))
 
30-Nov-2025eluz3nn 12848 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 47360 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 49661 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 49523). (Contributed by Zhi Wang, 26-Nov-2025.)
(𝜑1 ∈ TermCat)    &   (𝜑𝐺 ∈ (𝐷 Func 1 ))    &   𝐿 = (𝐶Δfunc 1 )    &   (𝜑𝑌 = ((1st𝐿)‘𝑋))       (𝜑 → (𝑋((𝐶 Colimit 𝐷)‘𝐹)𝑀𝑌(𝐺(⟨𝐷, 1 ⟩ Lan 𝐶)𝐹)𝑀))
 
26-Nov-2025lmdran 49660 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 49523). (Contributed by Zhi Wang, 26-Nov-2025.)
(𝜑1 ∈ TermCat)    &   (𝜑𝐺 ∈ (𝐷 Func 1 ))    &   𝐿 = (𝐶Δfunc 1 )    &   (𝜑𝑌 = ((1st𝐿)‘𝑋))       (𝜑 → (𝑋((𝐶 Limit 𝐷)‘𝐹)𝑀𝑌(𝐺(⟨𝐷, 1 ⟩ Ran 𝐶)𝐹)𝑀))
 
26-Nov-2025ranval3 49620 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 49154 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 49153 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 49152 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 49139 Composition of opposite functors. (Contributed by Zhi Wang, 26-Nov-2025.)
(𝜑 → (𝐺func 𝐹) = 𝐾)    &   (𝜑𝐹 ∈ (𝐶 Func 𝐷))    &   (𝜑𝐺 ∈ (𝐷 Func 𝐸))       (𝜑 → (( oppFunc ‘𝐺) ∘func ( oppFunc ‘𝐹)) = ( oppFunc ‘𝐾))
 
26-Nov-2025mullt0b2d 42472 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 42471 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 42470 Negative times positive is negative. (Contributed by SN, 26-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐵 ∈ ℝ)    &   (𝜑𝐴 < 0)    &   (𝜑 → 0 < 𝐵)       (𝜑 → (𝐴 · 𝐵) < 0)
 
26-Nov-2025sn-reclt0d 42469 The reciprocal of a negative real is negative. (Contributed by SN, 26-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐴 < 0)       (𝜑 → (1 / 𝐴) < 0)
 
26-Nov-2025sn-recgt0d 42465 The reciprocal of a positive real is positive. (Contributed by SN, 26-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑 → 0 < 𝐴)       (𝜑 → 0 < (1 / 𝐴))
 
25-Nov-2025prcofdiag 49383 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 49382 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 49211 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 49210 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 48845 Composition of a Cartesian product with a function. (Contributed by Zhi Wang, 25-Nov-2025.)
(𝐹:𝐴𝐵 → ((𝐵 × 𝐶) ∘ 𝐹) = (𝐴 × 𝐶))
 
25-Nov-2025ffvbr 48844 Relation with function value. (Contributed by Zhi Wang, 25-Nov-2025.)
((𝐹:𝐴𝐵𝑋𝐴) → 𝑋𝐹(𝐹𝑋))
 
25-Nov-2025rerecid2 42438 Multiplication of a number and its reciprocal. (Contributed by SN, 25-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐴 ≠ 0)       (𝜑 → ((1 / 𝐴) · 𝐴) = 1)
 
25-Nov-2025rerecid 42437 Multiplication of a number and its reciprocal. (Contributed by SN, 25-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐴 ≠ 0)       (𝜑 → (𝐴 · (1 / 𝐴)) = 1)
 
25-Nov-2025sn-rereccld 42436 Closure law for reciprocal. (Contributed by SN, 25-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐴 ≠ 0)       (𝜑 → (1 / 𝐴) ∈ ℝ)
 
25-Nov-2025redivcan3d 42435 A cancellation law for division. (Contributed by SN, 25-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐵 ∈ ℝ)    &   (𝜑𝐵 ≠ 0)       (𝜑 → ((𝐵 · 𝐴) / 𝐵) = 𝐴)
 
25-Nov-2025redivcan2d 42434 A cancellation law for division. (Contributed by SN, 25-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐵 ∈ ℝ)    &   (𝜑𝐵 ≠ 0)       (𝜑 → (𝐵 · (𝐴 / 𝐵)) = 𝐴)
 
25-Nov-2025redivmuld 42433 Relationship between division and multiplication. (Contributed by SN, 25-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐵 ∈ ℝ)    &   (𝜑𝐶 ∈ ℝ)    &   (𝜑𝐶 ≠ 0)       (𝜑 → ((𝐴 / 𝐶) = 𝐵 ↔ (𝐶 · 𝐵) = 𝐴))
 
25-Nov-2025sn-redivcld 42432 Closure law for real division. (Contributed by SN, 25-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐵 ∈ ℝ)    &   (𝜑𝐵 ≠ 0)       (𝜑 → (𝐴 / 𝐵) ∈ ℝ)
 
25-Nov-2025rediveud 42431 Existential uniqueness of real quotients. (Contributed by SN, 25-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐵 ∈ ℝ)    &   (𝜑𝐵 ≠ 0)       (𝜑 → ∃!𝑥 ∈ ℝ (𝐵 · 𝑥) = 𝐴)
 
25-Nov-2025redivvald 42430 Value of real division, which is the (unique) real 𝑥 such that (𝐵 · 𝑥) = 𝐴. (Contributed by SN, 25-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐵 ∈ ℝ)    &   (𝜑𝐵 ≠ 0)       (𝜑 → (𝐴 / 𝐵) = (𝑥 ∈ ℝ (𝐵 · 𝑥) = 𝐴))
 
25-Nov-2025df-rediv 42429 Define division between real numbers. This operator saves ax-mulcom 11132 over df-div 11836 in certain situations. (Contributed by SN, 25-Nov-2025.)
/ = (𝑥 ∈ ℝ, 𝑦 ∈ (ℝ ∖ {0}) ↦ (𝑧 ∈ ℝ (𝑦 · 𝑧) = 𝑥))
 
25-Nov-2025uniqsw 8748 The union of a quotient set. More restrictive antecedent; kept for backward compatibility; for new work, prefer uniqs 8747. (Contributed by NM, 9-Dec-2008.) (Proof shortened by AV, 25-Nov-2025.)
(𝑅𝑉 (𝐴 / 𝑅) = (𝑅𝐴))
 
25-Nov-2025ecelqsw 8742 Membership of an equivalence class in a quotient set. More restrictive antecedent; kept for backward compatibility; for new work, prefer ecelqs 8741. (Contributed by Jeff Madsen, 10-Jun-2010.) (Revised by Mario Carneiro, 9-Jul-2014.) (Proof shortened by AV, 25-Nov-2025.)
((𝑅𝑉𝐵𝐴) → [𝐵]𝑅 ∈ (𝐴 / 𝑅))
 
24-Nov-2025f1omo 48881 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 48880 assuming ax-un 7711 (see f1omoALT 48883). (Contributed by Zhi Wang, 19-Sep-2024.) (Proof shortened by SN, 24-Nov-2025.)
(𝜑𝐹 = (𝐴 × {1o}))       (𝜑 → ∃*𝑦 𝑦 ∈ (𝐹𝑋))
 
24-Nov-2025mulgt0b2d 42466 Biconditional, deductive form of mulgt0 11251. The first factor is positive iff the product is. (Contributed by SN, 24-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐵 ∈ ℝ)    &   (𝜑 → 0 < 𝐵)       (𝜑 → (0 < 𝐴 ↔ 0 < (𝐴 · 𝐵)))
 
24-Nov-2025sn-remul0ord 42396 A product is zero iff one of its factors are zero. (Contributed by SN, 24-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐵 ∈ ℝ)       (𝜑 → ((𝐴 · 𝐵) = 0 ↔ (𝐴 = 0 ∨ 𝐵 = 0)))
 
23-Nov-2025lgricngricex 48119 There are two different locally isomorphic graphs which are not isomorphic. (Contributed by AV, 23-Nov-2025.)
𝑔(𝑔𝑙𝑔𝑟 ∧ ¬ 𝑔𝑔𝑟 )
 
23-Nov-2025dmqsblocks 38845 If the pet 38843 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 38640). It makes explicit that pet 38843 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 38399 An (𝑅 ⋉ (' E | 𝐴))-coset in its domain quotient. In the pet 38843 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 38398 An (𝑅 ⋉ (' E | 𝐴))-coset in its domain quotient. (Contributed by Peter Mazsa, 23-Nov-2025.)
((𝐴𝑉𝐵𝑊𝑅𝑋) → ([𝐵](𝑅 ⋉ ( E ↾ 𝐴)) ∈ (dom (𝑅 ⋉ ( E ↾ 𝐴)) / (𝑅 ⋉ ( E ↾ 𝐴))) ↔ (𝐵𝐴𝐵 ≠ ∅ ∧ [𝐵]𝑅 ≠ ∅)))
 
23-Nov-2025eldmxrncnvepres2 38397 Element of the domain of the range product with restricted converse epsilon relation. This identifies the domain of the pet 38843 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 38396 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 38395 Domain of the range product with restricted converse epsilon relation. (Contributed by Peter Mazsa, 23-Nov-2025.)
dom (𝑅 ⋉ ( E ↾ 𝐴)) = (dom (𝑅𝐴) ∖ {∅})
 
23-Nov-2025dmxrncnvep 38362 Domain of the range product with converse epsilon relation. (Contributed by Peter Mazsa, 23-Nov-2025.)
dom (𝑅 E ) = (dom 𝑅 ∖ {∅})
 
23-Nov-2025dmcnvep 38361 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 38265 Elementhood in the domain of a restriction. (Contributed by Peter Mazsa, 23-Nov-2025.)
(𝐵𝑉 → (𝐵 ∈ dom (𝑅𝐴) ↔ (𝐵𝐴 ∧ [𝐵]𝑅 ≠ ∅)))
 
22-Nov-2025gpg5ngric 48118 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 48117 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 48084 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 48069 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 47370 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 47369 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 47368 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 47367 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 38360 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 38359 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 15397 A nonnegative integer is its own absolute value (inference form). (Contributed by AV, 22-Nov-2025.)
𝑁 ∈ ℕ0       (abs‘𝑁) = 𝑁
 
22-Nov-2025nn0absid 15396 A nonnegative integer is its own absolute value. (Contributed by AV, 22-Nov-2025.)
(𝑁 ∈ ℕ0 → (abs‘𝑁) = 𝑁)
 
22-Nov-2025eluz5nn 12850 An integer greater than or equal to 5 is a positive integer. (Contributed by AV, 22-Nov-2025.)
(𝑁 ∈ (ℤ‘5) → 𝑁 ∈ ℕ)
 
22-Nov-2025eceldmqs 8760 𝑅-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 8759 𝑅-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 8741 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 49605 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 49604 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 49368 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 48113 Lemma 5 for pgnbgreunbgr 48115. 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 48110 Lemma 1 for pgnbgreunbgrlem5 48113. (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 48102 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 48101 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 48100 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 48099 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 48098 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 47364 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 15280 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 49659 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 49657 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 49656 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 49647 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 49646 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 49641 Reverse closure for a colimit of a diagram. (Contributed by Zhi Wang, 20-Nov-2025.)
(𝑋 ∈ ((𝐶 Colimit 𝐷)‘𝐹) → 𝐹 ∈ (𝐷 Func 𝐶))
 
20-Nov-2025lmdrcl 49640 Reverse closure for a limit of a diagram. (Contributed by Zhi Wang, 20-Nov-2025.)
(𝑋 ∈ ((𝐶 Limit 𝐷)‘𝐹) → 𝐹 ∈ (𝐷 Func 𝐶))
 
20-Nov-2025diagpropd 49281 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 49280 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 49279 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 49170 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 48794 Formula-building rule for restricted existential uniqueness quantifier. Deduction form. General version of reueqbidv 3394. (Contributed by Zhi Wang, 20-Nov-2025.)
(𝜑𝐴 = 𝐵)    &   ((𝜑𝑥𝐴) → (𝜓𝜒))       (𝜑 → (∃!𝑥𝐴 𝜓 ↔ ∃!𝑥𝐵 𝜒))
 
20-Nov-2025pgnbgreunbgrlem6 48114 Lemma 6 for pgnbgreunbgr 48115. (Contributed by AV, 20-Nov-2025.)
𝐺 = (5 gPetersenGr 2)    &   𝑉 = (Vtx‘𝐺)    &   𝐸 = (Edg‘𝐺)    &   𝑁 = (𝐺 NeighbVtx 𝑋)       (((𝐾𝑁𝐿𝑁𝐾𝐿) ∧ 𝑏 ∈ (0..^5)) → (({𝐾, ⟨1, 𝑏⟩} ∈ 𝐸 ∧ {⟨1, 𝑏⟩, 𝐿} ∈ 𝐸) → 𝑋 = ⟨1, 𝑏⟩))
 
20-Nov-2025pgnbgreunbgrlem5lem3 48112 Lemma 3 for pgnbgreunbgrlem5 48113. (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 48111 Lemma 2 for pgnbgreunbgrlem5 48113. (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 48109 Lemma 4 for pgnbgreunbgr 48115. (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 48058 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 47361 8 modulo 5 is 3. (Contributed by AV, 20-Nov-2025.)
(8 mod 5) = 3
 
19-Nov-2025oppfdiag 49405 A diagonal functor for opposite categories is the opposite functor of the diagonal functor for original categories post-composed by an isomorphism (fucoppc 49399). (Contributed by Zhi Wang, 19-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   𝐿 = (𝐶Δfunc𝐷)    &   (𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)    &   (𝜑𝐹 = ( oppFunc ↾ (𝐷 Func 𝐶)))    &   𝑁 = (𝐷 Nat 𝐶)    &   (𝜑𝐺 = (𝑚 ∈ (𝐷 Func 𝐶), 𝑛 ∈ (𝐷 Func 𝐶) ↦ ( I ↾ (𝑛𝑁𝑚))))       (𝜑 → (⟨𝐹, 𝐺⟩ ∘func ( oppFunc ‘𝐿)) = (𝑂Δfunc𝑃))
 
19-Nov-2025oppfdiag1a 49404 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 49403 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 49401 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 49400 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 49393 The object part of the op functor on functor categories. Lemma for oppfdiag 49405. (Contributed by Zhi Wang, 19-Nov-2025.)
(𝜑𝐹 = ( oppFunc ↾ (𝐶 Func 𝐷)))    &   (𝜑𝑋 ∈ (𝐶 Func 𝐷))       (𝜑 → (𝑀(2nd ‘(𝐹𝑋))𝑁) = (𝑁(2nd𝑋)𝑀))
 
19-Nov-2025oppc2ndf 49278 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 49277 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 49276 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 49207 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 49129 Value of the morphism part of the opposite functor. (Contributed by Zhi Wang, 19-Nov-2025.)
(𝜑𝐹 ∈ (𝐶 Func 𝐷))       (𝜑 → (𝑀(2nd ‘( oppFunc ‘𝐹))𝑁) = (𝑁(2nd𝐹)𝑀))
 
19-Nov-2025oppf1 49128 Value of the object part of the opposite functor. (Contributed by Zhi Wang, 19-Nov-2025.)
(𝜑𝐹 ∈ (𝐶 Func 𝐷))       (𝜑 → (1st ‘( oppFunc ‘𝐹)) = (1st𝐹))
 
19-Nov-2025oppfval3 49127 Value of the opposite functor. (Contributed by Zhi Wang, 19-Nov-2025.)
(𝜑𝐹 = ⟨𝐺, 𝐾⟩)    &   (𝜑𝐹 ∈ (𝐶 Func 𝐷))       (𝜑 → ( oppFunc ‘𝐹) = ⟨𝐺, tpos 𝐾⟩)
 
19-Nov-2025eqfnovd 48854 Deduction for equality of operations. (Contributed by Zhi Wang, 19-Nov-2025.)
(𝜑𝐹 Fn (𝐴 × 𝐵))    &   (𝜑𝐺 Fn (𝐴 × 𝐵))    &   ((𝜑 ∧ (𝑥𝐴𝑦𝐵)) → (𝑥𝐹𝑦) = (𝑥𝐺𝑦))       (𝜑𝐹 = 𝐺)
 
19-Nov-2025cos4t3rdpi 42344 The cosine of 4 · (π / 3) is -1 / 2. (Contributed by SN, 19-Nov-2025.)
(cos‘(4 · (π / 3))) = -(1 / 2)
 
19-Nov-2025sin4t3rdpi 42343 The sine of 4 · (π / 3) is -(√3) / 2. (Contributed by SN, 19-Nov-2025.)
(sin‘(4 · (π / 3))) = -((√‘3) / 2)
 
19-Nov-2025cos2t3rdpi 42342 The cosine of 2 · (π / 3) is -1 / 2. (Contributed by SN, 19-Nov-2025.)
(cos‘(2 · (π / 3))) = -(1 / 2)
 
19-Nov-2025sin2t3rdpi 42341 The sine of 2 · (π / 3) is (√3) / 2. (Contributed by SN, 19-Nov-2025.)
(sin‘(2 · (π / 3))) = ((√‘3) / 2)
 
19-Nov-2025cospim 42339 Cosine of a number subtracted from π. (Contributed by SN, 19-Nov-2025.)
(𝐴 ∈ ℂ → (cos‘(π − 𝐴)) = -(cos‘𝐴))
 
19-Nov-2025sinpim 42338 Sine of a number subtracted from π. (Contributed by SN, 19-Nov-2025.)
(𝐴 ∈ ℂ → (sin‘(π − 𝐴)) = (sin‘𝐴))
 
19-Nov-20253rdpwhole 42280 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 42247 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 49402 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 49399 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 49398 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 49397 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 49396 Lemma for fucoppc 49399. (Contributed by Zhi Wang, 18-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   𝑁 = (𝐶 Nat 𝐷)    &   (𝜑𝐹 = ( oppFunc ↾ (𝐶 Func 𝐷)))    &   (𝜑𝑋 ∈ (𝐶 Func 𝐷))    &   (𝜑𝑌 ∈ (𝐶 Func 𝐷))       (𝜑 → (𝑌𝑁𝑋) = ((𝐹𝑋)(𝑂 Nat 𝑃)(𝐹𝑌)))
 
18-Nov-2025opf2 49395 The morphism part of the op functor on functor categories. Lemma for fucoppc 49399. (Contributed by Zhi Wang, 18-Nov-2025.)
(𝜑𝐹 = (𝑥𝐴, 𝑦𝐵 ↦ ( I ↾ (𝑦𝑁𝑥))))    &   (𝜑𝑋𝐴)    &   (𝜑𝑌𝐵)    &   (𝜑𝐶 = 𝐷)    &   (𝜑𝐷 ∈ (𝑌𝑁𝑋))       (𝜑 → ((𝑋𝐹𝑌)‘𝐶) = 𝐷)
 
18-Nov-2025opf2fval 49394 The morphism part of the op functor on functor categories. Lemma for fucoppc 49399. (Contributed by Zhi Wang, 18-Nov-2025.)
(𝜑𝐹 = (𝑥𝐴, 𝑦𝐵 ↦ ( I ↾ (𝑦𝑁𝑥))))    &   (𝜑𝑋𝐴)    &   (𝜑𝑌𝐵)       (𝜑 → (𝑋𝐹𝑌) = ( I ↾ (𝑌𝑁𝑋)))
 
18-Nov-2025opf11 49392 The object part of the op functor on functor categories. Lemma for fucoppc 49399. (Contributed by Zhi Wang, 18-Nov-2025.)
(𝜑𝐹 = ( oppFunc ↾ (𝐶 Func 𝐷)))    &   (𝜑𝑋 ∈ (𝐶 Func 𝐷))       (𝜑 → (1st ‘(𝐹𝑋)) = (1st𝑋))
 
18-Nov-2025natoppfb 49220 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 49219 A natural transformation is natural between opposite functors. (Contributed by Zhi Wang, 18-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   𝑁 = (𝐶 Nat 𝐷)    &   𝑀 = (𝑂 Nat 𝑃)    &   (𝜑𝐾 = ( oppFunc ‘𝐹))    &   (𝜑𝐿 = ( oppFunc ‘𝐺))    &   (𝜑𝐴 ∈ (𝐹𝑁𝐺))       (𝜑𝐴 ∈ (𝐿𝑀𝐾))
 
18-Nov-2025natoppf 49218 A natural transformation is natural between opposite functors. (Contributed by Zhi Wang, 18-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   𝑁 = (𝐶 Nat 𝐷)    &   𝑀 = (𝑂 Nat 𝑃)    &   (𝜑𝐴 ∈ (⟨𝐹, 𝐺𝑁𝐾, 𝐿⟩))       (𝜑𝐴 ∈ (⟨𝐾, tpos 𝐿𝑀𝐹, tpos 𝐺⟩))
 
18-Nov-2025eloppf2 49123 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 49122 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 48108 Lemma 3 for pgnbgreunbgr 48115. (Contributed by AV, 18-Nov-2025.)
𝐺 = (5 gPetersenGr 2)    &   𝑉 = (Vtx‘𝐺)    &   𝐸 = (Edg‘𝐺)    &   𝑁 = (𝐺 NeighbVtx 𝑋)       (((𝐾𝑁𝐿𝑁𝐾𝐿) ∧ 𝑏 ∈ (0..^5)) → (({𝐾, ⟨0, 𝑏⟩} ∈ 𝐸 ∧ {⟨0, 𝑏⟩, 𝐿} ∈ 𝐸) → 𝑋 = ⟨0, 𝑏⟩))
 
18-Nov-2025pgnbgreunbgrlem2 48107 Lemma 2 for pgnbgreunbgr 48115. 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 33129 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 33128 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 33127 Group conjugation induces a group action. (Contributed by Thierry Arnoux, 18-Nov-2025.)
𝐵 = (Base‘𝑀)    &    + = (+g𝑀)    &    = (-g𝑀)    &    = (𝑥𝐵, 𝑦𝐵 ↦ ((𝑥 + 𝑦) 𝑥))       (𝑀 ∈ Grp → ∈ (𝑀 GrpAct 𝐵))
 
18-Nov-2025fxpgaeq 33126 A fixed point 𝑋 is invariant under group action 𝐴 (Contributed by Thierry Arnoux, 18-Nov-2025.)
𝑈 = (Base‘𝐺)    &   (𝜑𝐴 ∈ (𝐺 GrpAct 𝐶))    &   (𝜑𝑋 ∈ (𝐶FixPts𝐴))    &   (𝜑𝑃𝑈)       (𝜑 → (𝑃𝐴𝑋) = 𝑋)
 
18-Nov-2025isfxp 33125 Property of being a fixed point. (Contributed by Thierry Arnoux, 18-Nov-2025.)
𝑈 = (Base‘𝐺)    &   (𝜑𝐴 ∈ (𝐺 GrpAct 𝐶))    &   (𝜑𝑋𝐶)       (𝜑 → (𝑋 ∈ (𝐶FixPts𝐴) ↔ ∀𝑝𝑈 (𝑝𝐴𝑋) = 𝑋))
 
18-Nov-2025fxpgaval 33124 Value of the set of fixed points for a group action 𝐴 (Contributed by Thierry Arnoux, 18-Nov-2025.)
𝑈 = (Base‘𝐺)    &   (𝜑𝐴 ∈ (𝐺 GrpAct 𝐶))       (𝜑 → (𝐶FixPts𝐴) = {𝑥𝐶 ∣ ∀𝑝𝑈 (𝑝𝐴𝑥) = 𝑥})
 
18-Nov-2025fxpss 33123 The set of fixed points is a subset of the set acted upon. (Contributed by Thierry Arnoux, 18-Nov-2025.)
(𝜑𝐵𝑉)    &   (𝜑𝐴𝑊)       (𝜑 → (𝐵FixPts𝐴) ⊆ 𝐵)
 
18-Nov-2025fxpval 33122 Value of the set of fixed points. (Contributed by Thierry Arnoux, 18-Nov-2025.)
(𝜑𝐵𝑉)    &   (𝜑𝐴𝑊)       (𝜑 → (𝐵FixPts𝐴) = {𝑥𝐵 ∣ ∀𝑝 ∈ dom dom 𝐴(𝑝𝐴𝑥) = 𝑥})
 
18-Nov-2025df-fxp 33121 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 3190 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 3188 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 3186 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 49658 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 49537 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 49536 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 49535 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 49534 Post-compose with a functor to a terminal category. (Contributed by Zhi Wang, 17-Nov-2025.)
(𝜑𝐹 ∈ (𝐶 Func 𝐷))    &   (𝜑𝐺 ∈ (𝐷 Func 𝐸))    &   (𝜑𝐾 ∈ (𝐶 Func 𝐸))    &   (𝜑𝐸 ∈ TermCat)       (𝜑 → (𝐺func 𝐹) = 𝐾)
 
17-Nov-2025termfucterm 49533 All functors between two terminal categories are isomorphisms. (Contributed by Zhi Wang, 17-Nov-2025.)
𝐶 = (CatCat‘𝑈)    &   𝐵 = (Base‘𝐶)    &   𝐼 = (Iso‘𝐶)    &   (𝜑𝑋𝐵)    &   (𝜑𝑋 ∈ TermCat)    &   (𝜑𝑌𝐵)    &   (𝜑𝑌 ∈ TermCat)       (𝜑 → (𝑋 Func 𝑌) = (𝑋𝐼𝑌))
 
17-Nov-20250fucterm 49532 The category of functors from an initial category is terminal. (Contributed by Zhi Wang, 17-Nov-2025.)
(𝜑𝐶𝑉)    &   (𝜑 → ∅ = (Base‘𝐶))    &   (𝜑𝐷 ∈ Cat)    &   𝑄 = (𝐶 FuncCat 𝐷)       (𝜑𝑄 ∈ TermCat)
 
17-Nov-2025fucterm 49531 The category of functors to a terminal category is terminal. (Contributed by Zhi Wang, 17-Nov-2025.)
𝑄 = (𝐶 FuncCat 𝐷)    &   (𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ TermCat)       (𝜑𝑄 ∈ TermCat)
 
17-Nov-2025funcsn 49530 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 49470 The object of a terminal category. (Contributed by Zhi Wang, 17-Nov-2025.)
(𝜑𝐶 ∈ TermCat)    &   𝐵 = (Base‘𝐶)       (𝜑 𝐵𝐵)
 
17-Nov-2025uobeq3 49391 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 49390 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 49389 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 49209 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 49208 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 49205 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 49182 Reverse closure for universal object. (Contributed by Zhi Wang, 17-Nov-2025.)
(𝑋 ∈ dom (𝐹(𝐷 UP 𝐸)𝑊) → (𝐷 ∈ Cat ∧ 𝐸 ∈ Cat))
 
17-Nov-2025oppff1o 49138 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 49137 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 49135 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 49113 oppFunc is a function on (V × V). (Contributed by Zhi Wang, 17-Nov-2025.)
oppFunc Fn (V × V)
 
17-Nov-2025isoval2 49024 The isomorphisms are the domain of the inverse relation. (Contributed by Zhi Wang, 17-Nov-2025.)
𝑁 = (Inv‘𝐶)    &   𝐼 = (Iso‘𝐶)       (𝑋𝐼𝑌) = dom (𝑋𝑁𝑌)
 
17-Nov-2025isorcl2 49023 Reverse closure for isomorphism relations. (Contributed by Zhi Wang, 17-Nov-2025.)
𝐼 = (Iso‘𝐶)    &   (𝜑𝐹 ∈ (𝑋𝐼𝑌))    &   𝐵 = (Base‘𝐶)       (𝜑 → (𝑋𝐵𝑌𝐵))
 
17-Nov-2025isorcl 49022 Reverse closure for isomorphism relations. (Contributed by Zhi Wang, 17-Nov-2025.)
𝐼 = (Iso‘𝐶)    &   (𝜑𝐹 ∈ (𝑋𝐼𝑌))       (𝜑𝐶 ∈ Cat)
 
17-Nov-2025pgnbgreunbgrlem2lem3 48106 Lemma 3 for pgnbgreunbgrlem2 48107. (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 49206 Universal property and fully faithful functor. (Contributed by Zhi Wang, 16-Nov-2025.)
(𝜑 → ((1st𝐾)‘𝑋) = 𝑌)    &   (𝜑𝐾 ∈ ((𝐷 Full 𝐸) ∩ (𝐷 Faith 𝐸)))    &   (𝜑 → (𝐾func 𝐹) = 𝐺)    &   (𝜑 → ((𝑋(2nd𝐾)((1st𝐹)‘𝑍))‘𝑀) = 𝑁)    &   (𝜑𝑍(𝐹(𝐶 UP 𝐷)𝑋)𝑀)       (𝜑𝑍(𝐺(𝐶 UP 𝐸)𝑌)𝑁)
 
16-Nov-2025uptra 49204 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 49203 Universal property and fully faithful functor. (Contributed by Zhi Wang, 16-Nov-2025.)
(𝜑 → (𝑅𝑋) = 𝑌)    &   (𝜑𝑅((𝐷 Full 𝐸) ∩ (𝐷 Faith 𝐸))𝑆)    &   (𝜑 → (⟨𝑅, 𝑆⟩ ∘func𝐹, 𝐺⟩) = ⟨𝐾, 𝐿⟩)    &   (𝜑 → ((𝑋𝑆(𝐹𝑍))‘𝑀) = 𝑁)    &   (𝜑𝑍(⟨𝐹, 𝐺⟩(𝐶 UP 𝐷)𝑋)𝑀)       (𝜑𝑍(⟨𝐾, 𝐿⟩(𝐶 UP 𝐸)𝑌)𝑁)
 
16-Nov-2025uptr 49202 Universal property and fully faithful functor. (Contributed by Zhi Wang, 16-Nov-2025.)
(𝜑 → (𝑅𝑋) = 𝑌)    &   (𝜑𝑅((𝐷 Full 𝐸) ∩ (𝐷 Faith 𝐸))𝑆)    &   (𝜑 → (⟨𝑅, 𝑆⟩ ∘func𝐹, 𝐺⟩) = ⟨𝐾, 𝐿⟩)    &   𝐵 = (Base‘𝐷)    &   (𝜑𝑋𝐵)    &   (𝜑𝐹(𝐶 Func 𝐷)𝐺)    &   (𝜑 → ((𝑋𝑆(𝐹𝑍))‘𝑀) = 𝑁)    &   𝐽 = (Hom ‘𝐷)    &   (𝜑𝑀 ∈ (𝑋𝐽(𝐹𝑍)))       (𝜑 → (𝑍(⟨𝐹, 𝐺⟩(𝐶 UP 𝐷)𝑋)𝑀𝑍(⟨𝐾, 𝐿⟩(𝐶 UP 𝐸)𝑌)𝑁))
 
16-Nov-2025uptrlem3 49201 Lemma for uptr 49202. (Contributed by Zhi Wang, 16-Nov-2025.)
(𝜑 → (𝑅𝑋) = 𝑌)    &   (𝜑𝑅((𝐷 Full 𝐸) ∩ (𝐷 Faith 𝐸))𝑆)    &   (𝜑 → (⟨𝑅, 𝑆⟩ ∘func𝐹, 𝐺⟩) = ⟨𝐾, 𝐿⟩)    &   𝐵 = (Base‘𝐷)    &   (𝜑𝑋𝐵)    &   (𝜑𝐹(𝐶 Func 𝐷)𝐺)    &   (𝜑 → ((𝑋𝑆(𝐹𝑍))‘𝑀) = 𝑁)    &   𝐽 = (Hom ‘𝐷)    &   (𝜑𝑀 ∈ (𝑋𝐽(𝐹𝑍)))    &   𝐴 = (Base‘𝐶)    &   (𝜑𝑍𝐴)       (𝜑 → (𝑍(⟨𝐹, 𝐺⟩(𝐶 UP 𝐷)𝑋)𝑀𝑍(⟨𝐾, 𝐿⟩(𝐶 UP 𝐸)𝑌)𝑁))
 
16-Nov-2025uptrlem2 49200 Lemma for uptr 49202. (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 49199 Lemma for uptr 49202. (Contributed by Zhi Wang, 16-Nov-2025.)
𝐻 = (Hom ‘𝐶)    &   𝐼 = (Hom ‘𝐷)    &   𝐽 = (Hom ‘𝐸)    &    = (comp‘𝐷)    &    = (comp‘𝐸)    &   (𝜑𝑋 ∈ (Base‘𝐷))    &   (𝜑 → (𝑀𝑋) = 𝑌)    &   (𝜑𝑍 ∈ (Base‘𝐶))    &   (𝜑𝑊 ∈ (Base‘𝐶))    &   (𝜑𝐴 ∈ (𝑋𝐼(𝐹𝑍)))    &   (𝜑 → ((𝑋𝑁(𝐹𝑍))‘𝐴) = 𝐵)    &   (𝜑𝐹(𝐶 Func 𝐷)𝐺)    &   (𝜑𝑀((𝐷 Full 𝐸) ∩ (𝐷 Faith 𝐸))𝑁)    &   (𝜑 → (⟨𝑀, 𝑁⟩ ∘func𝐹, 𝐺⟩) = ⟨𝐾, 𝐿⟩)       (𝜑 → (∀ ∈ (𝑌𝐽(𝐾𝑊))∃!𝑘 ∈ (𝑍𝐻𝑊) = (((𝑍𝐿𝑊)‘𝑘)(⟨𝑌, (𝐾𝑍)⟩ (𝐾𝑊))𝐵) ↔ ∀𝑔 ∈ (𝑋𝐼(𝐹𝑊))∃!𝑘 ∈ (𝑍𝐻𝑊)𝑔 = (((𝑍𝐺𝑊)‘𝑘)(⟨𝑋, (𝐹𝑍)⟩ (𝐹𝑊))𝐴)))
 
16-Nov-2025idemb 49148 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 49088 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 49085 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 49084 Value of the morphism part of the functor composition. (Contributed by Zhi Wang, 16-Nov-2025.)
𝐵 = (Base‘𝐶)    &   (𝜑𝐹(𝐶 Func 𝐷)𝐺)    &   (𝜑𝐾(𝐷 Func 𝐸)𝐿)    &   (𝜑 → (⟨𝐾, 𝐿⟩ ∘func𝐹, 𝐺⟩) = ⟨𝑀, 𝑁⟩)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)    &   𝐻 = (Hom ‘𝐶)    &   (𝜑𝑅 ∈ (𝑋𝐻𝑌))       (𝜑 → (((𝐹𝑋)𝐿(𝐹𝑌))‘((𝑋𝐺𝑌)‘𝑅)) = ((𝑋𝑁𝑌)‘𝑅))
 
16-Nov-2025cofu1a 49083 Value of the object part of the functor composition. (Contributed by Zhi Wang, 16-Nov-2025.)
𝐵 = (Base‘𝐶)    &   (𝜑𝐹(𝐶 Func 𝐷)𝐺)    &   (𝜑𝐾(𝐷 Func 𝐸)𝐿)    &   (𝜑 → (⟨𝐾, 𝐿⟩ ∘func𝐹, 𝐺⟩) = ⟨𝑀, 𝑁⟩)    &   (𝜑𝑋𝐵)       (𝜑 → (𝐾‘(𝐹𝑋)) = (𝑀𝑋))
 
16-Nov-2025pgnbgreunbgrlem2lem2 48105 Lemma 2 for pgnbgreunbgrlem2 48107. (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 48104 Lemma 1 for pgnbgreunbgrlem2 48107. (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 45008 The Axiom of Extensionality ax-ext 2701 is true in the permutation model defined from 𝐹. This theorem is an immediate consequence of the fact that ax-ext 2701 holds in all permutation models and is provided as an illustration. (Contributed by Eric Schmidt, 16-Nov-2025.)
𝐹 = (( I ↾ (V ∖ {∅, {∅}})) ∪ {⟨∅, {∅}⟩, ⟨{∅}, ∅⟩})    &   𝑅 = (𝐹 ∘ E )       (∀𝑧(𝑧𝑅𝑥𝑧𝑅𝑦) → 𝑥 = 𝑦)
 
16-Nov-2025nregmodel 45007 The Axiom of Regularity ax-reg 9545 is false in the permutation model defined from 𝐹. Since the other axioms of ZFC hold in all permutation models (permaxext 44995 through permac8prim 45004), 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 44983 through wfac8prim 44992), 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 45006 Lemma for nregmodel 45007. (Contributed by Eric Schmidt, 16-Nov-2025.)
𝐹 = (( I ↾ (V ∖ {∅, {∅}})) ∪ {⟨∅, {∅}⟩, ⟨{∅}, ∅⟩})    &   𝑅 = (𝐹 ∘ E )       (𝑥𝑅∅ ↔ 𝑥 ∈ {∅})
 
16-Nov-2025nregmodelf1o 45005 Define a permutation 𝐹 used to produce a model in which ax-reg 9545 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 45004 The Axiom of Choice ac8prim 44981 holds in permutation models. Part of Exercise II.9.3 of [Kunen2] p. 149. Note that ax-ac 10412 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 49151 If "𝐹 is a section of 𝐺 " in a category of small categories (in a universe), then 𝐹 is faithful. Combined with cofidf1 49110, 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 49110 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 49109 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 49108 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 49107 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 49106 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 49105 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 49104 Express the morphism part of (𝐺func 𝐹) = 𝐼 explicitly. (Contributed by Zhi Wang, 15-Nov-2025.)
𝐼 = (idfunc𝐷)    &   𝐵 = (Base‘𝐷)    &   (𝜑𝑋𝐵)    &   (𝜑𝐹(𝐷 Func 𝐸)𝐺)    &   (𝜑𝐾(𝐸 Func 𝐷)𝐿)    &   (𝜑 → (⟨𝐾, 𝐿⟩ ∘func𝐹, 𝐺⟩) = 𝐼)    &   (𝜑𝑌𝐵)    &   𝐻 = (Hom ‘𝐷)    &   (𝜑𝑅 ∈ (𝑋𝐻𝑌))       (𝜑 → (((𝐹𝑋)𝐿(𝐹𝑌))‘((𝑋𝐺𝑌)‘𝑅)) = 𝑅)
 
15-Nov-2025cofid1 49103 Express the object part of (𝐺func 𝐹) = 𝐼 explicitly. (Contributed by Zhi Wang, 15-Nov-2025.)
𝐼 = (idfunc𝐷)    &   𝐵 = (Base‘𝐷)    &   (𝜑𝑋𝐵)    &   (𝜑𝐹(𝐷 Func 𝐸)𝐺)    &   (𝜑𝐾(𝐸 Func 𝐷)𝐿)    &   (𝜑 → (⟨𝐾, 𝐿⟩ ∘func𝐹, 𝐺⟩) = 𝐼)       (𝜑 → (𝐾‘(𝐹𝑋)) = 𝑋)
 
15-Nov-2025cofid2a 49102 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 49101 Express the object part of (𝐺func 𝐹) = 𝐼 explicitly. (Contributed by Zhi Wang, 15-Nov-2025.)
𝐼 = (idfunc𝐷)    &   𝐵 = (Base‘𝐷)    &   (𝜑𝑋𝐵)    &   (𝜑𝐹 ∈ (𝐷 Func 𝐸))    &   (𝜑𝐺 ∈ (𝐸 Func 𝐷))    &   (𝜑 → (𝐺func 𝐹) = 𝐼)       (𝜑 → ((1st𝐺)‘((1st𝐹)‘𝑋)) = 𝑋)
 
15-Nov-2025cofu1st2nd 49081 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 49080 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 49067 Extract the second member of a functor. (Contributed by Zhi Wang, 15-Nov-2025.)
(𝜑𝐹(𝐶 Func 𝐷)𝐺)       (𝜑 → (2nd ‘⟨𝐹, 𝐺⟩) = 𝐺)
 
15-Nov-2025func1st 49066 Extract the first member of a functor. (Contributed by Zhi Wang, 15-Nov-2025.)
(𝜑𝐹(𝐶 Func 𝐷)𝐺)       (𝜑 → (1st ‘⟨𝐹, 𝐺⟩) = 𝐹)
 
15-Nov-2025pgnbgreunbgrlem1 48103 Lemma 1 for pgnbgreunbgr 48115. (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 48057 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 47371 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 47366 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 47365 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 47363 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 47362 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 33782 Not all angles can be trisected. (Contributed by Thierry Arnoux, 15-Nov-2025.)
¬ ∀𝑜 ∈ Constr (𝑜𝑐(1 / 3)) ∈ Constr
 
15-Nov-2025cos9thpinconstr 33781 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 33780 The complex number 𝐴 is not constructible. (Contributed by Thierry Arnoux, 15-Nov-2025.)
𝑂 = (exp‘((i · (2 · π)) / 3))    &   𝑍 = (𝑂𝑐(1 / 3))    &   𝐴 = (𝑍 + (1 / 𝑍))        ¬ 𝐴 ∈ Constr
 
15-Nov-2025difmod0 16257 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 12846 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 11586 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 11585 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 49654 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 49648 The set of limits of a diagram is a relation. (Contributed by Zhi Wang, 14-Nov-2025.)
Rel ((𝐶 Limit 𝐷)‘𝐹)
 
14-Nov-2025lmdfval2 49644 The set of limits of a diagram. (Contributed by Zhi Wang, 14-Nov-2025.)
((𝐶 Limit 𝐷)‘𝐹) = (( oppFunc ‘(𝐶Δfunc𝐷))((oppCat‘𝐶) UP (oppCat‘(𝐷 FuncCat 𝐶)))𝐹)
 
14-Nov-2025reldmlmd2 49642 The domain of (𝐶 Limit 𝐷) is a relation. (Contributed by Zhi Wang, 14-Nov-2025.)
Rel dom (𝐶 Limit 𝐷)
 
14-Nov-2025lmdfval 49638 Function value of Limit. (Contributed by Zhi Wang, 14-Nov-2025.)
(𝐶 Limit 𝐷) = (𝑓 ∈ (𝐷 Func 𝐶) ↦ (( oppFunc ‘(𝐶Δfunc𝐷))((oppCat‘𝐶) UP (oppCat‘(𝐷 FuncCat 𝐶)))𝑓))
 
14-Nov-2025catcinv 49388 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 49387 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 49386 A morphism of the category of categories (in a universe) is a functor. See df-catc 18061 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 18065). (Contributed by Zhi Wang, 14-Nov-2025.)
𝐶 = (CatCat‘𝑈)    &   𝐻 = (Hom ‘𝐶)    &   (𝜑𝐹 ∈ (𝑋𝐻𝑌))       (𝜑𝐹 ∈ (𝑋 Func 𝑌))
 
14-Nov-2025catcrcl2 49385 Reverse closure for the category of categories (in a universe) (Contributed by Zhi Wang, 14-Nov-2025.)
𝐶 = (CatCat‘𝑈)    &   𝐻 = (Hom ‘𝐶)    &   (𝜑𝐹 ∈ (𝑋𝐻𝑌))    &   𝐵 = (Base‘𝐶)       (𝜑 → (𝑋𝐵𝑌𝐵))
 
14-Nov-2025catcrcl 49384 Reverse closure for the category of categories (in a universe) (Contributed by Zhi Wang, 14-Nov-2025.)
𝐶 = (CatCat‘𝑈)    &   𝐻 = (Hom ‘𝐶)    &   (𝜑𝐹 ∈ (𝑋𝐻𝑌))       (𝜑𝑈 ∈ V)
 
14-Nov-2025oppfuprcl2 49194 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 49193 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 49192 Reverse closure for the class of universal property. (Contributed by Zhi Wang, 14-Nov-2025.)
(𝜑𝑋(𝐺(𝑂 UP 𝑃)𝑊)𝑀)       (𝜑𝐺 ∈ (𝑂 Func 𝑃))
 
14-Nov-2025funcoppc5 49134 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 49133 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 49131 The opposite functor is a functor on opposite categories. (Contributed by Zhi Wang, 14-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   (𝜑𝐹 ∈ (𝐶 Func 𝐷))       (𝜑 → ( oppFunc ‘𝐹) ∈ (𝑂 Func 𝑃))
 
14-Nov-20252oppf 49121 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 49120 Rewrite the opposite functor into its components (eqopi 8004). (Contributed by Zhi Wang, 14-Nov-2025.)
(𝜑𝐺𝑅)    &   Rel 𝑅    &   𝐺 = ( oppFunc ‘𝐹)    &   (𝜑𝐹 = ⟨𝐴, 𝐵⟩)       (𝜑 → (𝐺 ∈ (V × V) ∧ ((1st𝐺) = 𝐴 ∧ (2nd𝐺) = tpos 𝐵)))
 
14-Nov-2025oppfrcl3 49119 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 49118 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 49117 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 49116 Lemma for oppfrcl 49117. (Contributed by Zhi Wang, 14-Nov-2025.)
(𝜑𝐺𝑅)    &   Rel 𝑅       (𝜑𝐺 ≠ ∅)
 
14-Nov-2025isinv2 49015 The property "𝐹 is an inverse of 𝐺". (Contributed by Zhi Wang, 14-Nov-2025.)
𝑁 = (Inv‘𝐶)    &   𝑆 = (Sect‘𝐶)       (𝐹(𝑋𝑁𝑌)𝐺 ↔ (𝐹(𝑋𝑆𝑌)𝐺𝐺(𝑌𝑆𝑋)𝐹))
 
14-Nov-2025invrcl2 49014 Reverse closure for inverse relations. (Contributed by Zhi Wang, 14-Nov-2025.)
𝑁 = (Inv‘𝐶)    &   (𝜑𝐹(𝑋𝑁𝑌)𝐺)    &   𝐵 = (Base‘𝐶)       (𝜑 → (𝑋𝐵𝑌𝐵))
 
14-Nov-2025invrcl 49013 Reverse closure for inverse relations. (Contributed by Zhi Wang, 14-Nov-2025.)
𝑁 = (Inv‘𝐶)    &   (𝜑𝐹(𝑋𝑁𝑌)𝐺)       (𝜑𝐶 ∈ Cat)
 
14-Nov-2025sectrcl2 49012 Reverse closure for section relations. (Contributed by Zhi Wang, 14-Nov-2025.)
𝑆 = (Sect‘𝐶)    &   (𝜑𝐹(𝑋𝑆𝑌)𝐺)    &   𝐵 = (Base‘𝐶)       (𝜑 → (𝑋𝐵𝑌𝐵))
 
14-Nov-2025sectrcl 49011 Reverse closure for section relations. (Contributed by Zhi Wang, 14-Nov-2025.)
𝑆 = (Sect‘𝐶)    &   (𝜑𝐹(𝑋𝑆𝑌)𝐺)       (𝜑𝐶 ∈ Cat)
 
14-Nov-2025cos9thpinconstrlem1 33779 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 33778 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 33777 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 33776 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 33775 Lemma for cos9thpiminply 33778. (Contributed by Thierry Arnoux, 14-Nov-2025.)
𝑂 = (exp‘((i · (2 · π)) / 3))    &   𝑍 = (𝑂𝑐(1 / 3))       ((𝑍↑6) + (𝑍↑3)) = -1
 
14-Nov-2025cos9thpiminplylem3 33774 Lemma for cos9thpiminply 33778. (Contributed by Thierry Arnoux, 14-Nov-2025.)
𝑂 = (exp‘((i · (2 · π)) / 3))       ((𝑂↑2) + (𝑂 + 1)) = 0
 
14-Nov-2025vr1nz 33559 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 33534 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 16064 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 13872 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 13871 Addition property of the modulo operation. Biconditional version of modadd1 13870 by applying modadd1 13870 twice. (Contributed by AV, 14-Nov-2025.)
(((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ) ∧ (𝐶 ∈ ℝ ∧ 𝐷 ∈ ℝ+)) → ((𝐴 mod 𝐷) = (𝐵 mod 𝐷) ↔ ((𝐴 + 𝐶) mod 𝐷) = ((𝐵 + 𝐶) mod 𝐷)))
 
13-Nov-2025iscmd 49655 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 49653 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 49652 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 49651 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 49650 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 49649 The set of colimits of a diagram is a relation. (Contributed by Zhi Wang, 13-Nov-2025.)
Rel ((𝐶 Colimit 𝐷)‘𝐹)
 
13-Nov-2025reldmcmd2 49643 The domain of (𝐶 Colimit 𝐷) is a relation. (Contributed by Zhi Wang, 13-Nov-2025.)
Rel dom (𝐶 Colimit 𝐷)
 
13-Nov-2025oppfval2 49126 Value of the opposite functor. (Contributed by Zhi Wang, 13-Nov-2025.)
(𝐹 ∈ (𝐶 Func 𝐷) → ( oppFunc ‘𝐹) = ⟨(1st𝐹), tpos (2nd𝐹)⟩)
 
13-Nov-2025oppfvallem 49124 Lemma for oppfval 49125. (Contributed by Zhi Wang, 13-Nov-2025.)
(𝐹(𝐶 Func 𝐷)𝐺 → (Rel 𝐺 ∧ Rel dom 𝐺))
 
13-Nov-2025oppfvalg 49115 Value of the opposite functor. (Contributed by Zhi Wang, 13-Nov-2025.)
((𝐹 ∈ V ∧ 𝐺 ∈ V) → (𝐹 oppFunc 𝐺) = if((Rel 𝐺 ∧ Rel dom 𝐺), ⟨𝐹, tpos 𝐺⟩, ∅))
 
13-Nov-2025reldmoppf 49114 The domain of oppFunc is a relation. (Contributed by Zhi Wang, 13-Nov-2025.)
Rel dom oppFunc
 
13-Nov-2025df-oppf 49112 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 49130). (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 46889 A value of Lambert W (product logarithm) function at e. (Contributed by Ender Ting, 13-Nov-2025.)
𝑅 = (𝑥 ∈ ℂ ↦ (𝑥 · (exp‘𝑥)))       e𝑅1
 
13-Nov-2025lambert0 46888 A value of Lambert W (product logarithm) function at zero. (Contributed by Ender Ting, 13-Nov-2025.)
𝑅 = (𝑥 ∈ ℂ ↦ (𝑥 · (exp‘𝑥)))       0𝑅0
 
13-Nov-2025sbralie 3326 Implicit to explicit substitution that swaps variables in a restrictedly universally quantified expression. (Contributed by NM, 5-Sep-2004.) Avoid ax-ext 2701, df-cleq 2721, df-clel 2803. (Revised by Wolf Lammen, 10-Mar-2025.) Avoid ax-10 2142, ax-12 2178. (Revised by SN, 13-Nov-2025.)
(𝑥 = 𝑦 → (𝜑𝜓))       (∀𝑥𝑦 𝜑 ↔ [𝑦 / 𝑥]∀𝑦𝑥 𝜓)
 
12-Nov-2025cmdfval2 49645 The set of colimits of a diagram. (Contributed by Zhi Wang, 12-Nov-2025.)
((𝐶 Colimit 𝐷)‘𝐹) = ((𝐶Δfunc𝐷)(𝐶 UP (𝐷 FuncCat 𝐶))𝐹)
 
12-Nov-2025cmdfval 49639 Function value of Colimit. (Contributed by Zhi Wang, 12-Nov-2025.)
(𝐶 Colimit 𝐷) = (𝑓 ∈ (𝐷 Func 𝐶) ↦ ((𝐶Δfunc𝐷)(𝐶 UP (𝐷 FuncCat 𝐶))𝑓))
 
12-Nov-2025reldmcmd 49637 The domain of Colimit is a relation. (Contributed by Zhi Wang, 12-Nov-2025.)
Rel dom Colimit
 
12-Nov-2025reldmlmd 49636 The domain of Limit is a relation. (Contributed by Zhi Wang, 12-Nov-2025.)
Rel dom Limit
 
12-Nov-2025df-cmd 49635 A co-cone (or cocone) to a diagram (see df-lmd 49634 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 49651). The naturality guarantees that the combination of the diagram with the co-cone must commute (coccom 49653). 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 49655). Definition 11.27(2) of [Adamek] p. 202.

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

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

Colimit = (𝑐 ∈ V, 𝑑 ∈ V ↦ (𝑓 ∈ (𝑑 Func 𝑐) ↦ ((𝑐Δfunc𝑑)(𝑐 UP (𝑑 FuncCat 𝑐))𝑓)))
 
12-Nov-2025df-lmd 49634 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 49650). The naturality guarantees that the combination of the diagram with the cone must commute (concom 49652). 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 49654). Definition 11.3(2) of [Adamek] p. 194.

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

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

Limit = (𝑐 ∈ V, 𝑑 ∈ V ↦ (𝑓 ∈ (𝑑 Func 𝑐) ↦ (( oppFunc ‘(𝑐Δfunc𝑑))((oppCat‘𝑐) UP (oppCat‘(𝑑 FuncCat 𝑐)))𝑓)))
 
12-Nov-2025upfval 49165 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 49064 The domain of Func is a relation. (Contributed by Zhi Wang, 12-Nov-2025.)
Rel dom Func
 
11-Nov-2025discthing 49450 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 49449 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 49150 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 17902. (Contributed by Zhi Wang, 11-Nov-2025.)
𝐼 = (idfunc𝐶)    &   𝐻 = (Homf𝐷)    &   𝐽 = (Homf𝐸)    &   𝐵 = (Base‘𝐷)    &   𝐶 = (Base‘𝐸)       (𝐼 ∈ (𝐷 Full 𝐸) → (𝐵𝐶 ∧ (𝐽 ↾ (𝐵 × 𝐵)) = 𝐻))
 
11-Nov-2025gpgedgiov 48056 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 28336 Simplify pw2cut 28335 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 49149 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 49147 The inclusion functor is a faithful functor. (Contributed by Zhi Wang, 10-Nov-2025.)
𝐼 = (idfunc𝐶)       (𝐼 ∈ (𝐷 Func 𝐸) → 𝐼 ∈ (𝐷 Faith 𝐸))
 
10-Nov-2025fthcomf 49146 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 49100 The image of the identity functor. (Contributed by Zhi Wang, 10-Nov-2025.)
𝐼 = (idfunc𝐶)    &   (𝜑𝐼 ∈ (𝐷 Func 𝐸))    &   𝐻 = (Hom ‘𝐷)    &   𝐽 = (Homf𝐷)    &   𝐾 = (𝑥𝑆, 𝑦𝑆 𝑝 ∈ (((1st𝐼) “ {𝑥}) × ((1st𝐼) “ {𝑦}))(((2nd𝐼)‘𝑝) “ (𝐻𝑝)))    &   (𝜑𝑆 = (Base‘𝐷))       (𝜑𝐽 = 𝐾)
 
10-Nov-2025imaidfu 49099 The image of the identity functor. (Contributed by Zhi Wang, 10-Nov-2025.)
𝐼 = (idfunc𝐶)    &   (𝜑𝐼 ∈ (𝐷 Func 𝐸))    &   𝐻 = (Hom ‘𝐷)    &   𝐽 = (Homf𝐷)    &   𝐾 = (𝑥𝑆, 𝑦𝑆 𝑝 ∈ (((1st𝐼) “ {𝑥}) × ((1st𝐼) “ {𝑦}))(((2nd𝐼)‘𝑝) “ (𝐻𝑝)))    &   𝑆 = ((1st𝐼) “ 𝐴)       (𝜑 → (𝐽 ↾ (𝑆 × 𝑆)) = 𝐾)
 
10-Nov-2025imaidfu2lem 49098 Lemma for imaidfu2 49100. (Contributed by Zhi Wang, 10-Nov-2025.)
𝐼 = (idfunc𝐶)    &   (𝜑𝐼 ∈ (𝐷 Func 𝐸))       (𝜑 → ((1st𝐼) “ (Base‘𝐷)) = (Base‘𝐷))
 
10-Nov-2025idfu2nda 49092 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 49091 Value of the object part of the identity functor. (Contributed by Zhi Wang, 10-Nov-2025.)
𝐼 = (idfunc𝐶)    &   (𝜑𝐼 ∈ (𝐷 Func 𝐸))    &   (𝜑𝐵 = (Base‘𝐷))    &   (𝜑𝑋𝐵)       (𝜑 → ((1st𝐼)‘𝑋) = 𝑋)
 
10-Nov-2025idfu1sta 49090 Value of the object part of the identity functor. (Contributed by Zhi Wang, 10-Nov-2025.)
𝐼 = (idfunc𝐶)    &   (𝜑𝐼 ∈ (𝐷 Func 𝐸))    &   (𝜑𝐵 = (Base‘𝐷))       (𝜑 → (1st𝐼) = ( I ↾ 𝐵))
 
10-Nov-2025idfu1stalem 49089 Lemma for idfu1sta 49090. (Contributed by Zhi Wang, 10-Nov-2025.)
𝐼 = (idfunc𝐶)    &   (𝜑𝐼 ∈ (𝐷 Func 𝐸))    &   (𝜑𝐵 = (Base‘𝐷))       (𝜑𝐵 = (Base‘𝐶))
 
10-Nov-2025idfurcl 49087 Reverse closure for an identity functor. (Contributed by Zhi Wang, 10-Nov-2025.)
((idfunc𝐶) ∈ (𝐷 Func 𝐸) → 𝐶 ∈ Cat)
 
10-Nov-2025funchomf 49086 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 48083 A Petersen graph is a simple graph. (Contributed by AV, 10-Nov-2025.)
(5 gPetersenGr 2) ∈ USGraph
 
10-Nov-2025pglem 48082 Lemma for theorems about Petersen graphs. (Contributed by AV, 10-Nov-2025.)
2 ∈ (1..^(⌈‘(5 / 2)))
 
10-Nov-2025ndmfvrcl 6894 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 48116 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 48115 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 33773 The polynomial ((𝑋↑3) + ((-3 · 𝑋) + 1)) has no rational roots. (Contributed by Thierry Arnoux, 9-Nov-2025.)
(𝜑𝑋 ∈ ℚ)       (𝜑 → ((𝑋↑3) + ((-3 · 𝑋) + 1)) ≠ 0)
 
9-Nov-2025cos9thpiminplylem1 33772 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 32772 Odd power monomials are monotonic. (Contributed by Thierry Arnoux, 9-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝐵 ∈ ℝ)    &   (𝜑𝑁 ∈ ℕ)    &   (𝜑 → ¬ 2 ∥ 𝑁)    &   (𝜑𝐴𝐵)       (𝜑 → (𝐴𝑁) ≤ (𝐵𝑁))
 
9-Nov-2025expevenpos 32771 Even powers are positive. (Contributed by Thierry Arnoux, 9-Nov-2025.)
(𝜑𝐴 ∈ ℝ)    &   (𝜑𝑁 ∈ ℕ0)    &   (𝜑 → 2 ∥ 𝑁)       (𝜑 → 0 ≤ (𝐴𝑁))
 
9-Nov-2025elq2 32736 Elementhood in the rational numbers, providing the canonical representation. (Contributed by Thierry Arnoux, 9-Nov-2025.)
(𝑄 ∈ ℚ → ∃𝑝 ∈ ℤ ∃𝑞 ∈ ℕ (𝑄 = (𝑝 / 𝑞) ∧ (𝑝 gcd 𝑞) = 1))
 
9-Nov-2025receqid 32668 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 32658 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 28341 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 28340 The dyadics are closed under negation. (Contributed by Scott Fenton, 9-Nov-2025.)
(𝐴 ∈ ℤs[1/2] → ( -us𝐴) ∈ ℤs[1/2])
 
8-Nov-2025gpgedgel 48041 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 28342 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 28332 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 28319 Closure law for positive surreal integer exponentiation. (Contributed by Scott Fenton, 8-Nov-2025.)
((𝐴 ∈ ℕs𝑁 ∈ ℕ0s) → (𝐴s𝑁) ∈ ℕs)
 
8-Nov-2025eucliddivs 28265 Euclid's division lemma for surreal numbers. (Contributed by Scott Fenton, 8-Nov-2025.)
((𝐴 ∈ ℕ0s𝐵 ∈ ℕs) → ∃𝑝 ∈ ℕ0s𝑞 ∈ ℕ0s (𝐴 = ((𝐵 ·s 𝑝) +s 𝑞) ∧ 𝑞 <s 𝐵))
 
8-Nov-2025nnm1n0s 28264 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 28263 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 28257 Non-negative surreal ordering relation. (Contributed by Scott Fenton, 8-Nov-2025.)
((𝑀 ∈ ℕ0s𝑁 ∈ ℕ0s) → (𝑀 ≤s 𝑁 ↔ (𝑀 -s 1s ) <s 𝑁))
 
8-Nov-2025onsiso 28169 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 49145 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 49144 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 49143 An image of a functor preserves the identity morphism. (Contributed by Zhi Wang, 7-Nov-2025.)
𝑆 = (𝐹𝐴)    &   𝐻 = (Hom ‘𝐷)    &   𝐾 = (𝑥𝑆, 𝑦𝑆 𝑝 ∈ ((𝐹 “ {𝑥}) × (𝐹 “ {𝑦}))((𝐺𝑝) “ (𝐻𝑝)))    &   (𝜑𝐹(𝐷 Func 𝐸)𝐺)    &   𝐼 = (Id‘𝐸)    &   (𝜑𝑋𝑆)       (𝜑 → (𝐼𝑋) ∈ (𝑋𝐾𝑋))
 
7-Nov-2025imassc 49142 An image of a functor satisfies the subcategory subset relation. (Contributed by Zhi Wang, 7-Nov-2025.)
𝑆 = (𝐹𝐴)    &   𝐻 = (Hom ‘𝐷)    &   𝐾 = (𝑥𝑆, 𝑦𝑆 𝑝 ∈ ((𝐹 “ {𝑥}) × (𝐹 “ {𝑦}))((𝐺𝑝) “ (𝐻𝑝)))    &   (𝜑𝐹(𝐷 Func 𝐸)𝐺)    &   𝐽 = (Homf𝐸)       (𝜑𝐾cat 𝐽)
 
7-Nov-2025imasubc2 49141 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 49140 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 49097 The hom-set of an image of a functor injective on objects. (Contributed by Zhi Wang, 7-Nov-2025.)
𝑆 = (𝐹𝐴)    &   (𝜑𝐹:𝐵1-1𝐶)    &   (𝜑𝑋𝑆)    &   (𝜑𝑌𝑆)    &   (𝜑𝐹𝑉)    &   𝐾 = (𝑥𝑆, 𝑦𝑆 𝑝 ∈ ((𝐹 “ {𝑥}) × (𝐹 “ {𝑦}))((𝐺𝑝) “ (𝐻𝑝)))       (𝜑 → (𝑋𝐾𝑌) = (((𝐹𝑋)𝐺(𝐹𝑌)) “ ((𝐹𝑋)𝐻(𝐹𝑌))))
 
7-Nov-2025imaf1homlem 49096 Lemma for imaf1hom 49097 and other theorems. (Contributed by Zhi Wang, 7-Nov-2025.)
𝑆 = (𝐹𝐴)    &   (𝜑𝐹:𝐵1-1𝐶)    &   (𝜑𝑋𝑆)       (𝜑 → ({(𝐹𝑋)} = (𝐹 “ {𝑋}) ∧ (𝐹‘(𝐹𝑋)) = 𝑋 ∧ (𝐹𝑋) ∈ 𝐵))
 
7-Nov-2025imasubclem3 49095 Lemma for imasubc 49140. (Contributed by Zhi Wang, 7-Nov-2025.)
(𝜑𝐹𝑉)    &   (𝜑𝐺𝑊)    &   (𝜑𝑋𝐴)    &   (𝜑𝑌𝐵)    &   𝐾 = (𝑥𝐴, 𝑦𝐵 𝑧 ∈ ((𝐹 “ {𝑥}) × (𝐺 “ {𝑦}))((𝐻𝐶) “ 𝐷))       (𝜑 → (𝑋𝐾𝑌) = 𝑧 ∈ ((𝐹 “ {𝑋}) × (𝐺 “ {𝑌}))((𝐻𝐶) “ 𝐷))
 
7-Nov-2025imasubclem2 49094 Lemma for imasubc 49140. (Contributed by Zhi Wang, 7-Nov-2025.)
(𝜑𝐹𝑉)    &   (𝜑𝐺𝑊)    &   𝐾 = (𝑦𝑋, 𝑧𝑌 𝑥 ∈ ((𝐹𝐴) × (𝐺𝐵))((𝐻𝐶) “ 𝐷))       (𝜑𝐾 Fn (𝑋 × 𝑌))
 
7-Nov-2025inisegn0a 48824 The inverse image of a singleton subset of an image is non-empty. (Contributed by Zhi Wang, 7-Nov-2025.)
(𝐴 ∈ (𝐹𝐵) → (𝐹 “ {𝐴}) ≠ ∅)
 
7-Nov-2025pw2divsdird 28331 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 28330 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 28329 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 28328 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 28327 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 28326 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 28325 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 28324 Division closure for powers of two. (Contributed by Scott Fenton, 7-Nov-2025.)
(𝜑𝐴 No )    &   (𝜑𝑁 ∈ ℕ0s)       (𝜑 → (𝐴 /su (2ss𝑁)) ∈ No )
 
7-Nov-2025expadds 28320 Sum of exponents law for surreals. (Contributed by Scott Fenton, 7-Nov-2025.)
((𝐴 No 𝑀 ∈ ℕ0s𝑁 ∈ ℕ0s) → (𝐴s(𝑀 +s 𝑁)) = ((𝐴s𝑀) ·s (𝐴s𝑁)))
 
7-Nov-2025n0expscl 28318 Closure law for non-negative surreal integer exponentiation. (Contributed by Scott Fenton, 7-Nov-2025.)
((𝐴 ∈ ℕ0s𝑁 ∈ ℕ0s) → (𝐴s𝑁) ∈ ℕ0s)
 
7-Nov-2025expscllem 28316 Lemma for proving non-negative surreal integer exponentiation closure. (Contributed by Scott Fenton, 7-Nov-2025.)
𝐹 No     &   ((𝑥𝐹𝑦𝐹) → (𝑥 ·s 𝑦) ∈ 𝐹)    &    1s𝐹       ((𝐴𝐹𝑁 ∈ ℕ0s) → (𝐴s𝑁) ∈ 𝐹)
 
7-Nov-2025bdayn0sf1o 28259 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 28258 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 28256 Non-negative surreal ordering relation. (Contributed by Scott Fenton, 7-Nov-2025.)
((𝑀 ∈ ℕ0s𝑁 ∈ ℕ0s) → (𝑀 ≤s 𝑁𝑀 <s (𝑁 +s 1s )))
 
7-Nov-2025n0sltp1le 28255 Non-negative surreal ordering relation. (Contributed by Scott Fenton, 7-Nov-2025.)
((𝑀 ∈ ℕ0s𝑁 ∈ ℕ0s) → (𝑀 <s 𝑁 ↔ (𝑀 +s 1s ) ≤s 𝑁))
 
7-Nov-2025n0subs2 28254 Subtraction of non-negative surreal integers. (Contributed by Scott Fenton, 7-Nov-2025.)
((𝑀 ∈ ℕ0s𝑁 ∈ ℕ0s) → (𝑀 <s 𝑁 ↔ (𝑁 -s 𝑀) ∈ ℕs))
 
7-Nov-2025n0cutlt 28249 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 28248 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 28227 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 28173 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 28168 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 28167 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 28008 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 28007 Cancellation law for surreal subtraction. (Contributed by Scott Fenton, 7-Nov-2025.)
(𝜑𝐴 No )    &   (𝜑𝐵 No )    &   (𝜑𝐶 No )       (𝜑 → ((𝐴 -s 𝐶) = (𝐵 -s 𝐶) ↔ 𝐴 = 𝐵))
 
7-Nov-2025subscan1d 28006 Cancellation law for surreal subtraction. (Contributed by Scott Fenton, 7-Nov-2025.)
(𝜑𝐴 No )    &   (𝜑𝐵 No )    &   (𝜑𝐶 No )       (𝜑 → ((𝐶 -s 𝐴) = (𝐶 -s 𝐵) ↔ 𝐴 = 𝐵))
 
7-Nov-2025newbdayim 27814 One direction of the biconditional in newbday 27813. (Contributed by Scott Fenton, 7-Nov-2025.)
(𝑋 ∈ ( N ‘𝐴) → ( bday 𝑋) = 𝐴)
 
7-Nov-2025rightgt 27776 A member of a surreal's right set is greater than it. (Contributed by Scott Fenton, 7-Nov-2025.)
(𝐴 ∈ ( R ‘𝐵) → 𝐵 <s 𝐴)
 
7-Nov-2025leftlt 27775 A member of a surreal's left set is less than it. (Contributed by Scott Fenton, 7-Nov-2025.)
(𝐴 ∈ ( L ‘𝐵) → 𝐴 <s 𝐵)
 
7-Nov-2025elright 27774 Membership in the right set of a surreal. (Contributed by Scott Fenton, 7-Nov-2025.)
(𝐴 ∈ ( R ‘𝐵) ↔ (𝐴 ∈ ( O ‘( bday 𝐵)) ∧ 𝐵 <s 𝐴))
 
7-Nov-2025elleft 27773 Membership in the left set of a surreal. (Contributed by Scott Fenton, 7-Nov-2025.)
(𝐴 ∈ ( L ‘𝐵) ↔ (𝐴 ∈ ( O ‘( bday 𝐵)) ∧ 𝐴 <s 𝐵))
 
6-Nov-2025cnelsubc 49593 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 17774 is necessary. A stronger statement than nelsubc3 49060. (Contributed by Zhi Wang, 6-Nov-2025.)
𝑐 ∈ Cat ∃𝑗𝑠(𝑗 Fn (𝑠 × 𝑠) ∧ (𝑗cat (Homf𝑐) ∧ ¬ ∀𝑥𝑠 ((Id‘𝑐)‘𝑥) ∈ (𝑥𝑗𝑥) ∧ (𝑐cat 𝑗) ∈ Cat))
 
6-Nov-2025cnelsubclem 49592 Lemma for cnelsubc 49593. (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 49591 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 49501 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 49093 Lemma for imasubc 49140. (Contributed by Zhi Wang, 6-Nov-2025.)
(𝜑𝐹𝑉)    &   (𝜑𝐺𝑊)       (𝜑 𝑥 ∈ ((𝐹𝐴) × (𝐺𝐵))((𝐻𝐶) “ 𝐷) ∈ V)
 
6-Nov-2025resccat 49063 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 49062 Lemma for resccat 49063. (Contributed by Zhi Wang, 6-Nov-2025.)
𝐷 = (𝐶cat 𝐽)    &   𝐵 = (Base‘𝐶)    &   𝑆 = (Base‘𝐸)    &   𝐽 = (Homf𝐸)    &    · = (comp‘𝐶)    &    = (comp‘𝐸)    &   (((𝜑 ∧ (𝑥𝑆𝑦𝑆𝑧𝑆)) ∧ (𝑓 ∈ (𝑥𝐽𝑦) ∧ 𝑔 ∈ (𝑦𝐽𝑧))) → (𝑔(⟨𝑥, 𝑦· 𝑧)𝑓) = (𝑔(⟨𝑥, 𝑦 𝑧)𝑓))    &   (𝜑𝐸𝑉)    &   (𝜑𝑆𝐵)    &   (𝜑𝐶𝑈)       (𝜑 → (𝐷 ∈ Cat ↔ 𝐸 ∈ Cat))
 
6-Nov-2025ssccatid 49061 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 49593). (Contributed by Zhi Wang, 6-Nov-2025.)
𝐻 = (Homf𝐶)    &   𝐷 = (𝐶cat 𝐽)    &    · = (comp‘𝐶)    &   (𝜑𝐽cat 𝐻)    &   (𝜑𝐽 Fn (𝑆 × 𝑆))    &   (𝜑𝐶 ∈ Cat)    &   ((𝜑𝑦𝑆) → 1 ∈ (𝑦𝐽𝑦))    &   ((𝜑 ∧ (𝑎𝑆𝑏𝑆𝑚 ∈ (𝑎𝐽𝑏))) → ( 1 (⟨𝑎, 𝑏· 𝑏)𝑚) = 𝑚)    &   ((𝜑 ∧ (𝑎𝑆𝑏𝑆𝑚 ∈ (𝑎𝐽𝑏))) → (𝑚(⟨𝑎, 𝑎· 𝑏) 1 ) = 𝑚)    &   ((𝜑 ∧ (𝑥𝑆𝑦𝑆𝑧𝑆) ∧ (𝑓 ∈ (𝑥𝐽𝑦) ∧ 𝑔 ∈ (𝑦𝐽𝑧))) → (𝑔(⟨𝑥, 𝑦· 𝑧)𝑓) ∈ (𝑥𝐽𝑧))       (𝜑 → (𝐷 ∈ Cat ∧ (Id‘𝐷) = (𝑦𝑆1 )))
 
6-Nov-2025iineqconst2 48812 Indexed intersection of identical classes. (Contributed by Zhi Wang, 6-Nov-2025.)
((𝐴 ≠ ∅ ∧ ∀𝑥𝐴 𝐵 = 𝐶) → 𝑥𝐴 𝐵 = 𝐶)
 
6-Nov-2025iuneqconst2 48811 Indexed union of identical classes. (Contributed by Zhi Wang, 6-Nov-2025.)
((𝐴 ≠ ∅ ∧ ∀𝑥𝐴 𝐵 = 𝐶) → 𝑥𝐴 𝐵 = 𝐶)
 
6-Nov-2025cycldlenngric 47928 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 47903 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 45003 The Axiom of Infinity ax-inf2 9594 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 45002 Lemma for permaxinf2 45003. (Contributed by Eric Schmidt, 6-Nov-2025.)
𝐹:V–1-1-onto→V    &   𝑅 = (𝐹 ∘ E )    &   𝑍 = (rec((𝑣 ∈ V ↦ (𝐹‘((𝐹𝑣) ∪ {𝑣}))), (𝐹‘∅)) “ ω)       𝑥(∃𝑦(𝑦𝑅𝑥 ∧ ∀𝑧 ¬ 𝑧𝑅𝑦) ∧ ∀𝑦(𝑦𝑅𝑥 → ∃𝑧(𝑧𝑅𝑥 ∧ ∀𝑤(𝑤𝑅𝑧 ↔ (𝑤𝑅𝑦𝑤 = 𝑦)))))
 
6-Nov-2025permaxun 45001 The Axiom of Union ax-un 7711 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 45000 The Axiom of Pairing ax-pr 5387 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 44999 The Axiom of Power Sets ax-pow 5320 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 44998 The Null Set Axiom ax-nul 5261 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 44997 The Axiom of Separation ax-sep 5251 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 44996 The Axiom of Replacement ax-rep 5234 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 44995 The Axiom of Extensionality ax-ext 2701 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 44994 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 44993 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 44948 Version of orbitcl 44947 using maps-to notation. (Contributed by Eric Schmidt, 6-Nov-2025.)
𝑥𝐵    &   𝑥𝐷    &   𝑍 = (rec((𝑥 ∈ V ↦ 𝐶), 𝐴) “ ω)    &   (𝑥 = 𝐵𝐶 = 𝐷)       ((𝐵𝑍𝐷𝑉) → 𝐷𝑍)
 
6-Nov-2025orbitcl 44947 The orbit under a function is closed under the function. (Contributed by Eric Schmidt, 6-Nov-2025.)
(𝐵 ∈ (rec(𝐹, 𝐴) “ ω) → (𝐹𝐵) ∈ (rec(𝐹, 𝐴) “ ω))
 
6-Nov-2025orbitinit 44946 A set is contained in its orbit. (Contributed by Eric Schmidt, 6-Nov-2025.)
(𝐴𝑉𝐴 ∈ (rec(𝐹, 𝐴) “ ω))
 
6-Nov-2025orbitex 44945 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 33769 Constructible numbers are closed under taking the square root. This is not generally the case for the cubic root operation, see 2sqr3nconstr 33771. 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 33768 Constructible numbers are closed under absolute value (modulus). (Contributed by Thierry Arnoux, 6-Nov-2025.)
(𝜑𝑋 ∈ Constr)       (𝜑 → (abs‘𝑋) ∈ Constr)
 
6-Nov-2025onsis 28172 Transfinite induction schema for surreal ordinals. (Contributed by Scott Fenton, 6-Nov-2025.)
(𝑥 = 𝑦 → (𝜑𝜓))    &   (𝑥 = 𝐴 → (𝜑𝜒))    &   (𝑥 ∈ Ons → (∀𝑦 ∈ Ons (𝑦 <s 𝑥𝜓) → 𝜑))       (𝐴 ∈ Ons𝜒)
 
6-Nov-2025onsse 28171 Surreal less-than is set-like over the surreal ordinals. (Contributed by Scott Fenton, 6-Nov-2025.)
<s Se Ons
 
6-Nov-2025onswe 28170 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 28166 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 28161 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 49631 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 49590 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 49589 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 17644, catrid 17645, and catcocl 17646. (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 49588 Lemma for 2arwcat 49589. (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 49587 Lemma for 2arwcat 49589. (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 49586 Lemma for 2arwcat 49589. (Contributed by Zhi Wang, 5-Nov-2025.)
(𝜑𝐴 = 𝑋)    &   (𝜑𝐵 = 𝑌)    &   (𝜑𝐶 = 𝑍)    &   (𝜑 → (𝐹 = 0𝐹 = 1 ))    &   (𝜑 → ( 1 (⟨𝑋, 𝑌· 𝑍) 1 ) = 1 )    &   (𝜑 → ( 0 (⟨𝑋, 𝑌· 𝑍) 1 ) = 0 )       (𝜑 → (𝐹(⟨𝐴, 𝐵· 𝐶) 1 ) = 𝐹)
 
5-Nov-20252arwcatlem2 49585 Lemma for 2arwcat 49589. (Contributed by Zhi Wang, 5-Nov-2025.)
(𝜑𝐴 = 𝑋)    &   (𝜑𝐵 = 𝑌)    &   (𝜑𝐶 = 𝑍)    &   (𝜑 → (𝐹 = 0𝐹 = 1 ))    &   (𝜑 → ( 1 (⟨𝑋, 𝑌· 𝑍) 1 ) = 1 )    &   (𝜑 → ( 1 (⟨𝑋, 𝑌· 𝑍) 0 ) = 0 )       (𝜑 → ( 1 (⟨𝐴, 𝐵· 𝐶)𝐹) = 𝐹)
 
5-Nov-20252arwcatlem1 49584 Lemma for 2arwcat 49589. (Contributed by Zhi Wang, 5-Nov-2025.)
(𝑋𝐻𝑋) = { 0 , 1 }       ((((𝑥 = 𝑋𝑦 = 𝑋) ∧ (𝑧 = 𝑋𝑤 = 𝑋)) ∧ ((𝑓 = 0𝑓 = 1 ) ∧ (𝑔 = 0𝑔 = 1 ) ∧ (𝑘 = 0𝑘 = 1 ))) ↔ ((𝑥 ∈ {𝑋} ∧ 𝑦 ∈ {𝑋}) ∧ (𝑧 ∈ {𝑋} ∧ 𝑤 ∈ {𝑋}) ∧ (𝑓 ∈ (𝑥𝐻𝑦) ∧ 𝑔 ∈ (𝑦𝐻𝑧) ∧ 𝑘 ∈ (𝑧𝐻𝑤))))
 
5-Nov-2025catcofval 49217 Composition of the category structure. (Contributed by Zhi Wang, 5-Nov-2025.)
𝐶 = {⟨(Base‘ndx), 𝐵⟩, ⟨(Hom ‘ndx), 𝐻⟩, ⟨(comp‘ndx), · ⟩}    &    · ∈ V        · = (comp‘𝐶)
 
5-Nov-2025cathomfval 49216 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 49215 The base of the category structure. (Contributed by Zhi Wang, 5-Nov-2025.)
𝐶 = {⟨(Base‘ndx), 𝐵⟩, ⟨(Hom ‘ndx), 𝐻⟩, ⟨(comp‘ndx), · ⟩}    &   𝐵 ∈ V       𝐵 = (Base‘𝐶)
 
5-Nov-2025upciclem1 49155 Lemma for upcic 49159, upeu 49160, and upeu2 49161. (Contributed by Zhi Wang, 16-Sep-2025.) (Proof shortened by Zhi Wang, 5-Nov-2025.)
(𝜑 → ∀𝑦𝐵𝑛 ∈ (𝑍𝐽(𝐹𝑦))∃!𝑘 ∈ (𝑋𝐻𝑦)𝑛 = (((𝑋𝐺𝑦)‘𝑘)(⟨𝑍, (𝐹𝑋)⟩𝑂(𝐹𝑦))𝑀))    &   (𝜑𝑌𝐵)    &   (𝜑𝑁 ∈ (𝑍𝐽(𝐹𝑌)))       (𝜑 → ∃!𝑙 ∈ (𝑋𝐻𝑌)𝑁 = (((𝑋𝐺𝑌)‘𝑙)(⟨𝑍, (𝐹𝑋)⟩𝑂(𝐹𝑌))𝑀))
 
5-Nov-2025nelsubc3 49060 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 17774 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 17811). To construct such a category, see setc1onsubc 49591 and cnelsubc 49593. (Contributed by Zhi Wang, 5-Nov-2025.)

𝑐 ∈ Cat ∃𝑗𝑠(𝑗 Fn (𝑠 × 𝑠) ∧ (𝑗cat (Homf𝑐) ∧ (¬ ∀𝑥𝑠 ((Id‘𝑐)‘𝑥) ∈ (𝑥𝑗𝑥) ∧ ∀𝑥𝑠𝑦𝑠𝑧𝑠𝑓 ∈ (𝑥𝑗𝑦)∀𝑔 ∈ (𝑦𝑗𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝑐)𝑧)𝑓) ∈ (𝑥𝑗𝑧))))
 
5-Nov-2025nelsubc3lem 49059 Lemma for nelsubc3 49060. (Contributed by Zhi Wang, 5-Nov-2025.)
𝐶 ∈ Cat    &   𝐽 ∈ V    &   𝑆 ∈ V    &   (𝐽 Fn (𝑆 × 𝑆) ∧ (𝐽cat (Homf𝐶) ∧ (¬ ∀𝑥𝑆 ((Id‘𝐶)‘𝑥) ∈ (𝑥𝐽𝑥) ∧ ∀𝑥𝑆𝑦𝑆𝑧𝑆𝑓 ∈ (𝑥𝐽𝑦)∀𝑔 ∈ (𝑦𝐽𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥𝐽𝑧))))       𝑐 ∈ Cat ∃𝑗𝑠(𝑗 Fn (𝑠 × 𝑠) ∧ (𝑗cat (Homf𝑐) ∧ (¬ ∀𝑥𝑠 ((Id‘𝑐)‘𝑥) ∈ (𝑥𝑗𝑥) ∧ ∀𝑥𝑠𝑦𝑠𝑧𝑠𝑓 ∈ (𝑥𝑗𝑦)∀𝑔 ∈ (𝑦𝑗𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝑐)𝑧)𝑓) ∈ (𝑥𝑗𝑧))))
 
5-Nov-2025nelsubc2 49058 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 49057 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 49056 Lemma for nelsubc 49057. (Contributed by Zhi Wang, 5-Nov-2025.)
𝐵 = (Base‘𝐶)    &   (𝜑𝑆𝐵)    &   (𝜑𝑆 ≠ ∅)    &   (𝜑𝐽 = ((𝑆 × 𝑆) × {∅}))    &   𝐻 = (Homf𝐶)       (𝜑 → (𝐽 Fn (𝑆 × 𝑆) ∧ (𝐽cat 𝐻 ∧ (¬ ∀𝑥𝑆 𝐼 ∈ (𝑥𝐽𝑥) ∧ ∀𝑥𝑆𝑦𝑆𝑧𝑆𝑓 ∈ (𝑥𝐽𝑦)𝜓))))
 
5-Nov-2025gpgprismgr4cyclex 48097 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 48096 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 48095 Lemma 11 for gpgprismgr4cycl0 48096. (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 48094 Lemma 10 for gpgprismgr4cycl0 48096. (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 48087 Lemma 3 for gpgprismgr4cycl0 48096. (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 33767 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 33766 The constructible numbers form a field. (Contributed by Thierry Arnoux, 5-Nov-2025.)
(ℂflds Constr) ∈ Field
 
5-Nov-2025constrsdrg 33765 Constructible numbers form a subfield of the complex numbers. (Contributed by Thierry Arnoux, 5-Nov-2025.)
Constr ∈ (SubDRing‘ℂfld)
 
5-Nov-2025constrinvcl 33763 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 33762 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 33761 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 33760 Constructible numbers are closed under taking the imaginary part. (Contributed by Thierry Arnoux, 5-Nov-2025.)
(𝜑𝑋 ∈ Constr)       (𝜑 → (ℑ‘𝑋) ∈ Constr)
 
5-Nov-2025constrrecl 33759 Constructible numbers are closed under taking the real part. (Contributed by Thierry Arnoux, 5-Nov-2025.)
(𝜑𝑋 ∈ Constr)       (𝜑 → (ℜ‘𝑋) ∈ Constr)
 
5-Nov-2025constrcjcl 33758 Constructible numbers are closed under complex conjugate. (Contributed by Thierry Arnoux, 5-Nov-2025.)
(𝜑𝑋 ∈ Constr)       (𝜑 → (∗‘𝑋) ∈ Constr)
 
5-Nov-2025argcj 32672 The argument of the conjugate of a complex number 𝐴. (Contributed by Thierry Arnoux, 5-Nov-2025.)
(𝜑𝐴 ∈ ℂ)    &   (𝜑𝐴 ≠ 0)    &   (𝜑 → ¬ -𝐴 ∈ ℝ+)       (𝜑 → (ℑ‘(log‘(∗‘𝐴))) = -(ℑ‘(log‘𝐴)))
 
5-Nov-2025arginv 32671 The argument of the inverse of a complex number 𝐴. (Contributed by Thierry Arnoux, 5-Nov-2025.)
(𝜑𝐴 ∈ ℂ)    &   (𝜑𝐴 ≠ 0)    &   (𝜑 → ¬ -𝐴 ∈ ℝ+)       (𝜑 → (ℑ‘(log‘(1 / 𝐴))) = -(ℑ‘(log‘𝐴)))
 
5-Nov-2025efiargd 32670 The exponential of the "arg" function ℑ ∘ log, deduction version. (Contributed by Thierry Arnoux, 5-Nov-2025.)
(𝜑𝐴 ∈ ℂ)    &   (𝜑𝐴 ≠ 0)       (𝜑 → (exp‘(i · (ℑ‘(log‘𝐴)))) = (𝐴 / (abs‘𝐴)))
 
5-Nov-2025binom2subadd 32665 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 28246 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 49630 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 49629 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 49628 The first component of a right Kan extension is a functor. (Contributed by Zhi Wang, 4-Nov-2025.)
(𝜑𝐿(𝐹(⟨𝐶, 𝐷⟩ Ran 𝐸)𝑋)𝐴)       (𝜑𝐿 ∈ (𝐷 Func 𝐸))
 
4-Nov-2025ranrcl4lem 49627 Lemma for ranrcl4 49628 and ranrcl5 49629. (Contributed by Zhi Wang, 4-Nov-2025.)
(𝜑𝐿(𝐹(⟨𝐶, 𝐷⟩ Ran 𝐸)𝑋)𝐴)       (𝜑 → (⟨𝐷, 𝐸⟩ −∘F 𝐹) = ⟨(1st ‘(⟨𝐷, 𝐸⟩ −∘F 𝐹)), (2nd ‘(⟨𝐷, 𝐸⟩ −∘F 𝐹))⟩)
 
4-Nov-2025ranrcl3 49626 Reverse closure for right Kan extensions. (Contributed by Zhi Wang, 4-Nov-2025.)
(𝜑𝐿(𝐹(⟨𝐶, 𝐷⟩ Ran 𝐸)𝑋)𝐴)       (𝜑𝑋 ∈ (𝐶 Func 𝐸))
 
4-Nov-2025ranrcl2 49625 Reverse closure for right Kan extensions. (Contributed by Zhi Wang, 4-Nov-2025.)
(𝜑𝐿(𝐹(⟨𝐶, 𝐷⟩ Ran 𝐸)𝑋)𝐴)       (𝜑𝐹 ∈ (𝐶 Func 𝐷))
 
4-Nov-2025lanrcl5 49624 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 49623 The first component of a left Kan extension is a functor. (Contributed by Zhi Wang, 4-Nov-2025.)
(𝜑𝐿(𝐹(⟨𝐶, 𝐷⟩ Lan 𝐸)𝑋)𝐴)       (𝜑𝐿 ∈ (𝐷 Func 𝐸))
 
4-Nov-2025lanrcl3 49622 Reverse closure for left Kan extensions. (Contributed by Zhi Wang, 4-Nov-2025.)
(𝜑𝐿(𝐹(⟨𝐶, 𝐷⟩ Lan 𝐸)𝑋)𝐴)       (𝜑𝑋 ∈ (𝐶 Func 𝐸))
 
4-Nov-2025lanrcl2 49621 Reverse closure for left Kan extensions. (Contributed by Zhi Wang, 4-Nov-2025.)
(𝜑𝐿(𝐹(⟨𝐶, 𝐷⟩ Lan 𝐸)𝑋)𝐴)       (𝜑𝐹 ∈ (𝐶 Func 𝐷))
 
4-Nov-2025ranval2 49619 The set of right Kan extensions is the set of universal pairs. Therefore, the explicit universal property can be recovered by oppcup2 49197 and oppcup3lem 49195. (Contributed by Zhi Wang, 4-Nov-2025.)
𝑂 = (oppCat‘(𝐷 FuncCat 𝐸))    &   𝑃 = (oppCat‘(𝐶 FuncCat 𝐸))    &   (𝜑 → (⟨𝐷, 𝐸⟩ −∘F 𝐹) = ⟨𝐽, 𝐾⟩)    &   (𝜑𝐹 ∈ (𝐶 Func 𝐷))       (𝜑 → (𝐹(⟨𝐶, 𝐷⟩ Ran 𝐸)𝑋) = (⟨𝐽, tpos 𝐾⟩(𝑂 UP 𝑃)𝑋))
 
4-Nov-2025isran2 49618 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 49617 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 49615 A left Kan extension is a universal pair. (Contributed by Zhi Wang, 4-Nov-2025.)
𝑅 = (𝐷 FuncCat 𝐸)    &   𝑆 = (𝐶 FuncCat 𝐸)    &   𝐾 = (⟨𝐷, 𝐸⟩ −∘F 𝐹)       (𝐿(𝐹(⟨𝐶, 𝐷⟩ Lan 𝐸)𝑋)𝐴𝐿(𝐾(𝑅 UP 𝑆)𝑋)𝐴)
 
4-Nov-2025relran 49613 The set of right Kan extensions is a relation. (Contributed by Zhi Wang, 4-Nov-2025.)
Rel (𝐹(𝑃 Ran 𝐸)𝑋)
 
4-Nov-2025ranrcl 49611 Reverse closure for right Kan extensions. (Contributed by Zhi Wang, 4-Nov-2025.)
(𝐿 ∈ (𝐹(⟨𝐶, 𝐷⟩ Ran 𝐸)𝑋) → (𝐹 ∈ (𝐶 Func 𝐷) ∧ 𝑋 ∈ (𝐶 Func 𝐸)))
 
4-Nov-2025ranval 49609 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 49607 The domain of (𝑃 Ran 𝐸) is a relation. (Contributed by Zhi Wang, 4-Nov-2025.)
Rel dom (𝑃 Ran 𝐸)
 
4-Nov-2025ranfval 49603 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 49601 The domain of Ran is a relation. (Contributed by Zhi Wang, 4-Nov-2025.)
Rel dom Ran
 
4-Nov-2025ranfn 49599 Ran is a function on ((V × V) × V). (Contributed by Zhi Wang, 4-Nov-2025.)
Ran Fn ((V × V) × V)
 
4-Nov-2025df-ran 49597 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 49619). 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 49619 (retrieved 3 Nov 2025).

A right Kan extension is in the form of 𝐿, 𝐴 where the first component is a functor 𝐿:𝐷𝐸 (ranrcl4 49628) and the second component is a natural transformation 𝐴:𝐿𝐹𝑋 (ranrcl5 49629) 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 49596 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 49376 The pre-composition functor is a functor. (Contributed by Zhi Wang, 4-Nov-2025.)
𝑅 = (𝐷 FuncCat 𝐸)    &   (𝜑𝐸 ∈ Cat)    &   𝑆 = (𝐶 FuncCat 𝐸)    &   (𝜑𝐹 ∈ (𝐶 Func 𝐷))    &   (𝜑 → (⟨𝐷, 𝐸⟩ −∘F 𝐹) = ⟨𝐾, 𝐿⟩)       (𝜑𝐾(𝑅 Func 𝑆)𝐿)
 
4-Nov-2025prcofelvv 49369 The pre-composition functor is an ordered pair. (Contributed by Zhi Wang, 4-Nov-2025.)
(𝜑𝐹𝑈)    &   (𝜑𝑃𝑉)       (𝜑 → (𝑃 −∘F 𝐹) ∈ (V × V))
 
4-Nov-2025oppcup3 49198 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 49197 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 49195 Lemma for oppcup3 49198. (Contributed by Zhi Wang, 4-Nov-2025.)
(𝜑 → ∀𝑦𝐵𝑛 ∈ ((𝐹𝑦)𝐽𝑍)∃!𝑘 ∈ (𝑦𝐻𝑋)𝑛 = (𝑀(⟨(𝐹𝑦), (𝐹𝑋)⟩𝑂𝑍)((𝑦𝐺𝑋)‘𝑘)))    &   (𝜑𝑌𝐵)    &   (𝜑𝑁 ∈ ((𝐹𝑌)𝐽𝑍))       (𝜑 → ∃!𝑙 ∈ (𝑌𝐻𝑋)𝑁 = (𝑀(⟨(𝐹𝑌), (𝐹𝑋)⟩𝑂𝑍)((𝑌𝐺𝑋)‘𝑙)))
 
4-Nov-2025oppcuprcl2 49191 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 49190 Reverse closure for the class of universal property in opposite categories. (Contributed by Zhi Wang, 4-Nov-2025.)
(𝜑𝑋(⟨𝐹, 𝐺⟩(𝑂 UP 𝑃)𝑊)𝑀)    &   𝑃 = (oppCat‘𝐸)    &   𝐽 = (Hom ‘𝐸)       (𝜑𝑀 ∈ ((𝐹𝑋)𝐽𝑊))
 
4-Nov-2025oppcuprcl3 49189 Reverse closure for the class of universal property in opposite categories. (Contributed by Zhi Wang, 4-Nov-2025.)
(𝜑𝑋(⟨𝐹, 𝐺⟩(𝑂 UP 𝑃)𝑊)𝑀)    &   𝑃 = (oppCat‘𝐸)    &   𝐶 = (Base‘𝐸)       (𝜑𝑊𝐶)
 
4-Nov-2025oppcuprcl4 49188 Reverse closure for the class of universal property in opposite categories. (Contributed by Zhi Wang, 4-Nov-2025.)
(𝜑𝑋(⟨𝐹, 𝐺⟩(𝑂 UP 𝑃)𝑊)𝑀)    &   𝑂 = (oppCat‘𝐷)    &   𝐵 = (Base‘𝐷)       (𝜑𝑋𝐵)
 
4-Nov-2025uptpos 49187 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 49186 Lemma for uptpos 49187. (Contributed by Zhi Wang, 4-Nov-2025.)
(𝜑𝑋(⟨𝐹, 𝐺⟩(𝑂 UP 𝑃)𝑊)𝑀)    &   (𝜑 → tpos 𝐺 = 𝐻)       (𝜑 → tpos 𝐻 = 𝐺)
 
4-Nov-2025funcoppc3 49136 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 49132 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 49130 The opposite functor is a functor on opposite categories. (Contributed by Zhi Wang, 4-Nov-2025.)
𝑂 = (oppCat‘𝐶)    &   𝑃 = (oppCat‘𝐷)    &   (𝜑𝐹(𝐶 Func 𝐷)𝐺)       (𝜑 → (𝐹 oppFunc 𝐺) ∈ (𝑂 Func 𝑃))
 
4-Nov-2025oppfval 49125 Value of the opposite functor. (Contributed by Zhi Wang, 4-Nov-2025.)
(𝐹(𝐶 Func 𝐷)𝐺 → (𝐹 oppFunc 𝐺) = ⟨𝐹, tpos 𝐺⟩)
 
4-Nov-2025onsfi 28247 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 28165 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 49616 The set of left Kan extensions is the set of universal pairs. Therefore, the explicit universal property can be recovered by isup2 49183 and upciclem1 49155. (Contributed by Zhi Wang, 3-Nov-2025.)
𝑅 = (𝐷 FuncCat 𝐸)    &   𝑆 = (𝐶 FuncCat 𝐸)    &   𝐾 = (⟨𝐷, 𝐸⟩ −∘F 𝐹)       (𝐹 ∈ (𝐶 Func 𝐷) → (𝐹(⟨𝐶, 𝐷⟩ Lan 𝐸)𝑋) = (𝐾(𝑅 UP 𝑆)𝑋))
 
3-Nov-2025islan 49614 A left Kan extension is a universal pair. (Contributed by Zhi Wang, 3-Nov-2025.)
𝑅 = (𝐷 FuncCat 𝐸)    &   𝑆 = (𝐶 FuncCat 𝐸)    &   𝐾 = (⟨𝐷, 𝐸⟩ −∘F 𝐹)       (𝐿 ∈ (𝐹(⟨𝐶, 𝐷⟩ Lan 𝐸)𝑋) → 𝐿 ∈ (𝐾(𝑅 UP 𝑆)𝑋))
 
3-Nov-2025rellan 49612 The set of left Kan extensions is a relation. (Contributed by Zhi Wang, 3-Nov-2025.)
Rel (𝐹(𝑃 Lan 𝐸)𝑋)
 
3-Nov-2025lanrcl 49610 Reverse closure for left Kan extensions. (Contributed by Zhi Wang, 3-Nov-2025.)
(𝐿 ∈ (𝐹(⟨𝐶, 𝐷⟩ Lan 𝐸)𝑋) → (𝐹 ∈ (𝐶 Func 𝐷) ∧ 𝑋 ∈ (𝐶 Func 𝐸)))
 
3-Nov-2025lanval 49608 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 49606 The domain of (𝑃 Lan 𝐸) is a relation. (Contributed by Zhi Wang, 3-Nov-2025.)
Rel dom (𝑃 Lan 𝐸)
 
3-Nov-2025lanfval 49602 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 49600 The domain of Lan is a relation. (Contributed by Zhi Wang, 3-Nov-2025.)
Rel dom Lan
 
3-Nov-2025lanfn 49598 Lan is a function on ((V × V) × V). (Contributed by Zhi Wang, 3-Nov-2025.)
Lan Fn ((V × V) × V)
 
3-Nov-2025df-lan 49596 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 49616). 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 49616 (retrieved 3 Nov 2025).

A left Kan extension is in the form of 𝐿, 𝐴 where the first component is a functor 𝐿:𝐷𝐸 (lanrcl4 49623) and the second component is a natural transformation 𝐴:𝑋𝐿𝐹 (lanrcl5 49624) 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 49597 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 49381 The morphism part of the pre-composition functor. (Contributed by Zhi Wang, 3-Nov-2025.)
𝑁 = (𝐷 Nat 𝐸)    &   (𝜑𝐴 ∈ (𝐾𝑁𝐿))    &   (𝜑 → (2nd ‘(⟨𝐷, 𝐸⟩ −∘F 𝐹)) = 𝑃)    &   𝐵 = (Base‘𝐶)    &   (𝜑𝑋𝐵)    &   (𝜑𝐹 ∈ (𝐶 Func 𝐷))       (𝜑 → (((𝐾𝑃𝐿)‘𝐴)‘𝑋) = (𝐴‘((1st𝐹)‘𝑋)))
 
3-Nov-2025prcof21a 49380 The morphism part of the pre-composition functor. (Contributed by Zhi Wang, 3-Nov-2025.)
𝑁 = (𝐷 Nat 𝐸)    &   (𝜑𝐴 ∈ (𝐾𝑁𝐿))    &   (𝜑 → (2nd ‘(⟨𝐷, 𝐸⟩ −∘F 𝐹)) = 𝑃)    &   (𝜑𝐹𝑈)       (𝜑 → ((𝐾𝑃𝐿)‘𝐴) = (𝐴 ∘ (1st𝐹)))
 
3-Nov-2025prcof2 49379 The morphism part of the pre-composition functor. (Contributed by Zhi Wang, 3-Nov-2025.)
𝑁 = (𝐷 Nat 𝐸)    &   (𝜑𝐾 ∈ (𝐷 Func 𝐸))    &   (𝜑𝐿 ∈ (𝐷 Func 𝐸))    &   (𝜑 → (2nd ‘(⟨𝐷, 𝐸⟩ −∘F𝐹, 𝐺⟩)) = 𝑃)    &   Rel 𝑅    &   (𝜑𝐹𝑅𝐺)       (𝜑 → (𝐾𝑃𝐿) = (𝑎 ∈ (𝐾𝑁𝐿) ↦ (𝑎𝐹)))
 
3-Nov-2025prcof2a 49378 The morphism part of the pre-composition functor. (Contributed by Zhi Wang, 3-Nov-2025.)
𝑁 = (𝐷 Nat 𝐸)    &   (𝜑𝐾 ∈ (𝐷 Func 𝐸))    &   (𝜑𝐿 ∈ (𝐷 Func 𝐸))    &   (𝜑 → (2nd ‘(⟨𝐷, 𝐸⟩ −∘F 𝐹)) = 𝑃)    &   (𝜑𝐹𝑈)       (𝜑 → (𝐾𝑃𝐿) = (𝑎 ∈ (𝐾𝑁𝐿) ↦ (𝑎 ∘ (1st𝐹))))
 
3-Nov-2025prcof1 49377 The object part of the pre-composition functor. (Contributed by Zhi Wang, 3-Nov-2025.)
(𝜑𝐾 ∈ (𝐷 Func 𝐸))    &   (𝜑 → (1st ‘(⟨𝐷, 𝐸⟩ −∘F 𝐹)) = 𝑂)       (𝜑 → (𝑂𝐾) = (𝐾func 𝐹))
 
3-Nov-2025cicerALT 49035 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 49020 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 48093 Lemma 9 for gpgprismgr4cycl0 48096. (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 33754 Integers are constructible. (Contributed by Thierry Arnoux, 3-Nov-2025.)
(𝜑𝑋 ∈ ℤ)       (𝜑𝑋 ∈ Constr)
 
2-Nov-2025prcoffunca 49375 The pre-composition functor is a functor. (Contributed by Zhi Wang, 2-Nov-2025.)
𝑅 = (𝐷 FuncCat 𝐸)    &   (𝜑𝐸 ∈ Cat)    &   𝑆 = (𝐶 FuncCat 𝐸)    &   (𝜑𝐹 ∈ (𝐶 Func 𝐷))       (𝜑 → (⟨𝐷, 𝐸⟩ −∘F 𝐹) ∈ (𝑅 Func 𝑆))
 
2-Nov-2025prcoffunc 49374 The pre-composition functor is a functor. (Contributed by Zhi Wang, 2-Nov-2025.)
𝑅 = (𝐷 FuncCat 𝐸)    &   (𝜑𝐸 ∈ Cat)    &   𝑆 = (𝐶 FuncCat 𝐸)    &   (𝜑𝐹(𝐶 Func 𝐷)𝐺)       (𝜑 → (⟨𝐷, 𝐸⟩ −∘F𝐹, 𝐺⟩) ∈ (𝑅 Func 𝑆))
 
2-Nov-2025prcoftposcurfucoa 49373 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 49372 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 49371 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 49370 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 49367 Value of the pre-composition functor. (Contributed by Zhi Wang, 2-Nov-2025.)
𝐵 = (𝐷 Func 𝐸)    &   𝑁 = (𝐷 Nat 𝐸)    &   (𝜑𝐷𝑉)    &   (𝜑𝐸𝑊)    &   Rel 𝑅    &   (𝜑𝐹𝑅𝐺)       (𝜑 → (⟨𝐷, 𝐸⟩ −∘F𝐹, 𝐺⟩) = ⟨(𝑘𝐵 ↦ (𝑘func𝐹, 𝐺⟩)), (𝑘𝐵, 𝑙𝐵 ↦ (𝑎 ∈ (𝑘𝑁𝑙) ↦ (𝑎𝐹)))⟩)
 
2-Nov-2025prcofvala 49366 Value of the pre-composition functor. (Contributed by Zhi Wang, 2-Nov-2025.)
𝐵 = (𝐷 Func 𝐸)    &   𝑁 = (𝐷 Nat 𝐸)    &   (𝜑𝐷𝑉)    &   (𝜑𝐸𝑊)    &   (𝜑𝐹𝑈)       (𝜑 → (⟨𝐷, 𝐸⟩ −∘F 𝐹) = ⟨(𝑘𝐵 ↦ (𝑘func 𝐹)), (𝑘𝐵, 𝑙𝐵 ↦ (𝑎 ∈ (𝑘𝑁𝑙) ↦ (𝑎 ∘ (1st𝐹))))⟩)
 
2-Nov-2025prcofvalg 49365 Value of the pre-composition functor. (Contributed by Zhi Wang, 2-Nov-2025.)
𝐵 = (𝐷 Func 𝐸)    &   𝑁 = (𝐷 Nat 𝐸)    &   (𝜑𝐹𝑈)    &   (𝜑𝑃𝑉)    &   (𝜑 → (1st𝑃) = 𝐷)    &   (𝜑 → (2nd𝑃) = 𝐸)       (𝜑 → (𝑃 −∘F 𝐹) = ⟨(𝑘𝐵 ↦ (𝑘func 𝐹)), (𝑘𝐵, 𝑙𝐵 ↦ (𝑎 ∈ (𝑘𝑁𝑙) ↦ (𝑎 ∘ (1st𝐹))))⟩)
 
2-Nov-2025reldmprcof 49364 The domain of −∘F is a relation. (Contributed by Zhi Wang, 2-Nov-2025.)
Rel dom −∘F
 
2-Nov-2025df-prcof 49363 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 49360). But such definition requires an explicit third category. prcoftposcurfuco 49372 and prcoftposcurfucoa 49373 prove the equivalence. (Contributed by Zhi Wang, 2-Nov-2025.)

−∘F = (𝑝 ∈ V, 𝑓 ∈ V ↦ (1st𝑝) / 𝑑(2nd𝑝) / 𝑒(𝑑 Func 𝑒) / 𝑏⟨(𝑘𝑏 ↦ (𝑘func 𝑓)), (𝑘𝑏, 𝑙𝑏 ↦ (𝑎 ∈ (𝑘(𝑑 Nat 𝑒)𝑙) ↦ (𝑎 ∘ (1st𝑓))))⟩)
 
2-Nov-2025gpgprismgr4cycllem8 48092 Lemma 8 for gpgprismgr4cycl0 48096. (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 48086 Lemma 2 for gpgprismgr4cycl0 48096: 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 48043 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 48042 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 48040 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 48037 Lemma for gpgiedgdmel 48040 and gpgedgel 48041. (Contributed by AV, 2-Nov-2025.)
𝐼 = (0..^𝑁)    &   𝐽 = (1..^(⌈‘(𝑁 / 2)))       ((𝑁 ∈ ℕ ∧ 𝐾𝐽) → (∃𝑥𝐼 (𝑌 = {⟨0, 𝑥⟩, ⟨0, ((𝑥 + 1) mod 𝑁)⟩} ∨ 𝑌 = {⟨0, 𝑥⟩, ⟨1, 𝑥⟩} ∨ 𝑌 = {⟨1, 𝑥⟩, ⟨1, ((𝑥 + 𝐾) mod 𝑁)⟩}) → 𝑌 ∈ 𝒫 ({0, 1} × 𝐼)))
 
2-Nov-20251elfzo1ceilhalf1 47338 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 47337 The ceiling of half of a positive integer is a positive integer. (Contributed by AV, 2-Nov-2025.)
(𝑁 ∈ ℕ → (⌈‘(𝑁 / 2)) ∈ ℕ)
 
2-Nov-2025rehalfge1 47336 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 47335 The ceiling of one half is one. (Contributed by AV, 2-Nov-2025.)
(⌈‘(1 / 2)) = 1
 
2-Nov-2025ceilbi 47334 A condition equivalent to ceiling. Analogous to flbi 13778. (Contributed by AV, 2-Nov-2025.)
((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℤ) → ((⌈‘𝐴) = 𝐵 ↔ (𝐴𝐵𝐵 < (𝐴 + 1))))
 
2-Nov-2025ceilhalfgt1 47330 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 33757 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 33756 The imaginary unit i is constructible. (Contributed by Thierry Arnoux, 2-Nov-2025.)
i ∈ Constr
 
2-Nov-2025constrdircl 33755 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 33753 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 33752 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 33751 Nonnegative integers are constructible. (Contributed by Thierry Arnoux, 2-Nov-2025.)
(𝜑𝑁 ∈ ℕ0)       (𝜑𝑁 ∈ Constr)
 
2-Nov-2025constrcn 33750 Constructible numbers are complex numbers. (Contributed by Thierry Arnoux, 2-Nov-2025.)
(𝜑𝑋 ∈ Constr)       (𝜑𝑋 ∈ ℂ)
 
2-Nov-2025constrcccl 33748 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 33747 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 33746 Constructible numbers are closed under line-line intersections. (Contributed by Thierry Arnoux, 2-Nov-2025.)
(𝜑𝐴 ∈ Constr)    &   (𝜑𝐵 ∈ Constr)    &   (𝜑𝐺 ∈ Constr)    &   (𝜑𝐷 ∈ Constr)    &   (𝜑𝑇 ∈ ℝ)    &   (𝜑𝑅 ∈ ℝ)    &   (𝜑𝑋 ∈ ℂ)    &   (𝜑𝑋 = (𝐴 + (𝑇 · (𝐵𝐴))))    &   (𝜑𝑋 = (𝐺 + (𝑅 · (𝐷𝐺))))    &   (𝜑 → (ℑ‘((∗‘(𝐵𝐴)) · (𝐷𝐺))) ≠ 0)       (𝜑𝑋 ∈ Constr)
 
2-Nov-2025constrcbvlem 33745 Technical lemma for eliminating the hypothesis of constr0 33727 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 33744 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 33743 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 33742 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 33741 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 32669 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 32470 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 32469 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 32468 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 32467 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 32466 An unordered triple of elements of a class is a subset of the class. (Contributed by Thierry Arnoux, 2-Nov-2025.)
((𝐴𝑉𝐵𝑊𝐶𝑋) → ((𝐴𝐷𝐵𝐷𝐶𝐷) ↔ {𝐴, 𝐵, 𝐶} ⊆ 𝐷))
 
2-Nov-2025prssbd 32459 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 32458 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 3102 Restricted quantifier version of 19.43 1882 for a triple disjunction . (Contributed by AV, 2-Nov-2025.)
(∃𝑥𝐴 (𝜑𝜓𝜒) ↔ (∃𝑥𝐴 𝜑 ∨ ∃𝑥𝐴 𝜓 ∨ ∃𝑥𝐴 𝜒))
 
1-Nov-2025iinfconstbas 49055 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 49054 Lemma for iinfconstbas 49055. (Contributed by Zhi Wang, 1-Nov-2025.)
𝐽 = (𝑥𝑆, 𝑦𝑆 ↦ if(𝑥 = 𝑦, {(𝐼𝑥)}, ∅))    &   𝐵 = (Base‘𝐶)    &   𝐼 = (Id‘𝐶)    &   (𝜑𝑆𝐵)    &   (𝜑𝐶 ∈ Cat)    &   (𝜑𝐴 = ((Subcat‘𝐶) ∩ {𝑗𝑗 Fn (𝑆 × 𝑆)}))       (𝜑𝐽𝐴)
 
1-Nov-2025discsubc 49053 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 49052 Lemma for discsubc 49053. (Contributed by Zhi Wang, 1-Nov-2025.)
𝐽 = (𝑥𝑆, 𝑦𝑆 ↦ if(𝑥 = 𝑦, {(𝐼𝑥)}, ∅))       𝐽 Fn (𝑆 × 𝑆)
 
1-Nov-2025dmdm 49042 The double domain of a function on a Cartesian square. (Contributed by Zhi Wang, 1-Nov-2025.)
(𝐴 Fn (𝐵 × 𝐵) → 𝐵 = dom dom 𝐴)
 
1-Nov-2025ixpv 48878 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 48810 The indexed intersection is the the greatest lower bound if it exists. (Contributed by Zhi Wang, 1-Nov-2025.)
(𝜑𝑋𝐴)    &   ((𝜑𝑥 = 𝑋) → 𝐵 = 𝐶)    &   ((𝜑𝑥𝐴) → 𝐶𝐵)       (𝜑 𝑥𝐴 𝐵 = 𝐶)
 
1-Nov-2025iunlub 48809 The indexed union is the the lowest upper bound if it exists. (Contributed by Zhi Wang, 1-Nov-2025.)
(𝜑𝑋𝐴)    &   ((𝜑𝑥 = 𝑋) → 𝐵 = 𝐶)    &   ((𝜑𝑥𝐴) → 𝐵𝐶)       (𝜑 𝑥𝐴 𝐵 = 𝐶)
 
1-Nov-2025iuneq0 48807 An indexed union is empty iff all indexed classes are empty. (Contributed by Zhi Wang, 1-Nov-2025.)
(∀𝑥𝐴 𝐵 = ∅ ↔ 𝑥𝐴 𝐵 = ∅)
 
1-Nov-2025gpgprismgr4cycllem7 48091 Lemma 7 for gpgprismgr4cycl0 48096: 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 48090 Lemma 6 for gpgprismgr4cycl0 48096: 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 48089 Lemma 5 for gpgprismgr4cycl0 48096. (Contributed by AV, 1-Nov-2025.)
𝑃 = ⟨“⟨0, 0⟩⟨0, 1⟩⟨1, 1⟩⟨1, 0⟩⟨0, 0⟩”⟩       𝑃 ∈ Word V
 
1-Nov-2025gpgprismgr4cycllem4 48088 Lemma 4 for gpgprismgr4cycl0 48096: the cycle 𝑃, 𝐹 consists of 5 vertices (the first and the last vertex are identical, see gpgprismgr4cycllem6 48090. (Contributed by AV, 1-Nov-2025.)
𝑃 = ⟨“⟨0, 0⟩⟨0, 1⟩⟨1, 1⟩⟨1, 0⟩⟨0, 0⟩”⟩       (♯‘𝑃) = 5
 
1-Nov-2025gpgprismgr4cycllem1 48085 Lemma 1 for gpgprismgr4cycl0 48096: 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 49051 The intersection of two subcategories is a subcategory. (Contributed by Zhi Wang, 31-Oct-2025.)
(𝜑𝐻 Fn (𝑆 × 𝑆))    &   (𝜑𝐽 Fn (𝑇 × 𝑇))    &   (𝜑𝐻 ∈ (Subcat‘𝐶))    &   (𝜑𝐽 ∈ (Subcat‘𝐶))       (𝜑 → (𝑥 ∈ (𝑆𝑇), 𝑦 ∈ (𝑆𝑇) ↦ ((𝑥𝐻𝑦) ∩ (𝑥𝐽𝑦))) ∈ (Subcat‘𝐶))
 
31-Oct-2025infsubc2 49050 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 49049 The intersection of two subcategories is a subcategory. (Contributed by Zhi Wang, 31-Oct-2025.)
((𝐴 ∈ (Subcat‘𝐶) ∧ 𝐵 ∈ (Subcat‘𝐶)) → (𝑥 ∈ (dom 𝐴 ∩ dom 𝐵) ↦ ((𝐴𝑥) ∩ (𝐵𝑥))) ∈ (Subcat‘𝐶))
 
31-Oct-2025iinfprg 49048 Indexed intersection of functions with an unordered pair index. (Contributed by Zhi Wang, 31-Oct-2025.)
((𝐴𝑉𝐵𝑊) → (𝑥 ∈ (dom 𝐴 ∩ dom 𝐵) ↦ ((𝐴𝑥) ∩ (𝐵𝑥))) = (𝑥 𝑦 ∈ {𝐴, 𝐵}dom 𝑦 𝑦 ∈ {𝐴, 𝐵} (𝑦𝑥)))
 
31-Oct-2025iinfsubc 49047 Indexed intersection of subcategories is a subcategory. (Contributed by Zhi Wang, 31-Oct-2025.)
(𝜑𝐴 ≠ ∅)    &   ((𝜑𝑥𝐴) → 𝐻 ∈ (Subcat‘𝐶))    &   (𝜑𝐾 = (𝑦 𝑥𝐴 dom 𝐻 𝑥𝐴 (𝐻𝑦)))       (𝜑𝐾 ∈ (Subcat‘𝐶))
 
31-Oct-2025iinfssc 49046 Indexed intersection of subcategories is a subcategory (the category-agnostic version). (Contributed by Zhi Wang, 31-Oct-2025.)
(𝜑𝐴 ≠ ∅)    &   ((𝜑𝑥𝐴) → 𝐻cat 𝐽)    &   (𝜑𝐾 = (𝑦 𝑥𝐴 dom 𝐻 𝑥𝐴 (𝐻𝑦)))       (𝜑𝐾cat 𝐽)
 
31-Oct-2025iinfssclem3 49045 Lemma for iinfssc 49046. (Contributed by Zhi Wang, 31-Oct-2025.)
(𝜑𝐴 ≠ ∅)    &   ((𝜑𝑥𝐴) → 𝐻cat 𝐽)    &   (𝜑𝐾 = (𝑦 𝑥𝐴 dom 𝐻 𝑥𝐴 (𝐻𝑦)))    &   ((𝜑𝑥𝐴) → 𝑆 = dom dom 𝐻)    &   𝑥𝜑    &   (𝜑𝑋 𝑥𝐴 𝑆)    &   (𝜑𝑌 𝑥𝐴 𝑆)       (𝜑 → (𝑋𝐾𝑌) = 𝑥𝐴 (𝑋𝐻𝑌))
 
31-Oct-2025iinfssclem2 49044 Lemma for iinfssc 49046. (Contributed by Zhi Wang, 31-Oct-2025.)
(𝜑𝐴 ≠ ∅)    &   ((𝜑𝑥𝐴) → 𝐻cat 𝐽)    &   (𝜑𝐾 = (𝑦 𝑥𝐴 dom 𝐻 𝑥𝐴 (𝐻𝑦)))    &   ((𝜑𝑥𝐴) → 𝑆 = dom dom 𝐻)    &   𝑥𝜑       (𝜑𝐾 Fn ( 𝑥𝐴 𝑆 × 𝑥𝐴 𝑆))
 
31-Oct-2025iinfssclem1 49043 Lemma for iinfssc 49046. (Contributed by Zhi Wang, 31-Oct-2025.)
(𝜑𝐴 ≠ ∅)    &   ((𝜑𝑥𝐴) → 𝐻cat 𝐽)    &   (𝜑𝐾 = (𝑦 𝑥𝐴 dom 𝐻 𝑥𝐴 (𝐻𝑦)))    &   ((𝜑𝑥𝐴) → 𝑆 = dom dom 𝐻)    &   𝑥𝜑       (𝜑𝐾 = (𝑧 𝑥𝐴 𝑆, 𝑤 𝑥𝐴 𝑆 𝑥𝐴 (𝑧𝐻𝑤)))
 
31-Oct-2025gpgprismgrusgra 48049 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 47911 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 47910 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 47909 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 47908 Lemma 2 for upgrimpths 47909. (Contributed by AV, 31-Oct-2025.)
𝐼 = (iEdg‘𝐺)    &   𝐽 = (iEdg‘𝐻)    &   (𝜑𝐺 ∈ USPGraph)    &   (𝜑𝐻 ∈ USPGraph)    &   (𝜑𝑁 ∈ (𝐺 GraphIso 𝐻))    &   𝐸 = (𝑥 ∈ dom 𝐹 ↦ (𝐽‘(𝑁 “ (𝐼‘(𝐹𝑥)))))    &   (𝜑𝐹(Paths‘𝐺)𝑃)       ((𝜑𝑋 ∈ (1..^(♯‘𝐹))) → (¬ ((𝑁𝑃)‘𝑋) = ((𝑁𝑃)‘0) ∧ ¬ ((𝑁𝑃)‘𝑋) = ((𝑁𝑃)‘(♯‘𝐹))))
 
31-Oct-2025squeezedltsq 46887 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 48825 A Cartesian product is the Cartesian product of its domain and range. (Contributed by Zhi Wang, 30-Oct-2025.)
(𝑅 = (𝐴 × 𝐵) → 𝑅 = (dom 𝑅 × ran 𝑅))
 
30-Oct-2025intxp 48820 Intersection of Cartesian products is the Cartesian product of intersection of domains and ranges. See also inxp 5795 and iinxp 48819. (Contributed by Zhi Wang, 30-Oct-2025.)
(𝜑𝐴 ≠ ∅)    &   ((𝜑𝑥𝐴) → 𝑥 = (dom 𝑥 × ran 𝑥))    &   𝑋 = 𝑥𝐴 dom 𝑥    &   𝑌 = 𝑥𝐴 ran 𝑥       (𝜑 𝐴 = (𝑋 × 𝑌))
 
30-Oct-2025iinxp 48819 Indexed intersection of Cartesian products is the Cartesian product of indexed intersections. See also inxp 5795 and intxp 48820. (Contributed by Zhi Wang, 30-Oct-2025.)
(𝐴 ≠ ∅ → 𝑥𝐴 (𝐵 × 𝐶) = ( 𝑥𝐴 𝐵 × 𝑥𝐴 𝐶))
 
30-Oct-2025iineq0 48808 An indexed intersection is empty if one of the intersected classes is empty. (Contributed by Zhi Wang, 30-Oct-2025.)
(∃𝑥𝐴 𝐵 = ∅ → 𝑥𝐴 𝐵 = ∅)
 
30-Oct-2025upgrimpthslem1 47907 Lemma 1 for upgrimpths 47909. (Contributed by AV, 30-Oct-2025.)
𝐼 = (iEdg‘𝐺)    &   𝐽 = (iEdg‘𝐻)    &   (𝜑𝐺 ∈ USPGraph)    &   (𝜑𝐻 ∈ USPGraph)    &   (𝜑𝑁 ∈ (𝐺 GraphIso 𝐻))    &   𝐸 = (𝑥 ∈ dom 𝐹 ↦ (𝐽‘(𝑁 “ (𝐼‘(𝐹𝑥)))))    &   (𝜑𝐹(Paths‘𝐺)𝑃)       (𝜑 → Fun ((𝑁𝑃) ↾ (1..^(♯‘𝐹))))
 
30-Oct-20252f1fvneq 7235 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 7234 A one-to-one function maps different arguments onto different values. Implication of the alternate definition dff14a 7245. (Contributed by AV, 30-Oct-2025.)
((𝐹:𝐴1-1𝐵 ∧ (𝑋𝐴𝑌𝐴𝑋𝑌)) → (𝐹𝑋) ≠ (𝐹𝑌))
 
29-Oct-2025upgrimtrls 47906 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 47905 Lemma 2 for upgrimtrls 47906. (Contributed by AV, 29-Oct-2025.)
𝐼 = (iEdg‘𝐺)    &   𝐽 = (iEdg‘𝐻)    &   (𝜑𝐺 ∈ USPGraph)    &   (𝜑𝐻 ∈ USPGraph)    &   (𝜑𝑁 ∈ (𝐺 GraphIso 𝐻))    &   𝐸 = (𝑥 ∈ dom 𝐹 ↦ (𝐽‘(𝑁 “ (𝐼‘(𝐹𝑥)))))    &   (𝜑𝐹(Trails‘𝐺)𝑃)       ((𝜑 ∧ (𝑥 ∈ dom 𝐹𝑦 ∈ dom 𝐹)) → ((𝐽‘(𝑁 “ (𝐼‘(𝐹𝑥)))) = (𝐽‘(𝑁 “ (𝐼‘(𝐹𝑦)))) → 𝑥 = 𝑦))
 
29-Oct-2025upgrimtrlslem1 47904 Lemma 1 for upgrimtrls 47906. (Contributed by AV, 29-Oct-2025.)
𝐼 = (iEdg‘𝐺)    &   𝐽 = (iEdg‘𝐻)    &   (𝜑𝐺 ∈ USPGraph)    &   (𝜑𝐻 ∈ USPGraph)    &   (𝜑𝑁 ∈ (𝐺 GraphIso 𝐻))    &   𝐸 = (𝑥 ∈ dom 𝐹 ↦ (𝐽‘(𝑁 “ (𝐼‘(𝐹𝑥)))))    &   (𝜑𝐹(Trails‘𝐺)𝑃)       ((𝜑𝑋 ∈ dom 𝐹) → (𝑁 “ (𝐼‘(𝐹𝑋))) ∈ (Edg‘𝐻))
 
28-Oct-2025upgrimwlk 47902 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 47901 Lemma 5 for upgrimwlk 47902. (Contributed by AV, 28-Oct-2025.)
𝐼 = (iEdg‘𝐺)    &   𝐽 = (iEdg‘𝐻)    &   (𝜑𝐺 ∈ USPGraph)    &   (𝜑𝐻 ∈ USPGraph)    &   (𝜑𝑁 ∈ (𝐺 GraphIso 𝐻))    &   𝐸 = (𝑥 ∈ dom 𝐹 ↦ (𝐽‘(𝑁 “ (𝐼‘(𝐹𝑥)))))    &   (𝜑𝐹(Walks‘𝐺)𝑃)       ((𝜑𝑖 ∈ (0..^(♯‘𝐸))) → (𝑁 “ (𝐼‘(𝐹𝑖))) = {((𝑁𝑃)‘𝑖), ((𝑁𝑃)‘(𝑖 + 1))})
 
28-Oct-2025upgrimwlklem4 47900 Lemma 4 for upgrimwlk 47902. (Contributed by AV, 28-Oct-2025.)
𝐼 = (iEdg‘𝐺)    &   𝐽 = (iEdg‘𝐻)    &   (𝜑𝐺 ∈ USPGraph)    &   (𝜑𝐻 ∈ USPGraph)    &   (𝜑𝑁 ∈ (𝐺 GraphIso 𝐻))    &   𝐸 = (𝑥 ∈ dom 𝐹 ↦ (𝐽‘(𝑁 “ (𝐼‘(𝐹𝑥)))))    &   (𝜑𝐹 ∈ Word dom 𝐼)    &   (𝜑𝑃:(0...(♯‘𝐹))⟶(Vtx‘𝐺))       (𝜑 → (𝑁𝑃):(0...(♯‘𝐸))⟶(Vtx‘𝐻))
 
27-Oct-2025oppczeroo 49226 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 49041 The opposite category has the same isomorphic objects as the original category. (Contributed by Zhi Wang, 27-Oct-2025.)
𝑂 = (oppCat‘𝐶)       ( ≃𝑐𝐶) = ( ≃𝑐𝑂)
 
27-Oct-2025oppccicb 49040 Isomorphic objects are isomorphic in the opposite category. (Contributed by Zhi Wang, 27-Oct-2025.)
𝑂 = (oppCat‘𝐶)       (𝑅( ≃𝑐𝐶)𝑆𝑅( ≃𝑐𝑂)𝑆)
 
27-Oct-2025cicpropd 49039 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 49038 Lemma for cicpropd 49039. (Contributed by Zhi Wang, 27-Oct-2025.)
(𝜑 → (Homf𝐶) = (Homf𝐷))    &   (𝜑 → (compf𝐶) = (compf𝐷))       ((𝜑𝑃 ∈ ( ≃𝑐𝐶)) → 𝑃 ∈ ( ≃𝑐𝐷))
 
27-Oct-2025cic1st2ndbr 49037 Rewrite the predicate of isomorphic objects with separated parts. (Contributed by Zhi Wang, 27-Oct-2025.)
(𝑃 ∈ ( ≃𝑐𝐶) → (1st𝑃)( ≃𝑐𝐶)(2nd𝑃))
 
27-Oct-2025cic1st2nd 49036 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 49034 The set of isomorphic objects is a relation. Simplifies cicer 17768 (see cicerALT 49035). (Contributed by Zhi Wang, 27-Oct-2025.)
(𝐶 ∈ Cat → Rel ( ≃𝑐𝐶))
 
27-Oct-2025isopropd 49030 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 49029 Lemma for isopropd 49030. (Contributed by Zhi Wang, 27-Oct-2025.)
(𝜑 → (Homf𝐶) = (Homf𝐷))    &   (𝜑 → (compf𝐶) = (compf𝐷))       ((𝜑𝑃 ∈ (Iso‘𝐶)) → 𝑃 ∈ (Iso‘𝐷))
 
27-Oct-2025invpropd 49028 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 49027 Lemma for invpropd 49028. (Contributed by Zhi Wang, 27-Oct-2025.)
(𝜑 → (Homf𝐶) = (Homf𝐷))    &   (𝜑 → (compf𝐶) = (compf𝐷))       ((𝜑𝑃 ∈ (Inv‘𝐶)) → 𝑃 ∈ (Inv‘𝐷))
 
27-Oct-2025sectpropd 49026 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 49025 Lemma for sectpropd 49026. (Contributed by Zhi Wang, 27-Oct-2025.)
(𝜑 → (Homf𝐶) = (Homf𝐷))    &   (𝜑 → (compf𝐶) = (compf𝐷))       ((𝜑𝑃 ∈ (Sect‘𝐶)) → 𝑃 ∈ (Sect‘𝐷))
 
27-Oct-2025isofval2 49021 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 49019 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 17737 (see isofnALT 49020). (Contributed by Zhi Wang, 27-Oct-2025.)
(𝐶 ∈ Cat → (Inv‘𝐶) Fn ((Base‘𝐶) × (Base‘𝐶)))
 
27-Oct-2025sectfn 49018 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 48856 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 17720 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 17712 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 49506 The isomorphism between terminal categories is unique. (Contributed by Zhi Wang, 26-Oct-2025.)
𝐶 = (CatCat‘𝑈)    &   𝐵 = (Base‘𝐶)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)    &   (𝜑𝑋 ∈ TermCat)    &   (𝜑𝑌 ∈ TermCat)       (𝜑 → ∃!𝑓 𝑓 ∈ (𝑋(Iso‘𝐶)𝑌))
 
26-Oct-2025termcciso 49505 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 49234 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 49233 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 49231 Lemma for zeroopropd 49234. (Contributed by Zhi Wang, 26-Oct-2025.)
(𝜑 → (Homf𝐶) = (Homf𝐷))    &   (𝜑 → (compf𝐶) = (compf𝐷))    &   (𝜑 → ¬ 𝐶 ∈ V)       (𝜑 → (ZeroO‘𝐶) = (ZeroO‘𝐷))
 
26-Oct-2025termopropdlem 49230 Lemma for termopropd 49233. (Contributed by Zhi Wang, 26-Oct-2025.)
(𝜑 → (Homf𝐶) = (Homf𝐷))    &   (𝜑 → (compf𝐶) = (compf𝐷))    &   (𝜑 → ¬ 𝐶 ∈ V)       (𝜑 → (TermO‘𝐶) = (TermO‘𝐷))
 
26-Oct-2025initopropdlem 49229 Lemma for initopropd 49232. (Contributed by Zhi Wang, 26-Oct-2025.)
(𝜑 → (Homf𝐶) = (Homf𝐷))    &   (𝜑 → (compf𝐶) = (compf𝐷))    &   (𝜑 → ¬ 𝐶 ∈ V)       (𝜑 → (InitO‘𝐶) = (InitO‘𝐷))
 
26-Oct-2025initopropdlemlem 49228 Lemma for initopropdlem 49229, termopropdlem 49230, and zeroopropdlem 49231. (Contributed by Zhi Wang, 26-Oct-2025.)
𝐹 Fn 𝑋    &   (𝜑 → ¬ 𝐴𝑌)    &   𝑋𝑌    &   ((𝜑𝐵𝑋) → (𝐹𝐵) = ∅)       (𝜑 → (𝐹𝐴) = (𝐹𝐵))
 
26-Oct-2025termoeu2 49227 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 49225 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 49033 Isomorphic objects are isomorphic in the opposite category. (Contributed by Zhi Wang, 26-Oct-2025.)
𝑂 = (oppCat‘𝐶)    &   (𝜑𝑅( ≃𝑐𝐶)𝑆)       (𝜑𝑅( ≃𝑐𝑂)𝑆)
 
26-Oct-2025cicrcl2 49032 Isomorphism implies the structure being a category. (Contributed by Zhi Wang, 26-Oct-2025.)
(𝑅( ≃𝑐𝐶)𝑆𝐶 ∈ Cat)
 
26-Oct-2025cicfn 49031 𝑐 is a function on Cat. (Contributed by Zhi Wang, 26-Oct-2025.)
𝑐 Fn Cat
 
26-Oct-2025tcfr 44953 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 44952 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 33771 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 33764 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 33749 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 33740 Lemma for constrext2chn 33749. (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 33705 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 33704 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 33650 Deduce sub-division-ring from field extension. (Contributed by Thierry Arnoux, 26-Oct-2025.)
𝐵 = (Base‘𝐹)    &   (𝜑𝐸/FldExt𝐹)       (𝜑𝐵 ∈ (SubDRing‘𝐸))
 
26-Oct-2025sdrgfldext 33646 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 33248 A subring of a sub-division-ring is a sub-division-ring. See also subsubrg 20507. (Contributed by Thierry Arnoux, 26-Oct-2025.)
𝑆 = (𝑅s 𝐴)    &   (𝜑𝐴 ∈ (SubDRing‘𝑅))       (𝜑 → (𝐵 ∈ (SubDRing‘𝑆) ↔ (𝐵 ∈ (SubDRing‘𝑅) ∧ 𝐵𝐴)))
 
26-Oct-2025hashne0 32735 Deduce that the size of a set is not zero. (Contributed by Thierry Arnoux, 26-Oct-2025.)
(𝜑𝐴𝑉)    &   (𝜑𝐴 ≠ ∅)       (𝜑 → 0 < (♯‘𝐴))
 
26-Oct-2025xnn0nnd 32696 Conditions for an extended nonnegative integer to be a positive integer. (Contributed by Thierry Arnoux, 26-Oct-2025.)
(𝜑𝑁 ∈ ℕ0*)    &   (𝜑𝑁 ∈ ℝ)    &   (𝜑 → 0 < 𝑁)       (𝜑𝑁 ∈ ℕ)
 
26-Oct-2025xnn0nn0d 32695 Conditions for an extended nonnegative integer to be a nonnegative integer. (Contributed by Thierry Arnoux, 26-Oct-2025.)
(𝜑𝑁 ∈ ℕ0*)    &   (𝜑𝑁 ∈ ℝ)       (𝜑𝑁 ∈ ℕ0)
 
26-Oct-2025rexmul2 32677 If the result 𝐴 of an extended real multiplication is real, then its first factor 𝐵 is also real. See also rexmul 13231. (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 47899 Lemma 3 for upgrimwlk 47902. (Contributed by AV, 25-Oct-2025.)
𝐼 = (iEdg‘𝐺)    &   𝐽 = (iEdg‘𝐻)    &   (𝜑𝐺 ∈ USPGraph)    &   (𝜑𝐻 ∈ USPGraph)    &   (𝜑𝑁 ∈ (𝐺 GraphIso 𝐻))    &   𝐸 = (𝑥 ∈ dom 𝐹 ↦ (𝐽‘(𝑁 “ (𝐼‘(𝐹𝑥)))))    &   (𝜑𝐹 ∈ Word dom 𝐼)       ((𝜑𝑋 ∈ (0..^(♯‘𝐸))) → (𝐽‘(𝐸𝑋)) = (𝑁 “ (𝐼‘(𝐹𝑋))))
 
25-Oct-2025upgrimwlklem2 47898 Lemma 2 for upgrimwlk 47902. (Contributed by AV, 25-Oct-2025.)
𝐼 = (iEdg‘𝐺)    &   𝐽 = (iEdg‘𝐻)    &   (𝜑𝐺 ∈ USPGraph)    &   (𝜑𝐻 ∈ USPGraph)    &   (𝜑𝑁 ∈ (𝐺 GraphIso 𝐻))    &   𝐸 = (𝑥 ∈ dom 𝐹 ↦ (𝐽‘(𝑁 “ (𝐼‘(𝐹𝑥)))))    &   (𝜑𝐹 ∈ Word dom 𝐼)       (𝜑𝐸 ∈ Word dom 𝐽)
 
25-Oct-2025upgrimwlklem1 47897 Lemma 1 for upgrimwlk 47902 and upgrimwlklen 47903. (Contributed by AV, 25-Oct-2025.)
𝐼 = (iEdg‘𝐺)    &   𝐽 = (iEdg‘𝐻)    &   (𝜑𝐺 ∈ USPGraph)    &   (𝜑𝐻 ∈ USPGraph)    &   (𝜑𝑁 ∈ (𝐺 GraphIso 𝐻))    &   𝐸 = (𝑥 ∈ dom 𝐹 ↦ (𝐽‘(𝑁 “ (𝐼‘(𝐹𝑥)))))    &   (𝜑𝐹 ∈ Word dom 𝐼)       (𝜑 → (♯‘𝐸) = (♯‘𝐹))
 
25-Oct-2025uhgrimprop 47892 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 47891 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 47890 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 49503 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 49491 An alternate definition of df-termo 17947 using universal property. See also the "Equivalent formulations" section of https://en.wikipedia.org/wiki/Initial_and_terminal_objects 17947. (Contributed by Zhi Wang, 23-Oct-2025.)
TermO = (𝑐 ∈ Cat ↦ (oppCat‘𝑐) / 𝑜(SetCat‘1o) / 𝑑((1st ‘(𝑑Δfunc𝑜))‘∅) / 𝑓dom (𝑓(𝑜 UP 𝑑)∅))
 
23-Oct-2025dfinito4 49490 An alternate definition of df-inito 17946 using universal property. See also the "Equivalent formulations" section of https://en.wikipedia.org/wiki/Initial_and_terminal_objects 17946. (Contributed by Zhi Wang, 23-Oct-2025.)
InitO = (𝑐 ∈ Cat ↦ (SetCat‘1o) / 𝑑((1st ‘(𝑑Δfunc𝑐))‘∅) / 𝑓dom (𝑓(𝑐 UP 𝑑)∅))
 
23-Oct-2025isinito3 49489 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 49488 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 49487 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 49232 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 49224 Initial objects are terminal in the opposite category. (Contributed by Zhi Wang, 23-Oct-2025.)
(𝐼 ∈ (InitO‘𝐶) ↔ 𝐼 ∈ (TermO‘(oppCat‘𝐶)))
 
23-Oct-2025zeroo2 49223 A zero object is an object in the base set. (Contributed by Zhi Wang, 23-Oct-2025.)
𝐵 = (Base‘𝐶)       (𝑂 ∈ (ZeroO‘𝐶) → 𝑂𝐵)
 
23-Oct-2025termoo2 49222 A terminal object is an object in the base set. (Contributed by Zhi Wang, 23-Oct-2025.)
𝐵 = (Base‘𝐶)       (𝑂 ∈ (TermO‘𝐶) → 𝑂𝐵)
 
23-Oct-2025initoo2 49221 An initial object is an object in the base set. (Contributed by Zhi Wang, 23-Oct-2025.)
𝐵 = (Base‘𝐶)       (𝑂 ∈ (InitO‘𝐶) → 𝑂𝐵)
 
23-Oct-2025up1st2nd2 49177 Rewrite the universal property predicate with separated parts. (Contributed by Zhi Wang, 23-Oct-2025.)
(𝜑𝑋 ∈ (𝐹(𝐷 UP 𝐸)𝑊))       (𝜑 → (1st𝑋)(𝐹(𝐷 UP 𝐸)𝑊)(2nd𝑋))
 
23-Oct-2025up1st2ndb 49176 Combine/separate parts in the universal property predicate. (Contributed by Zhi Wang, 23-Oct-2025.)
(𝜑𝐹 ∈ (𝐷 Func 𝐸))       (𝜑 → (𝑋(𝐹(𝐷 UP 𝐸)𝑊)𝑀𝑋(⟨(1st𝐹), (2nd𝐹)⟩(𝐷 UP 𝐸)𝑊)𝑀))
 
23-Oct-2025up1st2ndr 49175 Combine separated parts in the universal property predicate. (Contributed by Zhi Wang, 23-Oct-2025.)
(𝜑𝐹 ∈ (𝐷 Func 𝐸))    &   (𝜑𝑋(⟨(1st𝐹), (2nd𝐹)⟩(𝐷 UP 𝐸)𝑊)𝑀)       (𝜑𝑋(𝐹(𝐷 UP 𝐸)𝑊)𝑀)
 
23-Oct-2025up1st2nd 49174 Rewrite the universal property predicate with separated parts. (Contributed by Zhi Wang, 23-Oct-2025.)
(𝜑𝑋(𝐹(𝐷 UP 𝐸)𝑊)𝑀)       (𝜑𝑋(⟨(1st𝐹), (2nd𝐹)⟩(𝐷 UP 𝐸)𝑊)𝑀)
 
23-Oct-2025oppccatb 49005 An opposite category is a category. (Contributed by Zhi Wang, 23-Oct-2025.)
𝑂 = (oppCat‘𝐶)    &   (𝜑𝐶𝑉)       (𝜑 → (𝐶 ∈ Cat ↔ 𝑂 ∈ Cat))
 
23-Oct-2025homf0 48998 The base is empty iff the functionalized Hom-set operation is empty. (Contributed by Zhi Wang, 23-Oct-2025.)
((Base‘𝐶) = ∅ ↔ (Homf𝐶) = ∅)
 
22-Oct-2025mndtchom 49573 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 49486 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 49485 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 49484 The identity morphism of the trivial category. (Contributed by Zhi Wang, 22-Oct-2025.)
1 = (SetCat‘1o)    &   𝐼 = (Id‘ 1 )       (𝐼‘∅) = ∅
 
22-Oct-2025setc1ocofval 49483 Composition in the trivial category. (Contributed by Zhi Wang, 22-Oct-2025.)
1 = (SetCat‘1o)       {⟨⟨∅, ∅⟩, ∅, {⟨∅, ∅, ∅⟩}⟩} = (comp‘ 1 )
 
22-Oct-2025setc1ohomfval 49482 Set of morphisms of the trivial category. (Contributed by Zhi Wang, 22-Oct-2025.)
1 = (SetCat‘1o)       {⟨∅, ∅, 1o⟩} = (Hom ‘ 1 )
 
22-Oct-2025setc1obas 49481 The base of the trivial category. (Contributed by Zhi Wang, 22-Oct-2025.)
1 = (SetCat‘1o)       1o = (Base‘ 1 )
 
22-Oct-2025ovsn2 48849 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 48848 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 48847 The operation value of a singleton of an ordered triple is the last member. (Contributed by Zhi Wang, 22-Oct-2025.)
(𝐶𝑉 → (𝐴{⟨𝐴, 𝐵, 𝐶⟩}𝐵) = 𝐶)
 
22-Oct-2025ovsng 48846 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 44931 Further shorten dfbi1ALTa 44929 using simprimi 44930. (Contributed by Eric Schmidt, 22-Oct-2025.) (New usage is discouraged.) (Proof modification is discouraged.)
((𝜑𝜓) ↔ ¬ ((𝜑𝜓) → ¬ (𝜓𝜑)))
 
22-Oct-2025simprimi 44930 Inference associated with simprim 166. Proved exactly as step 11 is obtained from step 4 in dfbi1ALTa 44929. (Contributed by Eric Schmidt, 22-Oct-2025.) (New usage is discouraged.) (Proof modification is discouraged.)
¬ (𝜑 → ¬ 𝜓)       𝜓
 
22-Oct-2025dfbi1ALTa 44929 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 42252 The number 9 is nonzero. (Contributed by SN, 22-Oct-2025.)
9 ≠ 0
 
22-Oct-20258ne0 42251 The number 8 is nonzero. (Contributed by SN, 22-Oct-2025.)
8 ≠ 0
 
22-Oct-20257ne0 42250 The number 7 is nonzero. (Contributed by SN, 22-Oct-2025.)
7 ≠ 0
 
22-Oct-20256ne0 42249 The number 6 is nonzero. (Contributed by SN, 22-Oct-2025.)
6 ≠ 0
 
22-Oct-20255ne0 42248 The number 5 is nonzero. (Contributed by SN, 22-Oct-2025.)
5 ≠ 0
 
22-Oct-2025halfpm6th 12404 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 12401 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 49529 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 7734) that these isomorphic categories form a proper class. (Contributed by Zhi Wang, 21-Oct-2025.)
(𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ TermCat)    &   𝑄 = (𝐷 FuncCat 𝐶)    &   𝐸 = (CatCat‘𝑈)    &   (𝜑𝑈𝑉)    &   (𝜑𝐶𝑈)    &   (𝜑𝑄𝑈)       (𝜑𝐶( ≃𝑐𝐸)𝑄)
 
21-Oct-2025diagciso 49528 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 49527 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 49526 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 49525 Lemma for diag2f1o 49526. (Contributed by Zhi Wang, 21-Oct-2025.)
𝐿 = (𝐶Δfunc𝐷)    &   𝐴 = (Base‘𝐶)    &   𝐻 = (Hom ‘𝐶)    &   (𝜑𝑋𝐴)    &   (𝜑𝑌𝐴)    &   𝑁 = (𝐷 Nat 𝐶)    &   (𝜑𝐷 ∈ TermCat)    &   (𝜑𝑀 ∈ (((1st𝐿)‘𝑋)𝑁((1st𝐿)‘𝑌)))    &   𝐵 = (Base‘𝐷)    &   (𝜑𝑍𝐵)    &   𝐹 = (𝑀𝑍)       (𝜑 → (𝐹 ∈ (𝑋𝐻𝑌) ∧ 𝑀 = ((𝑋(2nd𝐿)𝑌)‘𝐹)))
 
21-Oct-2025termcnatval 49524 Value of natural transformations for a terminal category. (Contributed by Zhi Wang, 21-Oct-2025.)
(𝜑𝐶 ∈ TermCat)    &   𝑁 = (𝐶 Nat 𝐷)    &   (𝜑𝐴 ∈ (𝐹𝑁𝐺))    &   𝐵 = (Base‘𝐶)    &   (𝜑𝑋𝐵)    &   𝑅 = (𝐴𝑋)       (𝜑𝐴 = {⟨𝑋, 𝑅⟩})
 
21-Oct-2025diag1f1o 49523 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 49522 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 49478 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 49298 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 49297 Lemma for diag2f1 49298. The converse is trivial (fveq2 6858). (Contributed by Zhi Wang, 21-Oct-2025.)
𝐿 = (𝐶Δfunc𝐷)    &   𝐴 = (Base‘𝐶)    &   𝐵 = (Base‘𝐷)    &   𝐻 = (Hom ‘𝐶)    &   (𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)    &   (𝜑𝑋𝐴)    &   (𝜑𝑌𝐴)    &   (𝜑𝐵 ≠ ∅)    &   (𝜑𝐹 ∈ (𝑋𝐻𝑌))    &   (𝜑𝐺 ∈ (𝑋𝐻𝑌))       (𝜑 → (((𝑋(2nd𝐿)𝑌)‘𝐹) = ((𝑋(2nd𝐿)𝑌)‘𝐺) → 𝐹 = 𝐺))
 
21-Oct-2025fnsnb 7139 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 7138 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 49565 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 7734 is equivalent to sngl V ∉ V. (Contributed by Zhi Wang, 20-Oct-2025.)
TermCat ∉ V
 
20-Oct-2025basrestermcfo 49564 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 49563 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 49562 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 49561 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 49560 An element of the class of singlegons is a singlegon. The converse (discsntermlem 49559) also holds. This is trivial if 𝐵 is 𝑏 (abid 2711). (Contributed by Zhi Wang, 20-Oct-2025.)
(𝐵 ∈ {𝑏 ∣ ∃𝑥 𝑏 = {𝑥}} → ∃𝑥 𝐵 = {𝑥})
 
20-Oct-2025discsntermlem 49559 A singlegon is an element of the class of singlegons. The converse (basrestermcfolem 49560) also holds. This is trivial if 𝐵 is 𝑏 (abid 2711). (Contributed by Zhi Wang, 20-Oct-2025.)
(∃𝑥 𝐵 = {𝑥} → 𝐵 ∈ {𝑏 ∣ ∃𝑥 𝑏 = {𝑥}})
 
20-Oct-2025termcfuncval 49521 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 49520 Alternate definition of TermCat. See also df-termc 49462, dftermc2 49509. (Contributed by Zhi Wang, 20-Oct-2025.)
TermCat = {𝑐 ∣ (Arrow‘𝑐) ≈ 1o}
 
20-Oct-2025arweutermc 49519 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 49518 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 49517 There exists a unique disjointified arrow in a terminal category. (Contributed by Zhi Wang, 20-Oct-2025.)
(𝐶 ∈ TermCat → ∃!𝑎 𝑎 ∈ (Arrow‘𝐶))
 
20-Oct-2025euendfunc2 49516 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 49515 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 49507. (Contributed by Zhi Wang, 20-Oct-2025.)
(𝜑 → ∃!𝑓 𝑓 ∈ (𝐶 Func 𝐶))    &   𝐵 = (Base‘𝐶)    &   (𝜑𝐵 ≠ ∅)       (𝜑𝐶 ∈ TermCat)
 
20-Oct-2025termc2 49507 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 49508 for hints. See also eufunc 49511 and euendfunc2 49516 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 49477 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 49471 The base of a terminal category is given by its object. (Contributed by Zhi Wang, 20-Oct-2025.)
(𝜑𝐶 ∈ TermCat)    &   𝐵 = (Base‘𝐶)    &   (𝜑𝑋𝐵)       (𝜑𝐵 = {𝑋})
 
20-Oct-2025thinchom 49416 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 49361 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 49360 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 48969 The class of preordered sets is a proper class. (Contributed by Zhi Wang, 20-Oct-2025.)
Proset ∉ V
 
20-Oct-2025posnex 48968 The class of posets is a proper class. (Contributed by Zhi Wang, 20-Oct-2025.)
Poset ∉ V
 
20-Oct-2025basresprsfo 48967 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 48966 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 48965 There exists a preordered set for any base set. (Contributed by Zhi Wang, 20-Oct-2025.)
(𝐵𝑉 → ∃𝑘 ∈ Proset 𝐵 = (Base‘𝑘))
 
20-Oct-2025exbaspos 48964 There exists a poset for any base set. (Contributed by Zhi Wang, 20-Oct-2025.)
(𝐵𝑉 → ∃𝑘 ∈ Poset 𝐵 = (Base‘𝑘))
 
20-Oct-2025resipos 48963 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 48962 Construct a poset (resipos 48963) for any base set. (Contributed by Zhi Wang, 20-Oct-2025.)
𝐾 = {⟨(Base‘ndx), 𝐵⟩, ⟨(le‘ndx), ( I ↾ 𝐵)⟩}       (𝐵𝑉𝐵 = (Base‘𝐾))
 
20-Oct-2025slotresfo 48887 The condition of a structure component extractor restricted to a class being a surjection. This combined with fonex 48855 can be used to prove a class being proper. (Contributed by Zhi Wang, 20-Oct-2025.)
𝐸 Fn V    &   (𝑘𝐴 → (𝐸𝑘) ∈ 𝑉)    &   (𝑏𝑉𝐾𝐴)    &   (𝑏𝑉𝑏 = (𝐸𝐾))       (𝐸𝐴):𝐴onto𝑉
 
20-Oct-2025fonex 48855 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 49514 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 49513 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 49512 Lemma for idfudiag1bas 49513 and idfudiag1 49514. (Contributed by Zhi Wang, 19-Oct-2025.)
(𝜑 → ( I ↾ 𝐴) = (𝐴 × {𝐵}))    &   (𝜑𝐴 ≠ ∅)       (𝜑𝐴 = {𝐵})
 
19-Oct-2025eufunc 49511 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 49510 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 49296 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 49295 The object part of the diagonal functor is 1-1 if 𝐵 is non-empty. Note that (𝜑 → (𝑀 = 𝑁𝑋 = 𝑌)) also holds because of diag1f1 49296 and f1fveq 7237. (Contributed by Zhi Wang, 19-Oct-2025.)
𝐿 = (𝐶Δfunc𝐷)    &   (𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)    &   𝐴 = (Base‘𝐶)    &   𝐵 = (Base‘𝐷)    &   (𝜑𝐵 ≠ ∅)    &   (𝜑𝑋𝐴)    &   (𝜑𝑌𝐴)    &   𝑀 = ((1st𝐿)‘𝑋)    &   𝑁 = ((1st𝐿)‘𝑌)       (𝜑 → (𝑀 = 𝑁𝑋 = 𝑌))
 
19-Oct-2025diag1a 49294 The constant functor of 𝑋. (Contributed by Zhi Wang, 19-Oct-2025.)
𝐿 = (𝐶Δfunc𝐷)    &   (𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)    &   𝐴 = (Base‘𝐶)    &   (𝜑𝑋𝐴)    &   𝐾 = ((1st𝐿)‘𝑋)    &   𝐵 = (Base‘𝐷)    &   𝐽 = (Hom ‘𝐷)    &    1 = (Id‘𝐶)       (𝜑𝐾 = ⟨(𝐵 × {𝑋}), (𝑦𝐵, 𝑧𝐵 ↦ ((𝑦𝐽𝑧) × {( 1𝑋)}))⟩)
 
19-Oct-2025func0g2 49079 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 49078 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 49065 Rewrite the functor predicate with separated parts. (Contributed by Zhi Wang, 19-Oct-2025.)
(𝜑𝐹 ∈ (𝐶 Func 𝐷))       (𝜑 → (1st𝐹)(𝐶 Func 𝐷)(2nd𝐹))
 
19-Oct-2025wfac8prim 44992 The class of well-founded sets 𝑊 models the Axiom of Choice. Since the previous theorems show that all the ZF axioms hold in 𝑊, we may use any statement that ZF proves is equivalent to Choice to prove this. We use ac8prim 44981. Part of Corollary II.2.12 of [Kunen2] p. 114. (Contributed by Eric Schmidt, 19-Oct-2025.)
𝑊 = (𝑅1 “ On)       𝑥𝑊 ((∀𝑧𝑊 (𝑧𝑥 → ∃𝑤𝑊 𝑤𝑧) ∧ ∀𝑧𝑊𝑤𝑊 ((𝑧𝑥𝑤𝑥) → (¬ 𝑧 = 𝑤 → ∀𝑦𝑊 (𝑦𝑧 → ¬ 𝑦𝑤)))) → ∃𝑦𝑊𝑧𝑊 (𝑧𝑥 → ∃𝑤𝑊𝑣𝑊 ((𝑣𝑧𝑣𝑦) ↔ 𝑣 = 𝑤)))
 
19-Oct-2025wfaxinf2 44991 The class of well-founded sets models the Axiom of Infinity ax-inf2 9594. Part of Corollary II.2.12 of [Kunen2] p. 114. (Contributed by Eric Schmidt, 19-Oct-2025.)
𝑊 = (𝑅1 “ On)       𝑥𝑊 (∃𝑦𝑊 (𝑦𝑥 ∧ ∀𝑧𝑊 ¬ 𝑧𝑦) ∧ ∀𝑦𝑊 (𝑦𝑥 → ∃𝑧𝑊 (𝑧𝑥 ∧ ∀𝑤𝑊 (𝑤𝑧 ↔ (𝑤𝑦𝑤 = 𝑦)))))
 
19-Oct-2025wfaxreg 44990 The class of well-founded sets models the Axiom of Regularity ax-reg 9545. Part of Corollary II.2.5 of [Kunen2] p. 112. (Contributed by Eric Schmidt, 19-Oct-2025.)
𝑊 = (𝑅1 “ On)       𝑥𝑊 (∃𝑦𝑊 𝑦𝑥 → ∃𝑦𝑊 (𝑦𝑥 ∧ ∀𝑧𝑊 (𝑧𝑦 → ¬ 𝑧𝑥)))
 
19-Oct-2025wfaxun 44989 The class of well-founded sets models the Axiom of Union ax-un 7711. Part of Corollary II.2.5 of [Kunen2] p. 112. (Contributed by Eric Schmidt, 19-Oct-2025.)
𝑊 = (𝑅1 “ On)       𝑥𝑊𝑦𝑊𝑧𝑊 (∃𝑤𝑊 (𝑧𝑤𝑤𝑥) → 𝑧𝑦)
 
19-Oct-2025wfaxpow 44987 The class of well-founded sets models the Axioms of Power Sets. Part of Corollary II.2.9 of [Kunen2] p. 113. (Contributed by Eric Schmidt, 19-Oct-2025.)
𝑊 = (𝑅1 “ On)       𝑥𝑊𝑦𝑊𝑧𝑊 (∀𝑤𝑊 (𝑤𝑧𝑤𝑥) → 𝑧𝑦)
 
19-Oct-2025wfaxnul 44986 The class of well-founded sets models the Null Set Axiom ax-nul 5261. (Contributed by Eric Schmidt, 19-Oct-2025.)
𝑊 = (𝑅1 “ On)       𝑥𝑊𝑦𝑊 ¬ 𝑦𝑥
 
19-Oct-2025modelac8prim 44982 If 𝑀 is a transitive class, then the following are equivalent. (1) Every nonempty set 𝑥𝑀 of pairwise disjoint nonempty sets has a choice set in 𝑀. (2) The class 𝑀 models the Axiom of Choice, in the form ac8prim 44981.

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

(Tr 𝑀 → (∀𝑥𝑀 ((∀𝑧𝑥 𝑧 ≠ ∅ ∧ ∀𝑧𝑥𝑤𝑥 (𝑧𝑤 → (𝑧𝑤) = ∅)) → ∃𝑦𝑀𝑧𝑥 ∃!𝑣 𝑣 ∈ (𝑧𝑦)) ↔ ∀𝑥𝑀 ((∀𝑧𝑀 (𝑧𝑥 → ∃𝑤𝑀 𝑤𝑧) ∧ ∀𝑧𝑀𝑤𝑀 ((𝑧𝑥𝑤𝑥) → (¬ 𝑧 = 𝑤 → ∀𝑦𝑀 (𝑦𝑧 → ¬ 𝑦𝑤)))) → ∃𝑦𝑀𝑧𝑀 (𝑧𝑥 → ∃𝑤𝑀𝑣𝑀 ((𝑣𝑧𝑣𝑦) ↔ 𝑣 = 𝑤)))))
 
19-Oct-2025ac8prim 44981 ac8 10445 expanded into primitives. (Contributed by Eric Schmidt, 19-Oct-2025.)
((∀𝑧(𝑧𝑥 → ∃𝑤 𝑤𝑧) ∧ ∀𝑧𝑤((𝑧𝑥𝑤𝑥) → (¬ 𝑧 = 𝑤 → ∀𝑦(𝑦𝑧 → ¬ 𝑦𝑤)))) → ∃𝑦𝑧(𝑧𝑥 → ∃𝑤𝑣((𝑣𝑧𝑣𝑦) ↔ 𝑣 = 𝑤)))
 
19-Oct-2025dfac5prim 44980 dfac5 10082 expanded into primitives. (Contributed by Eric Schmidt, 19-Oct-2025.)
(CHOICE ↔ ∀𝑥((∀𝑧(𝑧𝑥 → ∃𝑤 𝑤𝑧) ∧ ∀𝑧𝑤((𝑧𝑥𝑤𝑥) → (¬ 𝑧 = 𝑤 → ∀𝑦(𝑦𝑧 → ¬ 𝑦𝑤)))) → ∃𝑦𝑧(𝑧𝑥 → ∃𝑤𝑣((𝑣𝑧𝑣𝑦) ↔ 𝑣 = 𝑤))))
 
19-Oct-2025omelaxinf2 44979 A transitive class that contains ω models the Axiom of Infinity ax-inf2 9594. 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 9591. (Contributed by Eric Schmidt, 19-Oct-2025.)

((Tr 𝑀 ∧ ω ∈ 𝑀) → ∃𝑥𝑀 (∃𝑦𝑀 (𝑦𝑥 ∧ ∀𝑧𝑀 ¬ 𝑧𝑦) ∧ ∀𝑦𝑀 (𝑦𝑥 → ∃𝑧𝑀 (𝑧𝑥 ∧ ∀𝑤𝑀 (𝑤𝑧 ↔ (𝑤𝑦𝑤 = 𝑦))))))
 
19-Oct-2025omssaxinf2 44978 A class that contains all ordinals up to and including ω models the Axiom of Infinity ax-inf2 9594. The antecedent of this theorem is not enough to guarantee that the class models the alternate axiom ax-inf 9591. (Contributed by Eric Schmidt, 19-Oct-2025.)
((ω ⊆ 𝑀 ∧ ω ∈ 𝑀) → ∃𝑥𝑀 (∃𝑦𝑀 (𝑦𝑥 ∧ ∀𝑧𝑀 ¬ 𝑧𝑦) ∧ ∀𝑦𝑀 (𝑦𝑥 → ∃𝑧𝑀 (𝑧𝑥 ∧ ∀𝑤𝑀 (𝑤𝑧 ↔ (𝑤𝑦𝑤 = 𝑦))))))
 
19-Oct-2025sswfaxreg 44977 A subclass of the class of well-founded sets models the Axiom of Regularity ax-reg 9545. Lemma II.2.4(2) of [Kunen2] p. 111. (Contributed by Eric Schmidt, 19-Oct-2025.)
(𝑀 (𝑅1 “ On) → ∀𝑥𝑀 (∃𝑦𝑀 𝑦𝑥 → ∃𝑦𝑀 (𝑦𝑥 ∧ ∀𝑧𝑀 (𝑧𝑦 → ¬ 𝑧𝑥))))
 
19-Oct-2025pwclaxpow 44974 Suppose 𝑀 is a transitive class that is closed under power sets intersected with 𝑀. Then, 𝑀 models the Axiom of Power Sets ax-pow 5320. One direction of Lemma II.2.8 of [Kunen2] p. 113. (Contributed by Eric Schmidt, 19-Oct-2025.)
((Tr 𝑀 ∧ ∀𝑥𝑀 (𝒫 𝑥𝑀) ∈ 𝑀) → ∀𝑥𝑀𝑦𝑀𝑧𝑀 (∀𝑤𝑀 (𝑤𝑧𝑤𝑥) → 𝑧𝑦))
 
19-Oct-20250elaxnul 44973 A class that contains the empty set models the Null Set Axiom ax-nul 5261. (Contributed by Eric Schmidt, 19-Oct-2025.)
(∅ ∈ 𝑀 → ∃𝑥𝑀𝑦𝑀 ¬ 𝑦𝑥)
 
19-Oct-2025n0abso 44966 Nonemptiness is absolute for transitive models. Compare Example I.16.3 of [Kunen2] p. 96 and the following discussion. (Contributed by Eric Schmidt, 19-Oct-2025.)
((Tr 𝑀𝐴𝑀) → (𝐴 ≠ ∅ ↔ ∃𝑥𝑀 𝑥𝐴))
 
19-Oct-2025disjabso 44965 Disjointness is absolute for transitive models. Compare Example I.16.3 of [Kunen2] p. 96 and the following discussion. (Contributed by Eric Schmidt, 19-Oct-2025.)
((Tr 𝑀𝐴𝑀) → ((𝐴𝐵) = ∅ ↔ ∀𝑥𝑀 (𝑥𝐴 → ¬ 𝑥𝐵)))
 
19-Oct-2025ssabso 44964 The notion "𝑥 is a subset of 𝑦 " is absolute for transitive models. Compare Example I.16.3 of [Kunen2] p. 96 and the following discussion. (Contributed by Eric Schmidt, 19-Oct-2025.)
((Tr 𝑀𝐴𝑀) → (𝐴𝐵 ↔ ∀𝑥𝑀 (𝑥𝐴𝑥𝐵)))
 
19-Oct-2025rexabsobidv 44963 Formula-building lemma for proving absoluteness results. (Contributed by Eric Schmidt, 19-Oct-2025.)
(𝜑 → Tr 𝑀)    &   (𝜑 → (𝜓𝜒))       ((𝜑𝐴𝑀) → (∃𝑥𝐴 𝜓 ↔ ∃𝑥𝑀 (𝑥𝐴𝜒)))
 
19-Oct-2025ralabsobidv 44962 Formula-building lemma for proving absoluteness results. (Contributed by Eric Schmidt, 19-Oct-2025.)
(𝜑 → Tr 𝑀)    &   (𝜑 → (𝜓𝜒))       ((𝜑𝐴𝑀) → (∀𝑥𝐴 𝜓 ↔ ∀𝑥𝑀 (𝑥𝐴𝜒)))
 
19-Oct-2025rexabsod 44961 Deduction form of rexabso 44959. (Contributed by Eric Schmidt, 19-Oct-2025.)
(𝜑 → Tr 𝑀)       ((𝜑𝐴𝑀) → (∃𝑥𝐴 𝜓 ↔ ∃𝑥𝑀 (𝑥𝐴𝜓)))
 
19-Oct-2025ralabsod 44960 Deduction form of ralabso 44958. (Contributed by Eric Schmidt, 19-Oct-2025.)
(𝜑 → Tr 𝑀)       ((𝜑𝐴𝑀) → (∀𝑥𝐴 𝜓 ↔ ∀𝑥𝑀 (𝑥𝐴𝜓)))
 
19-Oct-2025rexabso 44959 Simplification of restricted quantification in a transitive class. When 𝜑 is quantifier-free, this shows that the formula 𝑥𝑦𝜑 is absolute for transitive models, which is a particular case of Lemma I.16.2 of [Kunen2] p. 95. (Contributed by Eric Schmidt, 19-Oct-2025.)
((Tr 𝑀𝐴𝑀) → (∃𝑥𝐴 𝜑 ↔ ∃𝑥𝑀 (𝑥𝐴𝜑)))
 
19-Oct-2025ralabso 44958 Simplification of restricted quantification in a transitive class. When 𝜑 is quantifier-free, this shows that the formula 𝑥𝑦𝜑 is absolute for transitive models, which is a particular case of Lemma I.16.2 of [Kunen2] p. 95. (Contributed by Eric Schmidt, 19-Oct-2025.)
((Tr 𝑀𝐴𝑀) → (∀𝑥𝐴 𝜑 ↔ ∀𝑥𝑀 (𝑥𝐴𝜑)))
 
19-Oct-2025rext0 44928 Nonempty existential quantification of a theorem is true. (Contributed by Eric Schmidt, 19-Oct-2025.)
𝜑       (∃𝑥𝐴 𝜑𝐴 ≠ ∅)
 
19-Oct-2025constrextdg2 33739 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 33738 Lemma for constrextdg2 33739 (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 33726 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 33718 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 33677 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 33676 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 33675 Lemma for fldextrspundgdvds 33676. (Contributed by Thierry Arnoux, 19-Oct-2025.)
𝐾 = (𝐿s 𝐹)    &   𝐼 = (𝐿s 𝐺)    &   𝐽 = (𝐿s 𝐻)    &   (𝜑𝐿 ∈ Field)    &   (𝜑𝐹 ∈ (SubDRing‘𝐼))    &   (𝜑𝐹 ∈ (SubDRing‘𝐽))    &   (𝜑𝐺 ∈ (SubDRing‘𝐿))    &   (𝜑𝐻 ∈ (SubDRing‘𝐿))    &   (𝜑 → (𝐽[:]𝐾) ∈ ℕ0)    &   𝐸 = (𝐿s (𝐿 fldGen (𝐺𝐻)))    &   (𝜑 → (𝐼[:]𝐾) ∈ ℕ)       (𝜑 → (𝐸[:]𝐼) ∈ ℕ0)
 
19-Oct-2025fldextrspundglemul 33674 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 33658 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 33657 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 33247 The field of rational numbers is a field. (Contributed by Thierry Arnoux, 19-Oct-2025.)
𝑄 = (ℂflds ℚ)       𝑄 ∈ Field
 
19-Oct-2025chnccats1 32941 Extend a chain with a single element. (Contributed by Thierry Arnoux, 19-Oct-2025.)
(𝜑𝑋𝐴)    &   (𝜑𝑇 ∈ ( < Chain𝐴))    &   (𝜑 → (𝑇 = ∅ ∨ (lastS‘𝑇) < 𝑋))       (𝜑 → (𝑇 ++ ⟨“𝑋”⟩) ∈ ( < Chain𝐴))
 
19-Oct-2025s1chn 32936 A singleton word is always a chain. (Contributed by Thierry Arnoux, 19-Oct-2025.)
(𝜑𝑋𝐴)       (𝜑 → ⟨“𝑋”⟩ ∈ ( < Chain𝐴))
 
19-Oct-20252exple2exp 32770 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 32717 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 32384 Syllogism inference. (Contributed by Thierry Arnoux, 19-Oct-2025.)
(𝜑𝜓)    &   (𝜑𝜒)    &   (𝜑𝜃)    &   (𝜑𝜏)    &   (𝜂 ↔ ((𝜓𝜒) ∧ (𝜃𝜏)))       (𝜑𝜂)
 
18-Oct-2025dftermc2 49509 Alternate definition of TermCat. See also df-termc 49462 and dftermc3 49520. (Contributed by Zhi Wang, 18-Oct-2025.)
TermCat = {𝑐 ∣ ∀𝑑 ∈ Cat ∃!𝑓 𝑓 ∈ (𝑑 Func 𝑐)}
 
18-Oct-2025termc 49508 Alternate definition of TermCat. See also df-termc 49462. (Contributed by Zhi Wang, 18-Oct-2025.)
(𝐶 ∈ TermCat ↔ ∀𝑑 ∈ Cat ∃!𝑓 𝑓 ∈ (𝑑 Func 𝐶))
 
18-Oct-2025termcterm3 49504 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 49480 The category (SetCat‘1o), i.e., the trivial category, is terminal. (Contributed by Zhi Wang, 18-Oct-2025.)
(SetCat‘1o) ∈ TermCat
 
18-Oct-2025setcsnterm 49479 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 49446 Two isomorphic categories are either both thin or neither. Note that "thincciso2.u" is redundant thanks to elbasfv 17185. (Contributed by Zhi Wang, 18-Oct-2025.)
𝐶 = (CatCat‘𝑈)    &   𝐵 = (Base‘𝐶)    &   (𝜑𝑈𝑉)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)    &   (𝜑𝑋( ≃𝑐𝐶)𝑌)       (𝜑 → (𝑋 ∈ ThinCat ↔ 𝑌 ∈ ThinCat))
 
18-Oct-2025thincciso3 49445 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 17185. (Contributed by Zhi Wang, 18-Oct-2025.)
𝐶 = (CatCat‘𝑈)    &   𝐵 = (Base‘𝐶)    &   (𝜑𝑈𝑉)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)    &   𝐼 = (Iso‘𝐶)    &   (𝜑𝐹 ∈ (𝑋𝐼𝑌))    &   (𝜑𝑋 ∈ ThinCat)       (𝜑𝑌 ∈ ThinCat)
 
18-Oct-2025thincciso2 49444 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 17185. (Contributed by Zhi Wang, 18-Oct-2025.)
𝐶 = (CatCat‘𝑈)    &   𝐵 = (Base‘𝐶)    &   (𝜑𝑈𝑉)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)    &   𝐼 = (Iso‘𝐶)    &   (𝜑𝐹 ∈ (𝑋𝐼𝑌))    &   (𝜑𝑌 ∈ ThinCat)       (𝜑𝑋 ∈ ThinCat)
 
17-Oct-2025termcterm 49502 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 49500 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 49499 There exists a unique functor to a terminal category. (Contributed by Zhi Wang, 17-Oct-2025.)
(𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ TermCat)       (𝜑 → ∃!𝑓 𝑓 ∈ (𝐶 Func 𝐷))
 
17-Oct-2025functermc2 49498 Functor to a terminal category. (Contributed by Zhi Wang, 17-Oct-2025.)
(𝜑𝐷 ∈ Cat)    &   (𝜑𝐸 ∈ TermCat)    &   𝐵 = (Base‘𝐷)    &   𝐶 = (Base‘𝐸)    &   𝐻 = (Hom ‘𝐷)    &   𝐽 = (Hom ‘𝐸)    &   𝐹 = (𝐵 × 𝐶)    &   𝐺 = (𝑥𝐵, 𝑦𝐵 ↦ ((𝑥𝐻𝑦) × ((𝐹𝑥)𝐽(𝐹𝑦))))       (𝜑 → (𝐷 Func 𝐸) = {⟨𝐹, 𝐺⟩})
 
17-Oct-2025functermc 49497 Functor to a terminal category. (Contributed by Zhi Wang, 17-Oct-2025.)
(𝜑𝐷 ∈ Cat)    &   (𝜑𝐸 ∈ TermCat)    &   𝐵 = (Base‘𝐷)    &   𝐶 = (Base‘𝐸)    &   𝐻 = (Hom ‘𝐷)    &   𝐽 = (Hom ‘𝐸)    &   𝐹 = (𝐵 × 𝐶)    &   𝐺 = (𝑥𝐵, 𝑦𝐵 ↦ ((𝑥𝐻𝑦) × ((𝐹𝑥)𝐽(𝐹𝑦))))       (𝜑 → (𝐾(𝐷 Func 𝐸)𝐿 ↔ (𝐾 = 𝐹𝐿 = 𝐺)))
 
17-Oct-2025functermclem 49496 Lemma for functermc 49497. (Contributed by Zhi Wang, 17-Oct-2025.)
((𝜑𝐾𝑅𝐿) → 𝐾 = 𝐹)    &   (𝜑 → (𝐹𝑅𝐿𝐿 = 𝐺))       (𝜑 → (𝐾𝑅𝐿 ↔ (𝐾 = 𝐹𝐿 = 𝐺)))
 
17-Oct-2025termchomn0 49473 All hom-sets of a terminal category are non-empty. (Contributed by Zhi Wang, 17-Oct-2025.)
(𝜑𝐶 ∈ TermCat)    &   𝐵 = (Base‘𝐶)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)    &   𝐻 = (Hom ‘𝐶)       (𝜑 → ¬ (𝑋𝐻𝑌) = ∅)
 
17-Oct-2025diag1 49293 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 49076 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 49074 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 49073 The functor from the empty category. (Contributed by Zhi Wang, 17-Oct-2025.)
(𝜑𝐶𝑉)    &   (𝜑 → ∅ = (Base‘𝐶))    &   (𝜑𝐷 ∈ Cat)       (𝜑 → (𝐹(𝐶 Func 𝐷)𝐺 ↔ (𝐹 = ∅ ∧ 𝐺 = ∅)))
 
17-Oct-20250funcglem 49072 Lemma for 0funcg 49074. (Contributed by Zhi Wang, 17-Oct-2025.)
(𝜑 → (𝜓 ↔ (𝜒𝜃𝜏)))    &   (𝜑 → (𝜒𝜂))    &   (𝜑 → (𝜃𝜁))    &   (𝜑𝜏)       (𝜑 → (𝜓 ↔ (𝜂𝜁)))
 
16-Oct-2025oppcterm 49495 The opposite category of a terminal category is a terminal category. (Contributed by Zhi Wang, 16-Oct-2025.)
𝑂 = (oppCat‘𝐶)    &   (𝜑𝐶 ∈ TermCat)       (𝜑𝑂 ∈ TermCat)
 
16-Oct-2025oppctermco 49494 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 17673 and df-sets 17134. (Contributed by Zhi Wang, 16-Oct-2025.)
𝑂 = (oppCat‘𝐶)    &   (𝜑𝐶 ∈ TermCat)       (𝜑 → (compf𝐶) = (compf𝑂))
 
16-Oct-2025oppctermhom 49493 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 49492 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 49476 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 49475 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 49474 All morphisms of a terminal category are identical. (Contributed by Zhi Wang, 16-Oct-2025.)
(𝜑𝐶 ∈ TermCat)    &   𝐵 = (Base‘𝐶)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)    &   𝐻 = (Hom ‘𝐶)    &   (𝜑𝐹 ∈ (𝑋𝐻𝑌))    &   (𝜑𝑍𝐵)    &   (𝜑𝑊𝐵)    &   (𝜑𝐺 ∈ (𝑍𝐻𝑊))       (𝜑𝐹 = 𝐺)
 
16-Oct-2025termcbasmo 49472 Two objects in a terminal category are identical. (Contributed by Zhi Wang, 16-Oct-2025.)
(𝜑𝐶 ∈ TermCat)    &   𝐵 = (Base‘𝐶)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)       (𝜑𝑋 = 𝑌)
 
16-Oct-2025termcbas 49469 The base of a terminal category is a singleton. (Contributed by Zhi Wang, 16-Oct-2025.)
(𝜑𝐶 ∈ TermCat)    &   𝐵 = (Base‘𝐶)       (𝜑 → ∃𝑥 𝐵 = {𝑥})
 
16-Oct-2025termccd 49468 A terminal category is a category (deduction form). (Contributed by Zhi Wang, 16-Oct-2025.)
(𝜑𝐶 ∈ TermCat)       (𝜑𝐶 ∈ Cat)
 
16-Oct-2025termcthind 49467 A terminal category is a thin category (deduction form). (Contributed by Zhi Wang, 16-Oct-2025.)
(𝜑𝐶 ∈ TermCat)       (𝜑𝐶 ∈ ThinCat)
 
16-Oct-2025termcthin 49466 A terminal category is a thin category. (Contributed by Zhi Wang, 16-Oct-2025.)
(𝐶 ∈ TermCat → 𝐶 ∈ ThinCat)
 
16-Oct-2025istermc3 49465 The predicate "is a terminal category". A terminal category is a thin category whose base set is equinumerous to 1o. Consider en1b 8996, map1 9011, and euen1b 8999. (Contributed by Zhi Wang, 16-Oct-2025.)
𝐵 = (Base‘𝐶)       (𝐶 ∈ TermCat ↔ (𝐶 ∈ ThinCat ∧ 𝐵 ≈ 1o))
 
16-Oct-2025istermc2 49464 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 49463 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 49462 Definition of the proper class (termcnex 49565) 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 49475). 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 49504). TermCat is also the class of categories to which all categories have exactly one functor (dftermc2 49509). See also dftermc3 49520 where TermCat is defined as categories with exactly one disjointified arrow.

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

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

Having defined the terminal category, we can then use it to define the universal property of initial (dfinito4 49490) and terminal objects (dftermo4 49491). The universal properties provide an alternate proof of initoeu1 17973, termoeu1 17980, initoeu2 17978, and termoeu2 49227. Since terminal categories are terminal objects, all terminal categories are mutually isomorphic (termcciso 49505).

The dual concept is the initial category, or the empty category (Example 7.2(3) of [Adamek] p. 101). See 0catg 17649, 0thincg 49447, func0g 49078, 0funcg 49074, and initc 49080.

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

TermCat = {𝑐 ∈ ThinCat ∣ ∃𝑥(Base‘𝑐) = {𝑥}}
 
16-Oct-2025functhincfun 49438 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 49431 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 49430 Alternate proof of oppcthinendc 49429. (Contributed by Zhi Wang, 16-Oct-2025.) (Proof modification is discouraged.) (New usage is discouraged.)
𝑂 = (oppCat‘𝐶)    &   (𝜑𝐶 ∈ ThinCat)    &   𝐵 = (Base‘𝐶)    &   𝐻 = (Hom ‘𝐶)    &   ((𝜑 ∧ (𝑥𝐵𝑦𝐵)) → (𝑥𝑦 → (𝑥𝐻𝑦) = ∅))       (𝜑 → (compf𝐶) = (compf𝑂))
 
16-Oct-2025oppcthinendc 49429 The opposite category of a thin category whose morphisms are all endomorphisms has the same base, hom-sets (oppcendc 49007) and composition operation as the original category. (Contributed by Zhi Wang, 16-Oct-2025.)
𝑂 = (oppCat‘𝐶)    &   (𝜑𝐶 ∈ ThinCat)    &   𝐵 = (Base‘𝐶)    &   𝐻 = (Hom ‘𝐶)    &   ((𝜑 ∧ (𝑥𝐵𝑦𝐵)) → (𝑥𝑦 → (𝑥𝐻𝑦) = ∅))       (𝜑 → (compf𝐶) = (compf𝑂))
 
16-Oct-2025oppcthinco 49428 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 49171 The domain of (𝐷 UP 𝐸) is a relation. (Contributed by Zhi Wang, 16-Oct-2025.)
Rel dom (𝐷 UP 𝐸)
 
16-Oct-2025oppcmndc 49008 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 49007 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 49006 Lemma for oppcmndc 49008. 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 49007 are in ¬ 𝑥 = 𝑦 form, then both proofs should be one step shorter. (Contributed by Zhi Wang, 16-Oct-2025.)
(𝜑𝐵 = {𝐴})       ((𝜑 ∧ (𝑋𝐵𝑌𝐵)) → (𝑋𝑌𝜓))
 
16-Oct-2025psdmvr 22056 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 20175 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 7691 Transfer a cancellation/identity law to the function operation. (Contributed by SN, 16-Oct-2025.)
(𝜑𝐴𝑉)    &   (𝜑𝐹:𝐴𝑆)    &   (𝜑𝐺:𝐴𝑆)    &   ((𝜑 ∧ (𝑥𝑆𝑦𝑆)) → ((𝑥𝑅𝑦) = 𝑦𝑥 = 0 ))       (𝜑 → ((𝐹f 𝑅𝐺) = 𝐺𝐹 = (𝐴 × { 0 })))
 
16-Oct-2025ifmpt2v 7491 Move a conditional inside and outside a function in maps-to notation. (Contributed by SN, 16-Oct-2025.)
(𝑥𝐴 ↦ if(𝜑, 𝐵, 𝐶)) = if(𝜑, (𝑥𝐴𝐵), (𝑥𝐴𝐶))
 
16-Oct-2025iftrueb 4501 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 49239 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 49237 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 49236 Alternate proof of reldmxpc 49235. (Contributed by Zhi Wang, 15-Oct-2025.) (Proof modification is discouraged.) (New usage is discouraged.)
Rel dom ×c
 
15-Oct-2025reldmxpc 49235 The binary product of categories is a proper operator, so it can be used with ovprc1 7426, elbasov 17186, strov2rcl 17187, and so on. See reldmxpcALT 49236 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 42198 Inference associated with exbii 1848. Weaker version of eximii 1837. (Contributed by SN, 14-Oct-2025.)
𝑥𝜑    &   (𝜑𝜓)       𝑥𝜓
 
14-Oct-2025jarrii 42193 Inference associated with jarri 107. A consequence of ax-mp 5 and ax-1 6. (Contributed by SN, 14-Oct-2025.)
𝜓    &   ((𝜑𝜓) → 𝜒)       𝜒
 
14-Oct-2025rexss 4022 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 4021 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 37489
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 2721 and df-clel 2803 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 3919 (𝐴𝐵) 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 2708 described above is a special case.

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

The above conditions apply only to substitution. The expression 𝐴 = {𝑥𝑥𝐴} (abid1 2864) 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 33673 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 33672 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 33671 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 33670 Lemma for fldextrspunfld 33671. 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 33669 Lemma for fldextrspunfld 33671. 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 33668 Lemma for fldextrspunlsp 33669: 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 33593 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 33592 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 33579 Condition for a subring algebra to be an integral domain. (Contributed by Thierry Arnoux, 13-Oct-2025.)
𝐴 = ((subringAlg ‘𝑅)‘𝑉)    &   𝐵 = (Base‘𝑅)    &   (𝜑𝑅 ∈ IDomn)    &   (𝜑𝑉𝐵)       (𝜑𝐴 ∈ IDomn)
 
13-Oct-2025idompropd 33228 If two structures have the same components (properties), one is a integral domain iff the other one is. See also domnpropd 33227. (Contributed by Thierry Arnoux, 13-Oct-2025.)
(𝜑𝐵 = (Base‘𝐾))    &   (𝜑𝐵 = (Base‘𝐿))    &   ((𝜑 ∧ (𝑥𝐵𝑦𝐵)) → (𝑥(+g𝐾)𝑦) = (𝑥(+g𝐿)𝑦))    &   ((𝜑 ∧ (𝑥𝐵𝑦𝐵)) → (𝑥(.r𝐾)𝑦) = (𝑥(.r𝐿)𝑦))       (𝜑 → (𝐾 ∈ IDomn ↔ 𝐿 ∈ IDomn))
 
13-Oct-2025domnpropd 33227 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 33200 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 33199 Lemma for elrgspnsubrun 33200, 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 33198 Lemma for elrgspnsubrun 33200, 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 32790 The support of the indicator function. (Contributed by Thierry Arnoux, 13-Oct-2025.)
((𝑂𝑉𝐴𝑂) → (((𝟭‘𝑂)‘𝐴) supp 0) = 𝐴)
 
13-Oct-2025hashpss 32734 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 32603 Deduction associated with elmapd 8813. Reverse direction of elmapdd 8814. (Contributed by Thierry Arnoux, 13-Oct-2025.)
(𝜑𝐴𝑉)    &   (𝜑𝐵𝑊)    &   (𝜑𝐹 ∈ (𝐵m 𝐴))       (𝜑𝐹:𝐴𝐵)
 
13-Oct-2025ac6mapd 32549 Axiom of choice equivalent, deduction form. (Contributed by Thierry Arnoux, 13-Oct-2025.)
(𝑦 = (𝑓𝑥) → (𝜓𝜒))    &   (𝜑𝐴𝑉)    &   (𝜑𝐵𝑊)    &   ((𝜑𝑥𝐴) → ∃𝑦𝐵 𝜓)       (𝜑 → ∃𝑓 ∈ (𝐵m 𝐴)∀𝑥𝐴 𝜒)
 
13-Oct-2025iunxpssiun1 32497 Provide an upper bound for the indexed union of cartesian products. (Contributed by Thierry Arnoux, 13-Oct-2025.)
((𝜑𝑥𝐴) → 𝐶𝐸)       (𝜑 𝑥𝐴 (𝐵 × 𝐶) ⊆ ( 𝑥𝐴 𝐵 × 𝐸))
 
13-Oct-2025reu6dv 32402 A condition which implies existential uniqueness. (Contributed by Thierry Arnoux, 13-Oct-2025.)
(𝜑𝐵𝐴)    &   ((𝜑𝑥𝐴) → (𝜓𝑥 = 𝐵))       (𝜑 → ∃!𝑥𝐴 𝜓)
 
13-Oct-2025elsnd 4607 There is at most one element in a singleton. (Contributed by Thierry Arnoux, 13-Oct-2025.)
(𝜑𝐴 ∈ {𝐵})       (𝜑𝐴 = 𝐵)
 
12-Oct-2025wl-cleq-2 37485
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 49359 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 49358 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 49357 Alternate proof of precofval 49356. (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 49356 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 49355 Lemma for precofval 49356 to enable catlid 17644 or catrid 17645. (Contributed by Zhi Wang, 11-Oct-2025.)
𝐴 = (Base‘𝐶)    &   𝐵 = (Base‘𝐸)    &    1 = (Id‘𝐷)    &   𝐼 = (Id‘𝐸)    &   (𝜑𝐹(𝐶 Func 𝐷)𝐺)    &   (𝜑𝐾(𝐷 Func 𝐸)𝐿)    &   (𝜑𝑋𝐴)       (𝜑 → ((((𝐹𝑋)𝐿(𝐹𝑋))‘(( 1𝐹)‘𝑋)) = (𝐼‘(𝐾‘(𝐹𝑋))) ∧ (𝐾‘(𝐹𝑋)) ∈ 𝐵))
 
11-Oct-2025postcofcl 49354 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 49353 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 49352 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 49351 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 49350 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 49327 Alternate proof of fuco11b 49326. (Contributed by Zhi Wang, 11-Oct-2025.) (Proof modification is discouraged.) (New usage is discouraged.)
(𝜑 → (1st ‘(⟨𝐶, 𝐷⟩ ∘F 𝐸)) = 𝑂)    &   (𝜑𝐹 ∈ (𝐶 Func 𝐷))    &   (𝜑𝐺 ∈ (𝐷 Func 𝐸))       (𝜑 → (𝐺𝑂𝐹) = (𝐺func 𝐹))
 
11-Oct-2025fuco11b 49326 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 44951 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 44950 The rank function preserves . (Contributed by Eric Schmidt, 11-Oct-2025.)
rank RelPres E , E ( (𝑅1 “ On), On)
 
11-Oct-2025relpfr 44944 If the image of a set under a relation-preserving function is well-founded, so is the set. See isofr 7317 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 44943 Lemma for relpfr 44944. Proved without using the Axiom of Replacement. This is isofrlem 7315 with weaker hypotheses. (Contributed by Eric Schmidt, 11-Oct-2025.)
(𝜑𝐻 RelPres 𝑅, 𝑆(𝐴, 𝐵))    &   (𝜑 → (𝐻𝑥) ∈ V)       (𝜑 → (𝑆 Fr 𝐵𝑅 Fr 𝐴))
 
11-Oct-2025relpmin 44942 A preimage of a minimal element under a relation-preserving function is minimal. Essentially one half of isomin 7312. (Contributed by Eric Schmidt, 11-Oct-2025.)
((𝐻 RelPres 𝑅, 𝑆(𝐴, 𝐵) ∧ (𝐶𝐴𝐷𝐴)) → (((𝐻𝐶) ∩ (𝑆 “ {(𝐻𝐷)})) = ∅ → (𝐶 ∩ (𝑅 “ {𝐷})) = ∅))
 
11-Oct-2025relprel 44941 A relation-preserving function preserves the relation. (Contributed by Eric Schmidt, 11-Oct-2025.)
((𝐻 RelPres 𝑅, 𝑆(𝐴, 𝐵) ∧ (𝐶𝐴𝐷𝐴)) → (𝐶𝑅𝐷 → (𝐻𝐶)𝑆(𝐻𝐷)))
 
11-Oct-2025relpf 44940 A relation-preserving function is a function. (Contributed by Eric Schmidt, 11-Oct-2025.)
(𝐻 RelPres 𝑅, 𝑆(𝐴, 𝐵) → 𝐻:𝐴𝐵)
 
11-Oct-2025nfrelp 44939 Bound-variable hypothesis builder for a relation-preserving function. (Contributed by Eric Schmidt, 11-Oct-2025.)
𝑥𝐻    &   𝑥𝑅    &   𝑥𝑆    &   𝑥𝐴    &   𝑥𝐵       𝑥 𝐻 RelPres 𝑅, 𝑆(𝐴, 𝐵)
 
11-Oct-2025relpeq5 44938 Equality theorem for relation-preserving functions. (Contributed by Eric Schmidt, 11-Oct-2025.)
(𝐵 = 𝐶 → (𝐻 RelPres 𝑅, 𝑆(𝐴, 𝐵) ↔ 𝐻 RelPres 𝑅, 𝑆(𝐴, 𝐶)))
 
11-Oct-2025relpeq4 44937 Equality theorem for relation-preserving functions. (Contributed by Eric Schmidt, 11-Oct-2025.)
(𝐴 = 𝐶 → (𝐻 RelPres 𝑅, 𝑆(𝐴, 𝐵) ↔ 𝐻 RelPres 𝑅, 𝑆(𝐶, 𝐵)))
 
11-Oct-2025relpeq3 44936 Equality theorem for relation-preserving functions. (Contributed by Eric Schmidt, 11-Oct-2025.)
(𝑆 = 𝑇 → (𝐻 RelPres 𝑅, 𝑆(𝐴, 𝐵) ↔ 𝐻 RelPres 𝑅, 𝑇(𝐴, 𝐵)))
 
11-Oct-2025relpeq2 44935 Equality theorem for relation-preserving functions. (Contributed by Eric Schmidt, 11-Oct-2025.)
(𝑅 = 𝑇 → (𝐻 RelPres 𝑅, 𝑆(𝐴, 𝐵) ↔ 𝐻 RelPres 𝑇, 𝑆(𝐴, 𝐵)))
 
11-Oct-2025relpeq1 44934 Equality theorem for relation-preserving functions. (Contributed by Eric Schmidt, 11-Oct-2025.)
(𝐻 = 𝐺 → (𝐻 RelPres 𝑅, 𝑆(𝐴, 𝐵) ↔ 𝐺 RelPres 𝑅, 𝑆(𝐴, 𝐵)))
 
11-Oct-2025df-relp 44933 Define the relation-preserving predicate. This is a viable notion of "homomorphism" corresponding to df-isom 6520. (Contributed by Eric Schmidt, 11-Oct-2025.)
(𝐻 RelPres 𝑅, 𝑆(𝐴, 𝐵) ↔ (𝐻:𝐴𝐵 ∧ ∀𝑥𝐴𝑦𝐴 (𝑥𝑅𝑦 → (𝐻𝑥)𝑆(𝐻𝑦))))
 
11-Oct-2025wrelp 44932 Extend the definition of a wff to include the relation-preserving property. (Contributed by Eric Schmidt, 11-Oct-2025.)
wff 𝐻 RelPres 𝑅, 𝑆(𝐴, 𝐵)
 
10-Oct-2025fucofunca 49349 The functor composition bifunctor is a functor. See also fucofunc 49348. (Contributed by Zhi Wang, 10-Oct-2025.)
𝑇 = ((𝐷 FuncCat 𝐸) ×c (𝐶 FuncCat 𝐷))    &   𝑄 = (𝐶 FuncCat 𝐸)    &   (𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)    &   (𝜑𝐸 ∈ Cat)       (𝜑 → (⟨𝐶, 𝐷⟩ ∘F 𝐸) ∈ (𝑇 Func 𝑄))
 
10-Oct-2025tposcurf2cl 49291 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 49290 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 49289 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 49282 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 49292 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 49288 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 49287 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 49286 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 49285 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 49284 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 49283 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 49273 The swap functor is a functor. (Contributed by Zhi Wang, 9-Oct-2025.)
(𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)    &   𝑆 = (𝐶 ×c 𝐷)    &   𝑇 = (𝐷 ×c 𝐶)       (𝜑 → (𝐶 swapF 𝐷) ∈ (𝑆 Func 𝑇))
 
9-Oct-2025swapf2f1oa 49266 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 49250 Alternate definition of swapF (df-swapf 49249). (Contributed by Zhi Wang, 9-Oct-2025.)
swapF = (𝑐 ∈ V, 𝑑 ∈ V ↦ (𝑐 ×c 𝑑) / 𝑠(Base‘𝑠) / 𝑏(Hom ‘𝑠) / ⟨(tpos I ↾ 𝑏), (𝑢𝑏, 𝑣𝑏 ↦ (tpos I ↾ (𝑢𝑣)))⟩)
 
9-Oct-2025ovmpt4d 48853 Deduction version of ovmpt4g 7536. (This is the operation analogue of fvmpt2d 6981.) (Contributed by Zhi Wang, 9-Oct-2025.)
(𝜑𝐹 = (𝑥𝐴, 𝑦𝐵𝐶))    &   ((𝜑 ∧ (𝑥𝐴𝑦𝐵)) → 𝐶𝑉)       ((𝜑 ∧ (𝑥𝐴𝑦𝐵)) → (𝑥𝐹𝑦) = 𝐶)
 
9-Oct-2025dvdsfi 16759 A natural number has finitely many divisors. (Contributed by Jim Kingdon, 9-Oct-2025.)
(𝑁 ∈ ℕ → {𝑥 ∈ ℕ ∣ 𝑥𝑁} ∈ Fin)
 
8-Oct-2025swapciso 49275 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 49274 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 49272 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 49271 The swap functor is a functor. (Contributed by Zhi Wang, 8-Oct-2025.)
(𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)    &   𝑆 = (𝐶 ×c 𝐷)    &   𝑇 = (𝐷 ×c 𝐶)    &   (𝜑 → (𝐶 swapF 𝐷) = ⟨𝑂, 𝑃⟩)       (𝜑𝑂(𝑆 Func 𝑇)𝑃)
 
8-Oct-2025swapfcoa 49270 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 49269 Each identity morphism in the source category is mapped to the corresponding identity morphism in the target category. See also swapfid 49268. (Contributed by Zhi Wang, 8-Oct-2025.)
(𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)    &   𝑆 = (𝐶 ×c 𝐷)    &   𝑇 = (𝐷 ×c 𝐶)    &   (𝜑 → (𝐶 swapF 𝐷) = ⟨𝑂, 𝑃⟩)    &   𝐵 = (Base‘𝑆)    &   (𝜑𝑋𝐵)    &    1 = (Id‘𝑆)    &   𝐼 = (Id‘𝑇)       (𝜑 → ((𝑋𝑃𝑋)‘( 1𝑋)) = (𝐼‘(𝑂𝑋)))
 
8-Oct-2025swapfid 49268 Each identity morphism in the source category is mapped to the corresponding identity morphism in the target category. See also swapfida 49269. (Contributed by Zhi Wang, 8-Oct-2025.)
(𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)    &   𝑆 = (𝐶 ×c 𝐷)    &   𝑇 = (𝐷 ×c 𝐶)    &   (𝜑 → (𝐶 swapF 𝐷) = ⟨𝑂, 𝑃⟩)    &   (𝜑𝑋 ∈ (Base‘𝐶))    &   (𝜑𝑌 ∈ (Base‘𝐷))    &    1 = (Id‘𝑆)    &   𝐼 = (Id‘𝑇)       (𝜑 → ((⟨𝑋, 𝑌𝑃𝑋, 𝑌⟩)‘( 1 ‘⟨𝑋, 𝑌⟩)) = (𝐼‘(𝑂‘⟨𝑋, 𝑌⟩)))
 
8-Oct-2025swapf2f1oaALT 49267 Alternate proof of swapf2f1oa 49266. (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 49265 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 49264 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 49240 Alternate proof of elxpcbasex2 49239. (Contributed by Zhi Wang, 8-Oct-2025.) (Proof modification is discouraged.) (New usage is discouraged.)
𝑇 = (𝐶 ×c 𝐷)    &   𝐵 = (Base‘𝑇)    &   (𝜑𝑋𝐵)       (𝜑𝐷 ∈ V)
 
8-Oct-2025elxpcbasex1ALT 49238 Alternate proof of elxpcbasex1 49237. (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 49314 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 49307 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 49263 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 49262 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 49261 The object part of the swap functor swaps the objects. (Contributed by Zhi Wang, 7-Oct-2025.)
(𝜑 → (𝐶 swapF 𝐷) = ⟨𝑂, 𝑃⟩)    &   (𝜑𝑋 ∈ (Base‘𝐶))    &   (𝜑𝑌 ∈ (Base‘𝐷))       (𝜑 → (𝑋𝑂𝑌) = ⟨𝑌, 𝑋⟩)
 
7-Oct-2025swapf2a 49260 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 49259 The morphism part of the swap functor swaps the morphisms. (Contributed by Zhi Wang, 7-Oct-2025.)
(𝜑 → (𝐶 swapF 𝐷) = ⟨𝑂, 𝑃⟩)    &   𝑆 = (𝐶 ×c 𝐷)    &   𝐵 = (Base‘𝑆)    &   (𝜑𝑋𝐵)    &   (𝜑𝑌𝐵)    &   (𝜑𝐻 = (Hom ‘𝑆))       (𝜑 → (𝑋𝑃𝑌) = (𝑓 ∈ (𝑋𝐻𝑌) ↦ {𝑓}))
 
7-Oct-2025swapf1a 49258 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 49257 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 49256 The object part of the swap functor. See also swapf1vala 49255. (Contributed by Zhi Wang, 7-Oct-2025.)
(𝜑𝐶𝑈)    &   (𝜑𝐷𝑉)    &   𝑆 = (𝐶 ×c 𝐷)    &   𝐵 = (Base‘𝑆)    &   (𝜑 → (𝐶 swapF 𝐷) = ⟨𝑂, 𝑃⟩)       (𝜑𝑂 = (𝑥𝐵 {𝑥}))
 
7-Oct-2025swapf1vala 49255 The object part of the swap functor. See also swapf1val 49256. (Contributed by Zhi Wang, 7-Oct-2025.)
(𝜑𝐶𝑈)    &   (𝜑𝐷𝑉)    &   𝑆 = (𝐶 ×c 𝐷)    &   𝐵 = (Base‘𝑆)       (𝜑 → (1st ‘(𝐶 swapF 𝐷)) = (𝑥𝐵 {𝑥}))
 
7-Oct-2025swapf2fval 49254 The morphism part of the swap functor. See also swapf2fvala 49253. (Contributed by Zhi Wang, 7-Oct-2025.)
(𝜑𝐶𝑈)    &   (𝜑𝐷𝑉)    &   𝑆 = (𝐶 ×c 𝐷)    &   𝐵 = (Base‘𝑆)    &   (𝜑𝐻 = (Hom ‘𝑆))    &   (𝜑 → (𝐶 swapF 𝐷) = ⟨𝑂, 𝑃⟩)       (𝜑𝑃 = (𝑢𝐵, 𝑣𝐵 ↦ (𝑓 ∈ (𝑢𝐻𝑣) ↦ {𝑓})))
 
7-Oct-2025swapf2fvala 49253 The morphism part of the swap functor. See also swapf2fval 49254. (Contributed by Zhi Wang, 7-Oct-2025.)
(𝜑𝐶𝑈)    &   (𝜑𝐷𝑉)    &   𝑆 = (𝐶 ×c 𝐷)    &   𝐵 = (Base‘𝑆)    &   (𝜑𝐻 = (Hom ‘𝑆))       (𝜑 → (2nd ‘(𝐶 swapF 𝐷)) = (𝑢𝐵, 𝑣𝐵 ↦ (𝑓 ∈ (𝑢𝐻𝑣) ↦ {𝑓})))
 
7-Oct-2025swapfelvv 49252 A swap functor is an ordered pair. (Contributed by Zhi Wang, 7-Oct-2025.)
(𝜑𝐶𝑈)    &   (𝜑𝐷𝑉)       (𝜑 → (𝐶 swapF 𝐷) ∈ (V × V))
 
7-Oct-2025swapfval 49251 Value of the swap functor. (Contributed by Zhi Wang, 7-Oct-2025.)
(𝜑𝐶𝑈)    &   (𝜑𝐷𝑉)    &   𝑆 = (𝐶 ×c 𝐷)    &   𝐵 = (Base‘𝑆)    &   (𝜑𝐻 = (Hom ‘𝑆))       (𝜑 → (𝐶 swapF 𝐷) = ⟨(𝑥𝐵 {𝑥}), (𝑢𝐵, 𝑣𝐵 ↦ (𝑓 ∈ (𝑢𝐻𝑣) ↦ {𝑓}))⟩)
 
7-Oct-2025df-swapf 49249 Define the swap functor from (𝐶 ×c 𝐷) to (𝐷 ×c 𝐶) by swapping all objects (swapf1 49261) and morphisms (swapf2 49263) .

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

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

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

swapF = (𝑐 ∈ V, 𝑑 ∈ V ↦ (𝑐 ×c 𝑑) / 𝑠(Base‘𝑠) / 𝑏(Hom ‘𝑠) / ⟨(𝑥𝑏 {𝑥}), (𝑢𝑏, 𝑣𝑏 ↦ (𝑓 ∈ (𝑢𝑣) ↦ {𝑓}))⟩)
 
7-Oct-20250funcALT 49077 Alternate proof of 0func 49076. (Contributed by Zhi Wang, 7-Oct-2025.) (Proof modification is discouraged.) (New usage is discouraged.)
(𝜑𝐶 ∈ Cat)       (𝜑 → (∅ Func 𝐶) = {⟨∅, ∅⟩})
 
7-Oct-20250funclem 49075 Lemma for 0funcALT 49077. (Contributed by Zhi Wang, 7-Oct-2025.)
(𝜑 → (𝜓 ↔ (𝜒𝜃𝜏)))    &   (𝜒𝜂)    &   (𝜃𝜁)    &   𝜏       (𝜑 → (𝜓 ↔ (𝜂𝜁)))
 
7-Oct-2025opth2neg 48815 Two ordered pairs are not equal if their second components are not equal. (Contributed by Zhi Wang, 7-Oct-2025.)
((𝐴𝑉𝐵𝑊) → (𝐵𝐷 → ⟨𝐴, 𝐵⟩ ≠ ⟨𝐶, 𝐷⟩))
 
7-Oct-2025opth1neg 48814 Two ordered pairs are not equal if their first components are not equal. (Contributed by Zhi Wang, 7-Oct-2025.)
((𝐴𝑉𝐵𝑊) → (𝐴𝐶 → ⟨𝐴, 𝐵⟩ ≠ ⟨𝐶, 𝐷⟩))
 
7-Oct-2025readvcot 42352 Real antiderivative of cotangent. (Contributed by SN, 7-Oct-2025.)
𝐷 = {𝑦 ∈ ℝ ∣ (sin‘𝑦) ≠ 0}       (ℝ D (𝑥𝐷 ↦ (log‘(abs‘(sin‘𝑥))))) = (𝑥𝐷 ↦ ((cos‘𝑥) / (sin‘𝑥)))
 
7-Oct-2025resuppsinopn 42351 The support of sin (df-supp 8140) restricted to the reals is an open set. (Contributed by SN, 7-Oct-2025.)
𝐷 = {𝑦 ∈ ℝ ∣ (sin‘𝑦) ≠ 0}       𝐷 ∈ (topGen‘ran (,))
 
7-Oct-2025cnn0opn 24675 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 48877 Two ways of expressing the swap function. (Contributed by Zhi Wang, 6-Oct-2025.)
𝑅 = (𝐴 × 𝐵)       (tpos I ↾ 𝑅) = (𝑥𝑅 {𝑥})
 
6-Oct-2025tposideq 48876 Two ways of expressing the swap function. (Contributed by Zhi Wang, 6-Oct-2025.)
(Rel 𝑅 → (tpos I ↾ 𝑅) = (𝑥𝑅 {𝑥}))
 
6-Oct-2025tposresxp 48871 The transposition restricted to a Cartesian product. (Contributed by Zhi Wang, 6-Oct-2025.)
(tpos 𝐹 ↾ (𝐴 × 𝐵)) = tpos (𝐹 ↾ (𝐵 × 𝐴))
 
6-Oct-2025tposres 48870 The transposition restricted to a relation. (Contributed by Zhi Wang, 6-Oct-2025.)
(Rel 𝑅 → (tpos 𝐹𝑅) = tpos (𝐹𝑅))
 
6-Oct-2025tposres3 48869 The transposition restricted to a set. (Contributed by Zhi Wang, 6-Oct-2025.)
(𝜑 → ¬ ∅ ∈ (dom 𝐹𝑅))       (𝜑 → (tpos 𝐹𝑅) = tpos (𝐹𝑅))
 
6-Oct-2025tposres2 48868 The transposition restricted to a set. (Contributed by Zhi Wang, 6-Oct-2025.)
(𝜑 → ¬ ∅ ∈ (dom 𝐹𝑅))       (𝜑 → (tpos 𝐹𝑅) = (tpos 𝐹𝑅))
 
6-Oct-2025tposrescnv 48867 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 8205. (Contributed by Zhi Wang, 6-Oct-2025.)
(tpos 𝐹𝑅) = (𝐹 ∘ (𝑥dom (𝐹𝑅) ↦ {𝑥}))
 
6-Oct-2025tposresg 48866 The transposition restricted to a set. (Contributed by Zhi Wang, 6-Oct-2025.)
(tpos 𝐹𝑅) = ((tpos 𝐹𝑅) ∪ (𝐹 ↾ (𝑅 ∩ {∅})))
 
6-Oct-2025tposres0 48865 The transposition of a set restricted to the empty set is the set restricted to the empty set. See also ressn 6258 and dftpos6 48863 for an alternate proof. (Contributed by Zhi Wang, 6-Oct-2025.)
(tpos 𝐹 ↾ {∅}) = (𝐹 ↾ {∅})
 
6-Oct-2025dmtposss 48864 The domain of tpos 𝐹 is a subset. (Contributed by Zhi Wang, 6-Oct-2025.)
dom tpos 𝐹 ⊆ ((V × V) ∪ {∅})
 
6-Oct-2025dftpos6 48863 Alternate definition of tpos. The second half of the right hand side could apply ressn 6258 and become (𝐹 ↾ {∅}) (Contributed by Zhi Wang, 6-Oct-2025.)
tpos 𝐹 = ((𝐹 ∘ (𝑥dom 𝐹 {𝑥})) ∪ ({∅} × (𝐹 “ {∅})))
 
6-Oct-2025dftpos5 48862 Alternate definition of tpos. (Contributed by Zhi Wang, 6-Oct-2025.)
tpos 𝐹 = (𝐹 ∘ ((𝑥dom 𝐹 {𝑥}) ∪ {⟨∅, ∅⟩}))
 
6-Oct-2025resinsnALT 48861 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 48860 Restriction to the intersection with a singleton. (Contributed by Zhi Wang, 6-Oct-2025.)
((𝐹 ↾ (𝐴 ∩ {𝐵})) = ∅ ↔ ¬ 𝐵 ∈ (dom 𝐹𝐴))
 
6-Oct-2025resinsnlem 48859 Lemma for resinsnALT 48861. (Contributed by Zhi Wang, 6-Oct-2025.)
(𝜑 → (𝜒 ↔ ¬ 𝜓))    &   𝜑𝜒)       ((𝜑𝜓) ↔ ¬ 𝜒)
 
6-Oct-2025cosni 48823 Composition with an ordered pair singleton. (Contributed by Zhi Wang, 6-Oct-2025.)
𝐵 ∈ V    &   𝐶 ∈ V       (𝐴 ∘ {⟨𝐵, 𝐶⟩}) = ({𝐵} × (𝐴 “ {𝐶}))
 
6-Oct-2025cosn 48822 Composition with an ordered pair singleton. (Contributed by Zhi Wang, 6-Oct-2025.)
((𝐵𝑈𝐶𝑉) → (𝐴 ∘ {⟨𝐵, 𝐶⟩}) = ({𝐵} × (𝐴 “ {𝐶})))
 
6-Oct-2025coxp 48821 Composition with a Cartesian product. (Contributed by Zhi Wang, 6-Oct-2025.)
(𝐴 ∘ (𝐵 × 𝐶)) = (𝐵 × (𝐴𝐶))
 
6-Oct-2025gsumwun 33005 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 48875 The swap function, or the twisting map, is bijective. (Contributed by Zhi Wang, 5-Oct-2025.)
tpos ( I ↾ (𝐴 × 𝐵)):(𝐵 × 𝐴)–1-1-onto→(𝐴 × 𝐵)
 
5-Oct-2025tposidres 48874 Swap an ordered pair. (Contributed by Zhi Wang, 5-Oct-2025.)
(𝜑𝑋𝐴)    &   (𝜑𝑌𝐵)       (𝜑 → (𝑌tpos ( I ↾ (𝐴 × 𝐵))𝑋) = ⟨𝑋, 𝑌⟩)
 
5-Oct-2025tposid 48873 Swap an ordered pair. (Contributed by Zhi Wang, 5-Oct-2025.)
(𝑋tpos I 𝑌) = ⟨𝑌, 𝑋
 
5-Oct-2025tposf1o 48872 Condition of a bijective transposition. (Contributed by Zhi Wang, 5-Oct-2025.)
(𝐹:(𝐴 × 𝐵)–1-1-onto𝐶 → tpos 𝐹:(𝐵 × 𝐴)–1-1-onto𝐶)
 
5-Oct-2025cycl3grtri 47946 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 47945 Lemma for cycl3grtri 47946. (Contributed by AV, 5-Oct-2025.)
(((𝐺 ∈ UPGraph ∧ 𝐹(Paths‘𝐺)𝑃) ∧ ((𝑃‘0) = (𝑃‘(♯‘𝐹)) ∧ (♯‘𝐹) = 3)) → ({(𝑃‘0), (𝑃‘1)} ∈ (Edg‘𝐺) ∧ {(𝑃‘0), (𝑃‘2)} ∈ (Edg‘𝐺) ∧ {(𝑃‘1), (𝑃‘2)} ∈ (Edg‘𝐺)))
 
5-Oct-2025zrhcntr 33969 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 33968 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 33197 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 33196 Lemma for elrgspn 33197. (Contributed by Thierry Arnoux, 5-Oct-2025.)
𝐵 = (Base‘𝑅)    &   𝑀 = (mulGrp‘𝑅)    &    · = (.g𝑅)    &   𝑁 = (RingSpan‘𝑅)    &   𝐹 = {𝑓 ∈ (ℤ ↑m Word 𝐴) ∣ 𝑓 finSupp 0}    &   (𝜑𝑅 ∈ Ring)    &   (𝜑𝐴𝐵)    &   𝑆 = ran (𝑔𝐹 ↦ (𝑅 Σg (𝑤 ∈ Word 𝐴 ↦ ((𝑔𝑤) · (𝑀 Σg 𝑤)))))       (𝜑 → (𝑁𝐴) = 𝑆)
 
5-Oct-2025elrgspnlem3 33195 Lemma for elrgspn 33197. (Contributed by Thierry Arnoux, 5-Oct-2025.)
𝐵 = (Base‘𝑅)    &   𝑀 = (mulGrp‘𝑅)    &    · = (.g𝑅)    &   𝑁 = (RingSpan‘𝑅)    &   𝐹 = {𝑓 ∈ (ℤ ↑m Word 𝐴) ∣ 𝑓 finSupp 0}    &   (𝜑𝑅 ∈ Ring)    &   (𝜑𝐴𝐵)    &   𝑆 = ran (𝑔𝐹 ↦ (𝑅 Σg (𝑤 ∈ Word 𝐴 ↦ ((𝑔𝑤) · (𝑀 Σg 𝑤)))))       (𝜑𝐴𝑆)
 
5-Oct-2025elrgspnlem2 33194 Lemma for elrgspn 33197. (Contributed by Thierry Arnoux, 5-Oct-2025.)
𝐵 = (Base‘𝑅)    &   𝑀 = (mulGrp‘𝑅)    &    · = (.g𝑅)    &   𝑁 = (RingSpan‘𝑅)    &   𝐹 = {𝑓 ∈ (ℤ ↑m Word 𝐴) ∣ 𝑓 finSupp 0}    &   (𝜑𝑅 ∈ Ring)    &   (𝜑𝐴𝐵)    &   𝑆 = ran (𝑔𝐹 ↦ (𝑅 Σg (𝑤 ∈ Word 𝐴 ↦ ((𝑔𝑤) · (𝑀 Σg 𝑤)))))       (𝜑𝑆 ∈ (SubRing‘𝑅))
 
5-Oct-2025elrgspnlem1 33193 Lemma for elrgspn 33197. (Contributed by Thierry Arnoux, 5-Oct-2025.)
𝐵 = (Base‘𝑅)    &   𝑀 = (mulGrp‘𝑅)    &    · = (.g𝑅)    &   𝑁 = (RingSpan‘𝑅)    &   𝐹 = {𝑓 ∈ (ℤ ↑m Word 𝐴) ∣ 𝑓 finSupp 0}    &   (𝜑𝑅 ∈ Ring)    &   (𝜑𝐴𝐵)    &   𝑆 = ran (𝑔𝐹 ↦ (𝑅 Σg (𝑤 ∈ Word 𝐴 ↦ ((𝑔𝑤) · (𝑀 Σg 𝑤)))))       (𝜑𝑆 ∈ (SubGrp‘𝑅))
 
5-Oct-2025gsumwrd2dccat 33007 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 33006 Lemma for gsumwrd2dccat 33007. 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 33000 A finite group sum multiplied by a constant. (Contributed by Thierry Arnoux, 5-Oct-2025.)
𝐵 = (Base‘𝑀)    &    · = (.g𝑀)    &   (𝜑𝑀 ∈ Grp)    &   (𝜑𝐴 ∈ Fin)    &   (𝜑𝑌𝐵)    &   ((𝜑𝑘𝐴) → 𝑋 ∈ ℤ)       (𝜑 → (𝑀 Σg (𝑘𝐴 ↦ (𝑋 · 𝑌))) = (Σ𝑘𝐴 𝑋 · 𝑌))
 
5-Oct-2025gsumzrsum 32999 Relate a group sum on ring to a finite sum on the complex numbers. See also gsumfsum 21351. (Contributed by Thierry Arnoux, 5-Oct-2025.)
(𝜑𝐴 ∈ Fin)    &   ((𝜑𝑘𝐴) → 𝐵 ∈ ℤ)       (𝜑 → (ℤring Σg (𝑘𝐴𝐵)) = Σ𝑘𝐴 𝐵)
 
5-Oct-2025gsumfs2d 32995 Express a finite sum over a two-dimensional range as a double sum. Version of gsum2d 19902 using finite support. (Contributed by Thierry Arnoux, 5-Oct-2025.)
𝑥𝜑    &   𝐵 = (Base‘𝑊)    &    0 = (0g𝑊)    &   (𝜑 → Rel 𝐴)    &   (𝜑𝐹 finSupp 0 )    &   (𝜑𝑊 ∈ CMnd)    &   (𝜑𝐹:𝐴𝐵)    &   (𝜑𝐴𝑋)       (𝜑 → (𝑊 Σg 𝐹) = (𝑊 Σg (𝑥 ∈ dom 𝐴 ↦ (𝑊 Σg (𝑦 ∈ (𝐴 “ {𝑥}) ↦ (𝐹‘⟨𝑥, 𝑦⟩))))))
 
5-Oct-2025gsummptfsf1o 32994 Re-index a finite group sum using a bijection. A version of gsummptf1o 19893 expressed using finite support. (Contributed by Thierry Arnoux, 5-Oct-2025.)
𝑥𝐻    &   𝐵 = (Base‘𝐺)    &    0 = (0g𝐺)    &   (𝑥 = 𝐸𝐶 = 𝐻)    &   (𝜑𝐺 ∈ CMnd)    &   (𝜑𝐴𝑉)    &   (𝜑 → (𝑥𝐴𝐶) finSupp 0 )    &   (𝜑𝐹𝐵)    &   ((𝜑𝑥𝐴) → 𝐶𝐹)    &   ((𝜑𝑦𝐷) → 𝐸𝐴)    &   ((𝜑𝑥𝐴) → ∃!𝑦𝐷 𝑥 = 𝐸)       (𝜑 → (𝐺 Σg (𝑥𝐴𝐶)) = (𝐺 Σg (𝑦𝐷𝐻)))
 
5-Oct-2025subgmulgcld 32984 Closure of the group multiple within a subgroup. (Contributed by Thierry Arnoux, 5-Oct-2025.)
𝐵 = (Base‘𝑅)    &    · = (.g𝑅)    &   (𝜑𝑅 ∈ Grp)    &   (𝜑𝐴𝑆)    &   (𝜑𝑆 ∈ (SubGrp‘𝑅))    &   (𝜑𝑍 ∈ ℤ)       (𝜑 → (𝑍 · 𝐴) ∈ 𝑆)
 
5-Oct-2025fmptunsnop 32623 Two ways to express a function with a value replaced. (Contributed by Thierry Arnoux, 5-Oct-2025.)
(𝜑𝐹 Fn 𝐴)    &   (𝜑𝑋𝐴)    &   (𝜑𝑌𝐵)       (𝜑 → (𝑥𝐴 ↦ if(𝑥 = 𝑋, 𝑌, (𝐹𝑥))) = ((𝐹 ↾ (𝐴 ∖ {𝑋})) ∪ {⟨𝑋, 𝑌⟩}))
 
5-Oct-2025fdifsupp 32608 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 32607 The support of a union is the union of the supports. (Contributed by Thierry Arnoux, 5-Oct-2025.)
(𝜑𝐹𝑉)    &   (𝜑𝐺𝑊)    &   (𝜑𝑍𝑋)       (𝜑 → ((𝐹𝐺) supp 𝑍) = ((𝐹 supp 𝑍) ∪ (𝐺 supp 𝑍)))
 
5-Oct-2025fisuppov1 32606 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 32605 Deduce membership in the support of a function. (Contributed by Thierry Arnoux, 5-Oct-2025.)
(𝜑𝐹 Fn 𝐴)    &   (𝜑𝐴𝑉)    &   (𝜑𝑍𝑊)    &   (𝜑𝑋𝐴)    &   (𝜑 → (𝐹𝑋) ≠ 𝑍)       (𝜑𝑋 ∈ (𝐹 supp 𝑍))
 
5-Oct-2025dmdju 32571 Domain of a disjoint union of non-empty sets. (Contributed by Thierry Arnoux, 5-Oct-2025.)
((𝜑𝑥𝐴) → 𝐵 ≠ ∅)       (𝜑 → dom 𝑥𝐴 ({𝑥} × 𝐵) = 𝐴)
 
5-Oct-2025simp-12r 32378 Simplification of a conjunction. (Contributed by Thierry Arnoux, 5-Oct-2025.)
(((((((((((((𝜑𝜓) ∧ 𝜒) ∧ 𝜃) ∧ 𝜏) ∧ 𝜂) ∧ 𝜁) ∧ 𝜎) ∧ 𝜌) ∧ 𝜇) ∧ 𝜆) ∧ 𝜅) ∧ 𝜈) → 𝜓)
 
5-Oct-2025simp-12l 32377 Simplification of a conjunction. (Contributed by Thierry Arnoux, 5-Oct-2025.)
(((((((((((((𝜑𝜓) ∧ 𝜒) ∧ 𝜃) ∧ 𝜏) ∧ 𝜂) ∧ 𝜁) ∧ 𝜎) ∧ 𝜌) ∧ 𝜇) ∧ 𝜆) ∧ 𝜅) ∧ 𝜈) → 𝜑)
 
5-Oct-2025cyclnumvtx 29730 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 29659 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 6602 Condition for the range of a one-to-one function to be the range of one its restrictions. Variant of imadifssran 6124. (Contributed by AV, 4-Oct-2025.)
(Fun 𝐹 → ((𝐹 “ (dom 𝐹𝐴)) ⊆ ran (𝐹𝐴) → ran 𝐹 = ran (𝐹𝐴)))
 
4-Oct-2025imadifssran 6124 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 49348 The functor composition bifunctor is a functor. See also fucofunca 49349.

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

2. fuco22nat 49335, fucoid 49337, and fucoco 49346 are satisfied.

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

𝑇 = ((𝐷 FuncCat 𝐸) ×c (𝐶 FuncCat 𝐷))    &   𝑄 = (𝐶 FuncCat 𝐸)    &   (𝜑 → (⟨𝐶, 𝐷⟩ ∘F 𝐸) = ⟨𝑂, 𝑃⟩)    &   (𝜑𝐶 ∈ Cat)    &   (𝜑𝐷 ∈ Cat)    &   (𝜑𝐸 ∈ Cat)       (𝜑𝑂(𝑇 Func 𝑄)𝑃)
 
3-Oct-2025fucoco2 49347 Composition in the source category is mapped to composition in the target. See also fucoco 49346. (Contributed by Zhi Wang, 3-Oct-2025.)
𝑇 = ((𝐷 FuncCat 𝐸) ×c (𝐶 FuncCat 𝐷))    &   𝑄 = (𝐶 FuncCat 𝐸)    &   (𝜑 → (⟨𝐶, 𝐷⟩ ∘F 𝐸) = ⟨𝑂, 𝑃⟩)    &    · = (comp‘𝑇)    &    = (comp‘𝑄)    &   (𝜑𝑊 = ((𝐷 Func 𝐸) × (𝐶 Func 𝐷)))    &   (𝜑𝑋𝑊)    &   (𝜑𝑌𝑊)    &   (𝜑𝑍𝑊)    &   𝐽 = (Hom ‘𝑇)    &   (𝜑𝐴 ∈ (𝑋𝐽𝑌))    &   (𝜑𝐵 ∈ (𝑌𝐽𝑍))       (𝜑 → ((𝑋𝑃𝑍)‘(𝐵(⟨𝑋, 𝑌· 𝑍)𝐴)) = (((𝑌𝑃𝑍)‘𝐵)(⟨(𝑂𝑋), (𝑂𝑌)⟩ (𝑂𝑍))((𝑋𝑃𝑌)‘𝐴)))
 
3-Oct-2025fucoco 49346 Composition in the source category is mapped to composition in the target. See also fucoco2 49347. (Contributed by Zhi Wang, 3-Oct-2025.)
(𝜑𝑅 ∈ (𝐹(𝐷 Nat 𝐸)𝐾))    &   (𝜑𝑆 ∈ (𝐺(𝐶 Nat 𝐷)𝐿))    &   (𝜑𝑈 ∈ (𝐾(𝐷 Nat 𝐸)𝑀))    &   (𝜑𝑉 ∈ (𝐿(𝐶 Nat 𝐷)𝑁))    &   (𝜑 → (⟨𝐶, 𝐷⟩ ∘F 𝐸) = ⟨𝑂, 𝑃⟩)    &   (𝜑𝑋 = ⟨𝐹, 𝐺⟩)    &   (𝜑𝑌 = ⟨𝐾, 𝐿⟩)    &   (𝜑𝑍 = ⟨𝑀, 𝑁⟩)    &   (𝜑𝐴 = ⟨𝑅, 𝑆⟩)    &   (𝜑𝐵 = ⟨𝑈, 𝑉⟩)    &   𝑄 = (𝐶 FuncCat 𝐸)    &    = (comp‘𝑄)    &   𝑇 = ((𝐷 FuncCat 𝐸) ×c (𝐶 FuncCat 𝐷))    &    · = (comp‘𝑇)       (𝜑 → ((𝑋𝑃𝑍)‘(𝐵(⟨𝑋, 𝑌· 𝑍)𝐴)) = (((𝑌𝑃𝑍)‘𝐵)(⟨(𝑂𝑋), (𝑂𝑌)⟩ (𝑂𝑍))((𝑋𝑃𝑌)‘𝐴)))
 
3-Oct-2025fucocolem3 49344 Lemma for fucoco 49346. 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 49341 The morphism part of the functor composition bifunctor. An alternate definition of F. See also fuco23 49330. (Contributed by Zhi Wang, 3-Oct-2025.)
(𝜑𝐴 ∈ (⟨𝐹, 𝐺⟩(𝐶 Nat 𝐷)⟨𝑀, 𝑁⟩))    &   (𝜑𝐵 ∈ (⟨𝐾, 𝐿⟩(𝐷 Nat 𝐸)⟨𝑅, 𝑆⟩))    &   (𝜑𝑋 ∈ (Base‘𝐶))    &   (𝜑 → (⟨𝐶, 𝐷⟩ ∘F 𝐸) = ⟨𝑂, 𝑃⟩)    &   (𝜑𝑈 = ⟨⟨𝐾, 𝐿⟩, ⟨𝐹, 𝐺⟩⟩)    &   (𝜑𝑉 = ⟨⟨𝑅, 𝑆⟩, ⟨𝑀, 𝑁⟩⟩)    &   (𝜑 = (⟨(𝐾‘(𝐹𝑋)), (𝑅‘(𝐹𝑋))⟩(comp‘𝐸)(𝑅‘(𝑀𝑋))))       (𝜑 → ((𝐵(𝑈𝑃𝑉)𝐴)‘𝑋) = ((((𝐹𝑋)𝑆(𝑀𝑋))‘(𝐴𝑋)) (𝐵‘(𝐹𝑋))))
 
3-Oct-2025fuco23alem 49340 The naturality property (nati 17920) in category 𝐸. (Contributed by Zhi Wang, 3-Oct-2025.)
(𝜑𝐴 ∈ (⟨𝐹, 𝐺⟩(𝐶 Nat 𝐷)⟨𝑀, 𝑁⟩))    &   (𝜑𝐵 ∈ (⟨𝐾, 𝐿⟩(𝐷 Nat 𝐸)⟨𝑅, 𝑆⟩))    &   (𝜑𝑋 ∈ (Base‘𝐶))    &    · = (comp‘𝐸)       (𝜑 → ((𝐵‘(𝑀𝑋))(⟨(𝐾‘(𝐹𝑋)), (𝐾‘(𝑀𝑋))⟩ · (𝑅‘(𝑀𝑋)))(((𝐹𝑋)𝐿(𝑀𝑋))‘(𝐴𝑋))) = ((((𝐹𝑋)𝑆(𝑀𝑋))‘(𝐴𝑋))(⟨(𝐾‘(𝐹𝑋)), (𝑅‘(𝐹𝑋))⟩ · (𝑅‘(𝑀𝑋)))(𝐵‘(𝐹𝑋))))
 
3-Oct-2025fuco11idx 49324 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 49322 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 49321 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 49320 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 49318 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 ‘(𝑂𝑈)) = (𝑥𝐵, 𝑦𝐵 ↦ (((𝐹𝑥)𝐿(𝐹𝑦)) ∘ (𝑥𝐺𝑦))))

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]