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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

   Older news...

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

Last updated on 19-Oct-2026 at 5:31 AM ET.
Recent Additions to the Metamath Proof Explorer   Notes (last updated 7-Dec-2020 )
DateLabelDescription
Theorem
 
15-Oct-2026pibt2 38433 Theorem T000002 of pi-base, a countably compact topology is also weakly countably compact. See pibp19 38430 and pibp21 38431 for the definitions of the relevant properties. This proof uses the axiom of choice. (Contributed by ML, 30-Mar-2021.) Remove dependency on ax-reg 9589. (Revised by Timothy J. O'Malley, 15-Oct-2026.)
𝑋 = ∪ 𝐽    &   𝐶 = {𝑥 ∈ Top ∣ ∀𝑦 ∈ 𝒫 𝑥((∪ 𝑥 = ∪ 𝑦 ∧ 𝑦 ≼ ω) → ∃𝑧 ∈ (𝒫 𝑦 ∩ Fin)∪ 𝑥 = ∪ 𝑧)}    &   𝑊 = {𝑥 ∈ Top ∣ ∀𝑦 ∈ (𝒫 ∪ 𝑥 ∖ Fin)∃𝑧 ∈ ∪ 𝑥𝑧 ∈ ((limPt‘𝑥)‘𝑦)}    ⇒   (𝐽 ∈ 𝐶 → 𝐽 ∈ 𝑊)
 
15-Oct-2026nlpfvineqsn 38425 Given a subset 𝐴 of 𝑋 with no limit points, there exists a function from each point 𝑝 of 𝐴 to an open set intersecting 𝐴 only at 𝑝. This proof uses the axiom of choice. (Contributed by ML, 23-Mar-2021.) Remove dependency on ax-reg 9589 and ax-inf2 9645. (Revised by Timothy J. O'Malley, 15-Oct-2026.)
𝑋 = ∪ 𝐽    ⇒   (𝐴 ∈ 𝑉 → ((𝐽 ∈ Top ∧ 𝐴 ⊆ 𝑋 ∧ ((limPt‘𝐽)‘𝐴) = ∅) → ∃𝑓(𝑓:𝐴⟶𝐽 ∧ ∀𝑝 ∈ 𝐴 ((𝑓‘𝑝) ∩ 𝐴) = {𝑝})))
 
15-Oct-2026cardprcALT 36551 Alternate proof of cardprc 10064 from cardprcr 36550. (Contributed by Adrian Ducourtial, 15-Oct-2026.) (Proof modification is discouraged.) (New usage is discouraged.)
{𝑥 ∣ (card‘𝑥) = 𝑥} ∉ V
 
15-Oct-2026cardprcr 36550 Relative version of cardprc 10064. (Contributed by Adrian Ducourtial, 15-Oct-2026.)
𝐴 = {𝑥 ∈ 𝑉 ∣ (card‘𝑥) = 𝑥}    &   (𝐴 ∈ 𝑉 → (har‘∪ 𝐴) ∈ 𝑉)    ⇒    ¬ 𝐴 ∈ 𝑉
 
15-Oct-2026onprcALT 36549 Alternate proof of onprc 7792 from onprcr 36548. (Contributed by Adrian Ducourtial, 15-Oct-2026.) (Proof modification is discouraged.) (New usage is discouraged.)
¬ On ∈ V
 
15-Oct-2026onprcr 36548 Relative version of onprc 7792. (Contributed by Adrian Ducourtial, 15-Oct-2026.)
𝐴 = {𝑥 ∈ 𝑉 ∣ Ord 𝑥}    &   Tr 𝐴    ⇒    ¬ 𝐴 ∈ 𝑉
 
15-Oct-2026ptpconn 36084 The topological product of a collection of path-connected spaces is path-connected. The proof uses the axiom of choice. (Contributed by Mario Carneiro, 17-Feb-2015.) Remove dependency on ax-reg 9589 and ax-inf2 9645. (Revised by Timothy J. O'Malley, 15-Oct-2026.)
((𝐴 ∈ 𝑉 ∧ 𝐹:𝐴⟶PConn) → (∏t‘𝐹) ∈ PConn)
 
15-Oct-2026omssubadd 34978 A constructed outer measure is countably sub-additive. Lemma 1.5.4 of [Bogachev] p. 17. (Contributed by Thierry Arnoux, 21-Sep-2019.) (Revised by AV, 4-Oct-2020.) Remove dependency on ax-reg 9589. (Revised by Timothy J. O'Malley, 15-Oct-2026.)
𝑀 = (toOMeas‘𝑅)    &   (𝜑 → 𝑄 ∈ 𝑉)    &   (𝜑 → 𝑅:𝑄⟶(0[,]+∞))    &   ((𝜑 ∧ 𝑦 ∈ 𝑋) → 𝐴 ⊆ ∪ 𝑄)    &   (𝜑 → 𝑋 ≼ ω)    ⇒   (𝜑 → (𝑀‘∪ 𝑦 ∈ 𝑋 𝐴) ≤ Σ*𝑦 ∈ 𝑋(𝑀‘𝐴))
 
15-Oct-2026cmpcref 34528 Equivalent definition of compact space in terms of open cover refinements. Compact spaces are topologies with finite open cover refinements. (Contributed by Thierry Arnoux, 7-Jan-2020.) Remove dependency on ax-reg 9589 and ax-inf2 9645. (Revised by Timothy J. O'Malley, 15-Oct-2026.)
Comp = CovHasRefFin
 
15-Oct-2026reff 34517 For any cover refinement, there exists a function associating with each set in the refinement a set in the original cover containing it. This is sometimes used as a definition of refinement. Note that this definition uses the axiom of choice through ac6sg 10569. (Contributed by Thierry Arnoux, 12-Jan-2020.) Remove dependency on ax-reg 9589 and ax-inf2 9645. (Revised by Timothy J. O'Malley, 15-Oct-2026.)
(𝐴 ∈ 𝑉 → (𝐴Ref𝐵 ↔ (∪ 𝐵 ⊆ ∪ 𝐴 ∧ ∃𝑓(𝑓:𝐴⟶𝐵 ∧ ∀𝑣 ∈ 𝐴 𝑣 ⊆ (𝑓‘𝑣)))))
 
15-Oct-2026fedgmul 34309 The multiplicativity formula for degrees of field extensions. Given 𝐸 a field extension of 𝐹, itself a field extension of 𝐾, we have [𝐸:𝐾] = [𝐸:𝐹][𝐹:𝐾]. Proposition 1.2 of [Lang], p. 224. Here (dim‘𝐴) is the degree of the extension 𝐸 of 𝐾, (dim‘𝐵) is the degree of the extension 𝐸 of 𝐹, and (dim‘𝐶) is the degree of the extension 𝐹 of 𝐾. This proof is valid for infinite dimensions, and is actually valid for division ring extensions, not just field extensions. (Contributed by Thierry Arnoux, 25-Jul-2023.) Remove dependency on ax-reg 9589. (Revised by Timothy J. O'Malley, 15-Oct-2026.)
𝐴 = ((subringAlg ‘𝐸)‘𝑉)    &   𝐵 = ((subringAlg ‘𝐸)‘𝑈)    &   𝐶 = ((subringAlg ‘𝐹)‘𝑉)    &   𝐹 = (𝐸 ↾s 𝑈)    &   𝐾 = (𝐸 ↾s 𝑉)    &   (𝜑 → 𝐸 ∈ DivRing)    &   (𝜑 → 𝐹 ∈ DivRing)    &   (𝜑 → 𝐾 ∈ DivRing)    &   (𝜑 → 𝑈 ∈ (SubRing‘𝐸))    &   (𝜑 → 𝑉 ∈ (SubRing‘𝐹))    ⇒   (𝜑 → (dim‘𝐴) = ((dim‘𝐵) ·e (dim‘𝐶)))
 
15-Oct-2026elrspunidl 34024 Elementhood in the span of a union of ideals. (Contributed by Thierry Arnoux, 30-Jun-2024.) Remove dependency on ax-reg 9589 and ax-inf2 9645. (Revised by Timothy J. O'Malley, 15-Oct-2026.)
𝑁 = (RSpan‘𝑅)    &   𝐵 = (Base‘𝑅)    &    0 = (0g‘𝑅)    &    · = (.r‘𝑅)    &   (𝜑 → 𝑅 ∈ Ring)    &   (𝜑 → 𝑆 ⊆ (LIdeal‘𝑅))    ⇒   (𝜑 → (𝑋 ∈ (𝑁‘∪ 𝑆) ↔ ∃𝑎 ∈ (𝐵 ↑m 𝑆)(𝑎 finSupp 0 ∧ 𝑋 = (𝑅 Σg 𝑎) ∧ ∀𝑘 ∈ 𝑆 (𝑎‘𝑘) ∈ 𝑘)))
 
15-Oct-2026acunirnmpt2f 33302 Axiom of choice for the union of the range of a mapping to function. (Contributed by Thierry Arnoux, 7-Nov-2019.) Remove dependency on ax-reg 9589 and ax-inf2 9645. (Revised by Timothy J. O'Malley, 15-Oct-2026.)
(𝜑 → 𝐴 ∈ 𝑉)    &   ((𝜑 ∧ 𝑗 ∈ 𝐴) → 𝐵 ≠ ∅)    &   Ⅎ𝑗𝐴    &   Ⅎ𝑗𝐶    &   Ⅎ𝑗𝐷    &   𝐶 = ∪ 𝑗 ∈ 𝐴 𝐵    &   (𝑗 = (𝑓‘𝑥) → 𝐵 = 𝐷)    &   ((𝜑 ∧ 𝑗 ∈ 𝐴) → 𝐵 ∈ 𝑊)    ⇒   (𝜑 → ∃𝑓(𝑓:𝐶⟶𝐴 ∧ ∀𝑥 ∈ 𝐶 𝑥 ∈ 𝐷))
 
15-Oct-2026acunirnmpt2 33301 Axiom of choice for the union of the range of a mapping to function. (Contributed by Thierry Arnoux, 7-Nov-2019.) Remove dependency on ax-reg 9589 and ax-inf2 9645. (Revised by Timothy J. O'Malley, 15-Oct-2026.)
(𝜑 → 𝐴 ∈ 𝑉)    &   ((𝜑 ∧ 𝑗 ∈ 𝐴) → 𝐵 ≠ ∅)    &   𝐶 = ∪ ran (𝑗 ∈ 𝐴 ↦ 𝐵)    &   (𝑗 = (𝑓‘𝑥) → 𝐵 = 𝐷)    ⇒   (𝜑 → ∃𝑓(𝑓:𝐶⟶𝐴 ∧ ∀𝑥 ∈ 𝐶 𝑥 ∈ 𝐷))
 
15-Oct-2026ac6mapd 33264 Axiom of choice equivalent, deduction form. (Contributed by Thierry Arnoux, 13-Oct-2025.) Remove dependency on ax-reg 9589 and ax-inf2 9645. (Revised by Timothy J. O'Malley, 15-Oct-2026.)
(𝑦 = (𝑓‘𝑥) → (𝜓 ↔ 𝜒))    &   (𝜑 → 𝐴 ∈ 𝑉)    &   (𝜑 → 𝐵 ∈ 𝑊)    &   ((𝜑 ∧ 𝑥 ∈ 𝐴) → ∃𝑦 ∈ 𝐵 𝜓)    ⇒   (𝜑 → ∃𝑓 ∈ (𝐵 ↑m 𝐴)∀𝑥 ∈ 𝐴 𝜒)
 
15-Oct-2026unidifsnne 33179 The other element of a pair is not the known element. (Contributed by Thierry Arnoux, 26-Aug-2017.) Remove dependency on ax-reg 9589. (Revised by Timothy J. O'Malley, 15-Oct-2026.)
((𝑋 ∈ 𝑃 ∧ 𝑃 ≈ 2o) → ∪ (𝑃 ∖ {𝑋}) ≠ 𝑋)
 
15-Oct-2026unidifsnel 33178 The other element of a pair is an element of the pair. (Contributed by Thierry Arnoux, 26-Aug-2017.) Remove dependency on ax-reg 9589. (Revised by Timothy J. O'Malley, 15-Oct-2026.)
((𝑋 ∈ 𝑃 ∧ 𝑃 ≈ 2o) → ∪ (𝑃 ∖ {𝑋}) ∈ 𝑃)
 
15-Oct-2026foresf1o 33147 From a surjective function, *choose* a subset of the domain, such that the restricted function is bijective. (Contributed by Thierry Arnoux, 27-Jan-2020.) Remove dependency on ax-reg 9589 and ax-inf2 9645. (Revised by Timothy J. O'Malley, 15-Oct-2026.)
((𝐴 ∈ 𝑉 ∧ 𝐹:𝐴–onto→𝐵) → ∃𝑥 ∈ 𝒫 𝐴(𝐹 ↾ 𝑥):𝑥–1-1-onto→𝐵)
 
15-Oct-2026acsmapd 18733 In an algebraic closure system, if 𝑇 is contained in the closure of 𝑆, there is a map 𝑓 from 𝑇 into the set of finite subsets of 𝑆 such that the closure of ∪ ran 𝑓 contains 𝑇. This is proven by applying acsficl2d 18731 to each element of 𝑇. See Section II.5 in [Cohn] p. 81 to 82. (Contributed by David Moews, 1-May-2017.) Remove dependency on ax-reg 9589 and ax-inf2 9645. (Revised by Timothy J. O'Malley, 15-Oct-2026.)
(𝜑 → 𝐴 ∈ (ACS‘𝑋))    &   𝑁 = (mrCls‘𝐴)    &   (𝜑 → 𝑆 ⊆ 𝑋)    &   (𝜑 → 𝑇 ⊆ (𝑁‘𝑆))    ⇒   (𝜑 → ∃𝑓(𝑓:𝑇⟶(𝒫 𝑆 ∩ Fin) ∧ 𝑇 ⊆ (𝑁‘∪ ran 𝑓)))
 
15-Oct-2026ac6 10561 Equivalent of Axiom of Choice. This is useful for proving that there exists, for example, a sequence mapping natural numbers to members of a larger set 𝐵, where 𝜑 depends on 𝑥 (the natural number) and 𝑦 (to specify a member of 𝐵). A stronger version of this theorem, ac6s 10565, allows 𝐵 to be a proper class. Unlike ac6sg 10569, which allows 𝐵 to be a proper class and so uses the Collection principle bnd2 9959, this needs neither ax-reg 9589 nor ax-inf2 9645. (Contributed by NM, 18-Oct-1999.) (Revised by Mario Carneiro, 27-Aug-2015.) Replace hypotheses with antecedents. (Revised by Timothy J. O'Malley, 15-Oct-2026.)
(𝑦 = (𝑓‘𝑥) → (𝜑 ↔ 𝜓))    ⇒   ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑊 ∧ ∀𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 𝜑) → ∃𝑓(𝑓:𝐴⟶𝐵 ∧ ∀𝑥 ∈ 𝐴 𝜓))
 
14-Oct-2026suppvalbr 8183 The value of the operation constructing the support of a function expressed by binary relations. (Contributed by AV, 7-Apr-2019.) (Proof shortened by Sky Winter, 14-Oct-2026.)
((𝑅 ∈ 𝑉 ∧ 𝑍 ∈ 𝑊) → (𝑅 supp 𝑍) = {𝑥 ∣ (∃𝑦 𝑥𝑅𝑦 ∧ ∃𝑦(𝑥𝑅𝑦 ↔ 𝑦 ≠ 𝑍))})
 
13-Oct-2026mirimanoffr 36546 Relative version of mirimanoff 36547 (which corresponds to the case 𝑉 = V).

Note that the definition of 𝑀 presupposes that ω is available as a set (omex 9647), which is equivalent to assuming ax-inf2 9645. (Contributed by Adrian Ducourtial, 13-Oct-2026.)

𝑀 = {𝑥 ∈ 𝑉 ∣ ¬ ∃𝑓(𝑓 Fn ω ∧ (𝑓‘∅) = 𝑥 ∧ ∀𝑛 ∈ ω (𝑓‘suc 𝑛) ∈ (𝑓‘𝑛))}    ⇒   𝑀 ∉ 𝑉
 
11-Oct-2026mirimanoff 36547 Mirimanoff's paradox: The class of grounded sets is not a set. Here, a set 𝑥 is grounded if there is no infinite membership-descending sequence of sets beginning with 𝑥. See Paragraph 1 of [Quine] p. 37 . (Contributed by Adrian Ducourtial, 11-Oct-2026.)
𝑀 = {𝑥 ∣ ¬ ∃𝑓(𝑓 Fn ω ∧ (𝑓‘∅) = 𝑥 ∧ ∀𝑛 ∈ ω (𝑓‘suc 𝑛) ∈ (𝑓‘𝑛))}    ⇒   𝑀 ∉ V
 
10-Oct-2026prelrrx2bd 49919 Equivalent condition for 𝑍 being a point in a real Euclidean space of dimension 2, determined by its coordinates. (Contributed by Thierry Arnoux, 10-Oct-2026.)
𝐼 = (0..^2)    &   𝑃 = (ℝ ↑m 𝐼)    &   (𝜑 → 𝐴 ∈ ℝ)    &   (𝜑 → 𝐵 ∈ ℝ)    ⇒   (𝜑 → (𝑍 = ⟨“𝐴𝐵”⟩ ↔ (𝑍 ∈ 𝑃 ∧ ((𝑍‘0) = 𝐴 ∧ (𝑍‘1) = 𝐵))))
 
10-Oct-2026s2mapd 15046 A doubleton word is a function on the doubleton (0..^2) (which is equal to {0, 1} by fzo0to2pr 13888). See also s3rexrd 15107. (Contributed by Thierry Arnoux, 10-Oct-2026.)
(𝜑 → 𝑆 ∈ 𝑉)    &   (𝜑 → 𝑋 ∈ 𝑆)    &   (𝜑 → 𝑌 ∈ 𝑆)    ⇒   (𝜑 → ⟨“𝑋𝑌”⟩ ∈ (𝑆 ↑m (0..^2)))
 
10-Oct-2026s1mapd 14759 A singleton word is a function on the singleton {0}. See also s2mapd 15046. (Contributed by Thierry Arnoux, 10-Oct-2026.)
(𝜑 → 𝑆 ∈ 𝑉)    &   (𝜑 → 𝑋 ∈ 𝑆)    ⇒   (𝜑 → ⟨“𝑋”⟩ ∈ (𝑆 ↑m {0}))
 
9-Oct-2026mumul 27513 The Möbius function is a multiplicative function. This is one of the primary interests of the Möbius function as an arithmetic function. (Contributed by Mario Carneiro, 3-Oct-2014.) (Proof shortened by Timothy J. O'Malley, 9-Oct-2026.)
((𝐴 ∈ ℕ ∧ 𝐵 ∈ ℕ ∧ (𝐴 gcd 𝐵) = 1) → (μ‘(𝐴 · 𝐵)) = ((μ‘𝐴) · (μ‘𝐵)))
 
9-Oct-2026prmreclem2 17100 Lemma for prmrec 17105. There are at most 2↑𝐾 squarefree numbers which divide no primes larger than 𝐾. (We could strengthen this to 2↑♯(ℙ ∩ (1...𝐾)) but there's no reason to.) We establish the inequality by showing that the prime counts of the number up to 𝐾 completely determine it because all higher prime counts are zero, and they are all at most 1 because no square divides the number, so there are at most 2↑𝐾 possibilities. (Contributed by Mario Carneiro, 5-Aug-2014.) (Proof shortened by Timothy J. O'Malley, 9-Oct-2026.)
𝐹 = (𝑛 ∈ ℕ ↦ if(𝑛 ∈ ℙ, (1 / 𝑛), 0))    &   (𝜑 → 𝐾 ∈ ℕ)    &   (𝜑 → 𝑁 ∈ ℕ)    &   𝑀 = {𝑛 ∈ (1...𝑁) ∣ ∀𝑝 ∈ (ℙ ∖ (1...𝐾)) ¬ 𝑝 ∥ 𝑛}    &   𝑄 = (𝑛 ∈ ℕ ↦ sup({𝑟 ∈ ℕ ∣ (𝑟↑2) ∥ 𝑛}, ℝ, < ))    ⇒   (𝜑 → (♯‘{𝑥 ∈ 𝑀 ∣ (𝑄‘𝑥) = 1}) ≤ (2↑𝐾))
 
9-Oct-2026arisum2 16035 Arithmetic series sum of the first 𝑁 nonnegative integers. (Contributed by Mario Carneiro, 17-Apr-2015.) (Proof shortened by AV, 2-Aug-2021.) (Proof shortened by Timothy J. O'Malley, 9-Oct-2026.)
(𝑁 ∈ ℕ0 → Σ𝑘 ∈ (0...(𝑁 − 1))𝑘 = (((𝑁↑2) − 𝑁) / 2))
 
8-Oct-2026omexcn 43794 The axioms of the complex numbers imply the Axiom of Infinity (in the form of omex 9647): the map of om2uzf1oi 14099 is a one-to-one onto mapping from ω onto a set of integers, so ω is a set. Compare dcomex 10528 and grothomex 10917. Note that our proof depends on neither ax-inf 9642 nor ax-inf2 9645. (Contributed by Timothy J. O'Malley, 8-Oct-2026.)
ω ∈ V
 
8-Oct-2026cnveq0b 6191 A class is empty iff it is a relation whose converse is empty. (Contributed by SN, 8-Oct-2026.)
(𝐴 = ∅ ↔ (Rel 𝐴 ∧ ◡𝐴 = ∅))
 
7-Oct-2026ordunmax 35765 The union of two ordinals is equal to their maximum. (Contributed by BTernaryTau, 7-Oct-2026.)
((Ord 𝐴 ∧ Ord 𝐵) → (𝐴 ∪ 𝐵) = if(𝐴 ⊆ 𝐵, 𝐵, 𝐴))
 
5-Oct-2026dfon2lem1 36637 Lemma for dfon2 36646. (Contributed by Scott Fenton, 28-Feb-2011.) (Proof shortened by SN, 5-Oct-2026.)
Tr ∪ {𝑥 ∣ (𝜑 ∧ Tr 𝑥 ∧ 𝜓)}
 
4-Oct-2026bj-pr0moore 38129 A pair containing the empty set is a Moore collection. (Contributed by BJ, 4-Oct-2026.)
{∅, 𝐴} ∈ Moore
 
2-Oct-2026vsmrep 36009 The universe is a standard model of the strong Axiom Scheme of Replacement. (Contributed by BTernaryTau, 2-Oct-2026.)
V ⊨ Ax-Rep*
 
2-Oct-2026vsmext 36008 The universe is a standard model of the Axiom of Extensionality. (Contributed by BTernaryTau, 2-Oct-2026.)
V ⊨ Ax-Ext
 
2-Oct-2026df-smext 36002 Define the standard model of Extensionality predicate, which is true for a class that is a model of the Axiom of Extensionality under the membership predicate. Our notation is similar to that of df-prv 36197 and df-gzext 36304 (𝑀⊧AxExt), but 𝑀 ⊨ Ax-Ext uses a different double turnstile character and a different format for the axiom name. (Contributed by BTernaryTau, 2-Oct-2026.)
(𝑀 ⊨ Ax-Ext ↔ ∀𝑥 ∈ 𝑀 ∀𝑦 ∈ 𝑀 (∀𝑧 ∈ 𝑀 (𝑧 ∈ 𝑥 ↔ 𝑧 ∈ 𝑦) → 𝑥 = 𝑦))
 
30-Sep-2026cocanss1 46017 Cancellation law for composition. Suggested by BJ. (Contributed by Eric Schmidt, 30-Sep-2026.)
(𝜑 → Fun ◡𝐹)    &   (𝜑 → Rel 𝐻)    &   (𝜑 → ran 𝐻 ⊆ dom 𝐹)    ⇒   (𝜑 → ((𝐹 ∘ 𝐻) ⊆ (𝐹 ∘ 𝐾) ↔ 𝐻 ⊆ 𝐾))
 
30-Sep-2026cocanss2 46015 Cancellation law for composition. Suggested by BJ. (Contributed by Eric Schmidt, 30-Sep-2026.)
(𝜑 → Fun 𝐹)    &   (𝜑 → Rel 𝐻)    &   (𝜑 → dom 𝐻 ⊆ ran 𝐹)    ⇒   (𝜑 → ((𝐻 ∘ 𝐹) ⊆ (𝐾 ∘ 𝐹) ↔ 𝐻 ⊆ 𝐾))
 
30-Sep-2026smrepsrep 36007 Derive the strong version of the Axiom Scheme of Replacement used in wfaxrep 46077 (see comments there) from 𝑀 ⊨ Ax-Rep*. (Contributed by BTernaryTau, 30-Sep-2026.)
(𝑀 ⊨ Ax-Rep* → ∀𝑥 ∈ 𝑀 (∀𝑤 ∈ 𝑀 ∃𝑦 ∈ 𝑀 ∀𝑧 ∈ 𝑀 (∀𝑦𝜑 → 𝑧 = 𝑦) → ∃𝑦 ∈ 𝑀 ∀𝑧 ∈ 𝑀 (𝑧 ∈ 𝑦 ↔ ∃𝑤 ∈ 𝑀 (𝑤 ∈ 𝑥 ∧ ∀𝑦𝜑))))
 
30-Sep-2026srepdf 36006 Derive the strong version of the Axiom Scheme of Replacement used in wfaxrep 46077 (see comments there) from a particular instance of that version of Replacement. Note that this theorem depends on ax-rep 5231, so it does not follow that we could replace ax-rep 5231 with an axiom that lacks a wff metavariable. (Contributed by BTernaryTau, 30-Sep-2026.)
Ⅎ𝑓𝜑    &   Ⅎ𝑤𝜑    &   Ⅎ𝑥𝜑    &   Ⅎ𝑦𝜑    &   Ⅎ𝑧𝜑    &   (𝜑 → ∀𝑥 ∈ 𝑀 (∀𝑤 ∈ 𝑀 ∃𝑦 ∈ 𝑀 ∀𝑧 ∈ 𝑀 (∀𝑦(Fun 𝑓 ∧ 𝑤 ∈ dom 𝑓 ∧ (𝑓‘𝑤) = 𝑧) → 𝑧 = 𝑦) → ∃𝑦 ∈ 𝑀 ∀𝑧 ∈ 𝑀 (𝑧 ∈ 𝑦 ↔ ∃𝑤 ∈ 𝑀 (𝑤 ∈ 𝑥 ∧ ∀𝑦(Fun 𝑓 ∧ 𝑤 ∈ dom 𝑓 ∧ (𝑓‘𝑤) = 𝑧)))))    ⇒   (𝜑 → ∀𝑥 ∈ 𝑀 (∀𝑤 ∈ 𝑀 ∃𝑦 ∈ 𝑀 ∀𝑧 ∈ 𝑀 (∀𝑦𝜓 → 𝑧 = 𝑦) → ∃𝑦 ∈ 𝑀 ∀𝑧 ∈ 𝑀 (𝑧 ∈ 𝑦 ↔ ∃𝑤 ∈ 𝑀 (𝑤 ∈ 𝑥 ∧ ∀𝑦𝜓))))
 
30-Sep-2026srepdflem2 36005 Lemma for srepdf 36006. (Contributed by BTernaryTau, 30-Sep-2026.)
Ⅎ𝑓𝜑    &   Ⅎ𝑤𝜑    &   Ⅎ𝑦𝜑    &   Ⅎ𝑧𝜑    &   (𝜑 → 𝑥 ∈ 𝑀)    &   (𝜑 → (∀𝑤 ∈ 𝑀 ∃𝑦 ∈ 𝑀 ∀𝑧 ∈ 𝑀 (∀𝑦(Fun 𝑓 ∧ 𝑤 ∈ dom 𝑓 ∧ (𝑓‘𝑤) = 𝑧) → 𝑧 = 𝑦) → ∃𝑦 ∈ 𝑀 ∀𝑧 ∈ 𝑀 (𝑧 ∈ 𝑦 ↔ ∃𝑤 ∈ 𝑀 (𝑤 ∈ 𝑥 ∧ ∀𝑦(Fun 𝑓 ∧ 𝑤 ∈ dom 𝑓 ∧ (𝑓‘𝑤) = 𝑧)))))    &   (𝜑 → ∀𝑤 ∈ 𝑀 ∃𝑦 ∈ 𝑀 ∀𝑧 ∈ 𝑀 (∀𝑦𝜓 → 𝑧 = 𝑦))    &   𝐹 = (𝐺 ↾ 𝑥)    &   𝐺 = {⟨𝑤, 𝑧⟩ ∣ (𝑤 ∈ 𝑀 ∧ 𝑧 ∈ 𝑀 ∧ ∀𝑦𝜓)}    ⇒   (𝜑 → ∃𝑦 ∈ 𝑀 ∀𝑧 ∈ 𝑀 (𝑧 ∈ 𝑦 ↔ ∃𝑤 ∈ 𝑀 (𝑤 ∈ 𝑥 ∧ ∀𝑦𝜓)))
 
30-Sep-2026srepdflem1 36004 Lemma for srepdf 36006. (Contributed by BTernaryTau, 30-Sep-2026.)
Ⅎ𝑤𝜑    &   (𝜑 → ∀𝑤 ∈ 𝑀 ∃𝑦 ∈ 𝑀 ∀𝑧 ∈ 𝑀 (∀𝑦𝜓 → 𝑧 = 𝑦))    &   𝐹 = (𝐺 ↾ 𝑥)    &   𝐺 = {⟨𝑤, 𝑧⟩ ∣ (𝑤 ∈ 𝑀 ∧ 𝑧 ∈ 𝑀 ∧ ∀𝑦𝜓)}    ⇒   ((𝜑 ∧ 𝑧 ∈ 𝑀) → (∃𝑤 ∈ 𝑀 (𝑤 ∈ 𝑥 ∧ ∀𝑦𝜓) ↔ ∃𝑤 ∈ 𝑀 (𝑤 ∈ 𝑥 ∧ ∀𝑦(Fun 𝐹 ∧ 𝑤 ∈ dom 𝐹 ∧ (𝐹‘𝑤) = 𝑧))))
 
30-Sep-2026df-smrep 36003 Define the strong Axiom Scheme of Replacement predicate, which is true for a class that is a standard model of the strong version of the Axiom Scheme of Replacement used in wfaxrep 46077 (see comments there). Our notation includes an asterisk because we cannot guarantee that a standard model of the Axiom Scheme of Replacement will also be a standard model of this strong version. However, proving that a class is a standard model of the strong Axiom Scheme of Replacement is sufficient to prove that it is also a standard model of the ZF Axiom Scheme of Replacement.

The exact expression used in wfaxrep 46077 is unsuitable for use in a definition because it contains a wff metavariable that we cannot quantify over. Instead, this definition uses the specific instance where 𝜑 is replaced with (Fun 𝑓 ∧ 𝑤 ∈ dom 𝑓 ∧ (𝑓‘𝑤) = 𝑧). This allows the set 𝑓 to effectively take on the role of the function-like wff, and since 𝑓 is a setvar, we are free to add a universal quantifier over it. The full scheme can then be recovered from this definition using smrepsrep 36007.

This approach works because we can use our ax-rep 5231 to guarantee the existence of a suitable 𝑓 in V for any 𝑥 and function-like 𝜑. Note that 𝑀 is not guaranteed to contain a suitable 𝑓 (since it might not model the necessary axioms), so we must use an unrestricted universal quantifier for 𝑓.

(Contributed by BTernaryTau, 30-Sep-2026.)

(𝑀 ⊨ Ax-Rep* ↔ ∀𝑓∀𝑥 ∈ 𝑀 (∀𝑤 ∈ 𝑀 ∃𝑦 ∈ 𝑀 ∀𝑧 ∈ 𝑀 (∀𝑦(Fun 𝑓 ∧ 𝑤 ∈ dom 𝑓 ∧ (𝑓‘𝑤) = 𝑧) → 𝑧 = 𝑦) → ∃𝑦 ∈ 𝑀 ∀𝑧 ∈ 𝑀 (𝑧 ∈ 𝑦 ↔ ∃𝑤 ∈ 𝑀 (𝑤 ∈ 𝑥 ∧ ∀𝑦(Fun 𝑓 ∧ 𝑤 ∈ dom 𝑓 ∧ (𝑓‘𝑤) = 𝑧)))))
 
29-Sep-2026hfstructcan 46124 Two HFStructs are equal if and only if their converted forms are equal. (Contributed by Eric Schmidt, 29-Sep-2026.)
((𝐹 ∈ HFStruct ∧ 𝐺 ∈ HFStruct) → ((𝐹 ∘ (♯ ↾ ω)) = (𝐺 ∘ (♯ ↾ ω)) ↔ 𝐹 = 𝐺))
 
29-Sep-2026hfstructhf 46123 A converted HFStruct is a hereditarily finite set. (Contributed by Eric Schmidt, 29-Sep-2026.)
(𝐹 ∈ HFStruct → (𝐹 ∘ (♯ ↾ ω)) ∈ HF )
 
29-Sep-2026rnhfstructhf 46122 The range of an HFStruct is a hereditarily finite set. (Contributed by Eric Schmidt, 29-Sep-2026.)
(𝐹 ∈ HFStruct → ran 𝐹 ∈ HF )
 
29-Sep-2026ishfstruct 46121 Conditions that imply that 𝐹 is an HFStruct. (Contributed by Eric Schmidt, 29-Sep-2026.)
((𝐹 Struct 𝑋 ∧ Rel 𝐹 ∧ ran 𝐹 ⊆ HF ) → 𝐹 ∈ HFStruct)
 
29-Sep-2026rnhfstructsshf 46120 The range of an HFStruct consists of hereditarily finite sets. (Contributed by Eric Schmidt, 29-Sep-2026.)
(𝐹 ∈ HFStruct → ran 𝐹 ⊆ HF )
 
29-Sep-2026hfstructfun 46119 An HFStruct is a function. (Contributed by Eric Schmidt, 29-Sep-2026.)
(𝐹 ∈ HFStruct → Fun 𝐹)
 
29-Sep-2026hfstructstruct 46118 An HFStruct is an extensible structure. (Contributed by Eric Schmidt, 29-Sep-2026.)
(𝐹 ∈ HFStruct → ∃𝑥 𝐹 Struct 𝑥)
 
29-Sep-2026df-hfstruct 46117 Define the class of extensible structures whose components are all hereditarily finite. We will call these "HFStructs". Ideally, an HFStruct would itself be a hereditarily finite set, but this is not possible because the domain of a structure is, in the current formulation, a subset of ℕ. To get around this, we adjust the domain to be a subset of ω, obtaining the "converted form" (𝐹 ∘ (♯ ↾ ω)) of an HFStruct 𝐹. This is indeed hereditarily finite by hfstructhf 46123. Also, unlike general extensible structures, we do not allow ∅ to be a member of an HFStruct. This restriction gives us the property that two HFStructs are equal if and only if their converted forms are equal (hfstructcan 46124). (Contributed by Eric Schmidt, 29-Sep-2026.)
HFStruct = (dom Struct ∩ 𝒫 (V × HF ))
 
29-Sep-2026rnstructfi 46021 The range of an extensible structure is finite. (Contributed by Eric Schmidt, 29-Sep-2026.)
(𝐹 Struct 𝑋 → ran 𝐹 ∈ Fin)
 
29-Sep-2026dmstructfi 46020 The domain of an extensible structure is finite. (Contributed by Eric Schmidt, 29-Sep-2026.)
(𝐹 Struct 𝑋 → dom 𝐹 ∈ Fin)
 
29-Sep-2026dmstructnn 46019 The domain of an extensible structure is a subset of ℕ. (Contributed by Eric Schmidt, 29-Sep-2026.)
(𝐹 Struct 𝑋 → dom 𝐹 ⊆ ℕ)
 
29-Sep-2026cocan1g 46018 Cancellation law for composition. A version of cocan1 7299 with weaker hypotheses. (Contributed by Eric Schmidt, 29-Sep-2026.)
(𝜑 → Fun ◡𝐹)    &   (𝜑 → Rel 𝐻)    &   (𝜑 → ran 𝐻 ⊆ dom 𝐹)    &   (𝜑 → Rel 𝐾)    &   (𝜑 → ran 𝐾 ⊆ dom 𝐹)    ⇒   (𝜑 → ((𝐹 ∘ 𝐻) = (𝐹 ∘ 𝐾) ↔ 𝐻 = 𝐾))
 
29-Sep-2026cocan2g 46016 Cancellation law for composition. A version of cocan2 7300 with weaker hypotheses. (Contributed by Eric Schmidt, 29-Sep-2026.)
(𝜑 → Fun 𝐹)    &   (𝜑 → Rel 𝐻)    &   (𝜑 → dom 𝐻 ⊆ ran 𝐹)    &   (𝜑 → Rel 𝐾)    &   (𝜑 → dom 𝐾 ⊆ ran 𝐹)    ⇒   (𝜑 → ((𝐻 ∘ 𝐹) = (𝐾 ∘ 𝐹) ↔ 𝐻 = 𝐾))
 
29-Sep-2026rmo6 35756 Alternate version of rmo2 3833 where 𝑦 has a restricted quantifier. The antecedent ∃𝑧𝑧 ∈ 𝐴 on the right-hand side handles the case where 𝐴 is empty. (Contributed by BTernaryTau, 29-Sep-2026.)
Ⅎ𝑦𝜑    ⇒   (∃*𝑥 ∈ 𝐴 𝜑 ↔ (∃𝑧 𝑧 ∈ 𝐴 → ∃𝑦 ∈ 𝐴 ∀𝑥 ∈ 𝐴 (𝜑 → 𝑥 = 𝑦)))
 
29-Sep-2026reu6f 35755 Version of reu6 3683 with disjoint variable condition replaced by nonfreeness hypothesis. (Contributed by BTernaryTau, 29-Sep-2026.)
Ⅎ𝑦𝜑    ⇒   (∃!𝑥 ∈ 𝐴 𝜑 ↔ ∃𝑦 ∈ 𝐴 ∀𝑥 ∈ 𝐴 (𝜑 ↔ 𝑥 = 𝑦))
 
29-Sep-2026jech9.3 9825 Every set belongs to some stage of the cumulative hierarchy of sets, expressed using an indexed union. Lemma 9.3 of [Jech] p. 71. (Contributed by NM, 4-Oct-2003.) (Revised by Mario Carneiro, 8-Jun-2013.) (Proof shortened by BJ, 29-Sep-2026.)
∪ 𝑥 ∈ On (𝑅1‘𝑥) = V
 
29-Sep-2026rankwflemb 9803 Two ways of expressing that a set is well-founded. (Contributed by NM, 11-Oct-2003.) (Revised by Mario Carneiro, 16-Nov-2014.) (Proof shortened by BJ, 29-Sep-2026.)
(𝐴 ∈ ∪ (𝑅1 “ On) ↔ ∃𝑥 ∈ On 𝐴 ∈ (𝑅1‘suc 𝑥))
 
29-Sep-2026imadifssrn 6201 Condition for the range of a class to be the range of one of its restrictions. (Contributed by AV, 4-Oct-2025.) Remove antecedent. (Revised by Eric Schmidt, 10-Jul-2026.) (Proof shortened by BJ, 29-Sep-2026.)
((𝐹 “ (dom 𝐹 ∖ 𝐴)) ⊆ ran (𝐹 ↾ 𝐴) → ran 𝐹 = ran (𝐹 ↾ 𝐴))
 
29-Sep-2026cnvimarndm 6079 The preimage of the range of a class is equal to the domain of the class. (Contributed by Jeff Hankins, 15-Jul-2009.) (Proof shortened by BJ, 29-Sep-2026.)
(◡𝐴 “ ran 𝐴) = dom 𝐴
 
29-Sep-2026cnvimassrndm 6078 The preimage of a superset of the range of a class is equal to the domain of the class. Generalization of cnvimarndm 6079 to supersets of the range. (Contributed by AV, 18-Sep-2024.) (Proof shortened by BJ, 29-Sep-2026.)
(ran 𝐹 ⊆ 𝐴 → (◡𝐹 “ 𝐴) = dom 𝐹)
 
28-Sep-2026fwfffunres 35764 If 𝜓 is function-like over 𝐴, then 𝐹 matches its behavior over 𝑥. (Contributed by BTernaryTau, 28-Sep-2026.)
Ⅎ𝑦𝜓    &   (𝜑 → ∀𝑤 ∈ 𝐴 ∃𝑦∀𝑧 ∈ 𝐴 (𝜓 → 𝑧 = 𝑦))    &   𝐹 = ({⟨𝑤, 𝑧⟩ ∣ (𝑤 ∈ 𝐴 ∧ 𝑧 ∈ 𝐴 ∧ 𝜓)} ↾ 𝑥)    ⇒   (𝜑 → ((𝑧 ∈ 𝐴 ∧ (𝑤 ∈ 𝐴 ∧ 𝑤 ∈ 𝑥 ∧ 𝜓)) ↔ (𝑤 ∈ dom 𝐹 ∧ (𝐹‘𝑤) = 𝑧)))
 
28-Sep-2026fwfffun 35763 If 𝜓 is function-like over 𝐴, then 𝐹 matches its behavior. (Contributed by BTernaryTau, 28-Sep-2026.)
Ⅎ𝑦𝜓    &   (𝜑 → ∀𝑥 ∈ 𝐴 ∃𝑦∀𝑧 ∈ 𝐴 (𝜓 → 𝑧 = 𝑦))    &   𝐹 = {⟨𝑥, 𝑧⟩ ∣ (𝑥 ∈ 𝐴 ∧ 𝑧 ∈ 𝐴 ∧ 𝜓)}    ⇒   (𝜑 → ((𝑥 ∈ 𝐴 ∧ 𝑧 ∈ 𝐴 ∧ 𝜓) ↔ (𝑥 ∈ dom 𝐹 ∧ (𝐹‘𝑥) = 𝑧)))
 
28-Sep-2026mpt3fvot2d 7690 Value of a three-argument function in maps-to notation at an ordered triple. (Contributed by BTernaryTau, 28-Sep-2026.)
(𝜑 → 𝑅 ∈ 𝐴)    &   (𝜑 → 𝑆 ∈ 𝐵)    &   (𝜑 → 𝑇 ∈ 𝐶)    &   (𝜑 → 𝑀 ∈ 𝑉)    &   ((𝜑 ∧ 𝑅 = 𝑥) → 𝐾 = 𝐷)    &   ((𝜑 ∧ 𝑆 = 𝑦) → 𝐿 = 𝐾)    &   ((𝜑 ∧ 𝑇 = 𝑧) → 𝑀 = 𝐿)    &   𝐹 = (𝑥 ∈ 𝐴, 𝑦 ∈ 𝐵, 𝑧 ∈ 𝐶 ↦ 𝐷)    ⇒   (𝜑 → (𝐹‘⟨𝑅, 𝑆, 𝑇⟩) = 𝑀)
 
28-Sep-2026mpt3fvotd 7689 Value of a three-argument function in maps-to notation at an ordered triple. (Contributed by BTernaryTau, 28-Sep-2026.)
(𝜑 → 𝑅 ∈ 𝐴)    &   (𝜑 → 𝑆 ∈ 𝐵)    &   (𝜑 → 𝑇 ∈ 𝐶)    &   (𝜑 → 𝑌 ∈ 𝑉)    &   ((𝜑 ∧ ⟨𝑅, 𝑆, 𝑇⟩ = ⟨𝑥, 𝑦, 𝑧⟩) → 𝑌 = 𝐷)    &   𝐹 = (𝑥 ∈ 𝐴, 𝑦 ∈ 𝐵, 𝑧 ∈ 𝐶 ↦ 𝐷)    ⇒   (𝜑 → (𝐹‘⟨𝑅, 𝑆, 𝑇⟩) = 𝑌)
 
28-Sep-2026mpt3fvd 7688 Value of a three-argument function in maps-to notation. (Contributed by BTernaryTau, 28-Sep-2026.)
(𝜑 → 𝑋 ∈ ((𝐴 × 𝐵) × 𝐶))    &   (𝜑 → 𝑌 ∈ 𝑉)    &   ((𝜑 ∧ 𝑋 = ⟨𝑥, 𝑦, 𝑧⟩) → 𝑌 = 𝐷)    &   𝐹 = (𝑥 ∈ 𝐴, 𝑦 ∈ 𝐵, 𝑧 ∈ 𝐶 ↦ 𝐷)    ⇒   (𝜑 → (𝐹‘𝑋) = 𝑌)
 
27-Sep-2026elhf 9910 Membership in the hereditarily finite sets. (Contributed by Scott Fenton, 9-Jul-2015.) Reduce axiom usage and shorten proof. (Revised by BJ, 27-Sep-2026.)
(𝐴 ∈ HF ↔ ∃𝑥 ∈ ω 𝐴 ∈ (𝑅1‘𝑥))
 
27-Sep-2026rnr1 9777 The range of the cumulative hierarchy of sets function. This is the class of all stages of the cumulative hierarchy of sets, not the class of all sets in some stage of the cumulative hierarchy (that is ∪ ran 𝑅1).

This statement does not require the axiom of replacement by avoiding using r1fnon 9776. (Contributed by BJ, 27-Sep-2026.)

ran 𝑅1 = (𝑅1 “ On)
 
27-Sep-2026r1dmlim 9775 The domain of the cumulative hierarchy of sets function is a limit ordinal. This weak form of r1fnon 9776 avoids ax-rep 5231. (Contributed by Mario Carneiro, 16-Nov-2014.) Extract this statement from its conjunction with r1fun 9774. (Revised by BJ, 27-Sep-2026.)
Lim dom 𝑅1
 
27-Sep-2026r1fun 9774 The cumulative hierarchy of sets function is a function. (Contributed by Mario Carneiro, 16-Nov-2014.) Extract this statement from its conjunction with r1dmlim 9775. (Revised by BJ, 27-Sep-2026.)
Fun 𝑅1
 
27-Sep-2026imassrn 6197 Any image by a class is included in the range of the class. Theorem 3.16(xi) of [Monk1] p. 39. (Contributed by NM, 31-Mar-1995.) (Proof shortened by BJ, 27-Sep-2026.)
(𝐴 “ 𝐵) ⊆ ran 𝐴
 
27-Sep-2026imadmrn 6066 The image of the domain of a class is equal to its range. (Contributed by NM, 14-Aug-1994.) (Proof shortened by BJ, 27-Sep-2026.)
(𝐴 “ dom 𝐴) = ran 𝐴
 
27-Sep-2026dfrn7 6065 The range is equal to the image of any class including the domain. (Contributed by BJ, 27-Sep-2026.)
(dom 𝐴 ⊆ 𝐵 → ran 𝐴 = (𝐴 “ 𝐵))
 
26-Sep-2026omsshf 46115 The class of finite ordinals is included in the class of hereditarily finite sets. (Contributed by Eric Schmidt, 26-Sep-2026.)
ω ⊆ HF
 
26-Sep-2026omhf 46114 Finite ordinals are hereditarily finite sets. (Contributed by Eric Schmidt, 26-Sep-2026.)
(𝐴 ∈ ω → 𝐴 ∈ HF )
 
26-Sep-2026hfrel 46113 A relation is a hereditarily finite set iff its domain and range are. (Contributed by Eric Schmidt, 26-Sep-2026.)
(Rel 𝑅 → (𝑅 ∈ HF ↔ (dom 𝑅 ∈ HF ∧ ran 𝑅 ∈ HF )))
 
26-Sep-2026hfrn 46112 The range of a hereditarily finite set is hereditarily finite. (Contributed by Eric Schmidt, 26-Sep-2026.)
(𝐴 ∈ HF → ran 𝐴 ∈ HF )
 
26-Sep-2026hfdm 46111 The domain of a hereditarily finite set is hereditarily finite. (Contributed by Eric Schmidt, 26-Sep-2026.)
(𝐴 ∈ HF → dom 𝐴 ∈ HF )
 
26-Sep-2026hfxp 46110 The Cartesian product of two hereditarily finite sets is a hereditarily finite set. (Contributed by Eric Schmidt, 26-Sep-2026.)
((𝐴 ∈ HF ∧ 𝐵 ∈ HF ) → (𝐴 × 𝐵) ∈ HF )
 
26-Sep-2026hfpr 46109 A pair whose members are hereditarily finite sets is a hereditarily finite set. (Contributed by Eric Schmidt, 26-Sep-2026.)
((𝐴 ∈ HF ∧ 𝐵 ∈ HF ) → {𝐴, 𝐵} ∈ HF )
 
25-Sep-2026gblacfnac2d 35949 If 𝐺 is a global choice function, then the Axiom of Choice holds. This is gblacfnacd 35948 expressed using CHOICE. (Contributed by BTernaryTau, 25-Sep-2026.)
(𝜑 → 𝐺 Fn V)    &   (𝜑 → ∀𝑧(𝑧 ≠ ∅ → (𝐺‘𝑧) ∈ 𝑧))    ⇒   (𝜑 → CHOICE)
 
25-Sep-2026j0ltaleph 35947 The value of 𝐽0 is less than an aleph if its two arguments are less than that aleph. Proposition 15.1(2) of [TakeutiZaring] p. 154. (Contributed by BTernaryTau, 25-Sep-2026.)
((𝐴 ∈ (ℵ‘𝐶) ∧ 𝐵 ∈ (ℵ‘𝐶)) → (𝐽0‘⟨𝐴, 𝐵⟩) ∈ (ℵ‘𝐶))
 
25-Sep-2026j0ltalephlem 35946 Lemma for j0ltaleph 35947. (Contributed by BTernaryTau, 25-Sep-2026.)
((𝐴 ∈ On ∧ 𝐵 ∈ On) → (𝐽0‘⟨𝐴, 𝐵⟩) ≼ (suc (𝐴 ∪ 𝐵) × suc (𝐴 ∪ 𝐵)))
 
24-Sep-2026prjspnnorm 43754 In a free module, two nonzero vectors are equivalent iff they have the same normalized representative. (Contributed by SN, 24-Sep-2026.)
∼ = {⟨𝑥, 𝑦⟩ ∣ ((𝑥 ∈ 𝐵 ∧ 𝑦 ∈ 𝐵) ∧ ∃𝑙 ∈ 𝑆 𝑥 = (𝑙 · 𝑦))}    &   𝐽 = (𝑏 ∈ 𝐵 ↦ inf({𝑖 ∈ (0...𝑁) ∣ (𝑏‘𝑖) ≠ (0g‘𝐾)}, ℝ, < ))    &   𝐹 = (𝑣 ∈ 𝐵 ↦ ((𝐼‘(𝑣‘(𝐽‘𝑣))) · 𝑣))    &   𝑊 = (𝐾 freeLMod (0...𝑁))    &   𝐵 = ((Base‘𝑊) ∖ {(0g‘𝑊)})    &   𝑆 = (Base‘𝐾)    &   𝐼 = (invr‘𝐾)    &    · = ( ·𝑠 ‘𝑊)    &   (𝜑 → 𝐾 ∈ DivRing)    &   (𝜑 → 𝑁 ∈ ℕ0)    &   (𝜑 → 𝑋 ∈ 𝐵)    &   (𝜑 → 𝑌 ∈ 𝐵)    ⇒   (𝜑 → (𝑋 ∼ 𝑌 ↔ (𝐹‘𝑋) = (𝐹‘𝑌)))
 
24-Sep-2026prjspnequivnorm 43753 In a free module, a nonzero vector is equivalent to its normalized vector. (Contributed by SN, 24-Sep-2026.)
∼ = {⟨𝑥, 𝑦⟩ ∣ ((𝑥 ∈ 𝐵 ∧ 𝑦 ∈ 𝐵) ∧ ∃𝑙 ∈ 𝑆 𝑥 = (𝑙 · 𝑦))}    &   𝐽 = (𝑏 ∈ 𝐵 ↦ inf({𝑖 ∈ (0...𝑁) ∣ (𝑏‘𝑖) ≠ (0g‘𝐾)}, ℝ, < ))    &   𝐹 = (𝑣 ∈ 𝐵 ↦ ((𝐼‘(𝑣‘(𝐽‘𝑣))) · 𝑣))    &   𝑊 = (𝐾 freeLMod (0...𝑁))    &   𝐵 = ((Base‘𝑊) ∖ {(0g‘𝑊)})    &   𝑆 = (Base‘𝐾)    &   𝐼 = (invr‘𝐾)    &    · = ( ·𝑠 ‘𝑊)    &   (𝜑 → 𝐾 ∈ DivRing)    &   (𝜑 → 𝑁 ∈ ℕ0)    &   (𝜑 → 𝑋 ∈ 𝐵)    ⇒   (𝜑 → 𝑋 ∼ (𝐹‘𝑋))
 
24-Sep-2026prjspnnormval 43752 Value of 𝐹, a function that 'normalizes' a vector 𝑉 by scaling the first nonzero coordinate to 1. (Contributed by SN, 24-Sep-2026.)
𝐹 = (𝑣 ∈ 𝐵 ↦ ((𝐼‘(𝑣‘(𝐽‘𝑣))) · 𝑣))    &   (𝜑 → 𝑉 ∈ 𝐵)    ⇒   (𝜑 → (𝐹‘𝑉) = ((𝐼‘(𝑉‘(𝐽‘𝑉))) · 𝑉))
 
24-Sep-2026frlmnzcoordsca 43751 In a free module, scaling a vector does not change the index of its first nonzero coordinate. (Contributed by SN, 24-Sep-2026.)
𝐽 = (𝑏 ∈ 𝐵 ↦ inf({𝑖 ∈ (0...𝑁) ∣ (𝑏‘𝑖) ≠ (0g‘𝐾)}, ℝ, < ))    &   𝑊 = (𝐾 freeLMod (0...𝑁))    &   𝐵 = ((Base‘𝑊) ∖ {(0g‘𝑊)})    &    · = ( ·𝑠 ‘𝑊)    &    0 = (0g‘𝐾)    &   𝑆 = (Base‘𝐾)    &   (𝜑 → 𝐾 ∈ DivRing)    &   (𝜑 → 𝑁 ∈ ℕ0)    &   (𝜑 → 𝑉 ∈ 𝐵)    &   (𝜑 → 𝐶 ∈ 𝑆)    &   (𝜑 → 𝐶 ≠ 0 )    ⇒   (𝜑 → (𝐽‘(𝐶 · 𝑉)) = (𝐽‘𝑉))
 
24-Sep-2026frlmnzcoordcl2 43749 The first nonzero coordinate is a scalar. (Contributed by SN, 24-Sep-2026.)
𝐽 = (𝑏 ∈ 𝐵 ↦ inf({𝑖 ∈ (0...𝑁) ∣ (𝑏‘𝑖) ≠ (0g‘𝐾)}, ℝ, < ))    &   𝑊 = (𝐾 freeLMod (0...𝑁))    &   𝐵 = ((Base‘𝑊) ∖ {(0g‘𝑊)})    &   (𝜑 → 𝐾 ∈ Ring)    &   (𝜑 → 𝑁 ∈ ℕ0)    &   (𝜑 → 𝑉 ∈ 𝐵)    &   𝑆 = (Base‘𝐾)    ⇒   (𝜑 → (𝑉‘(𝐽‘𝑉)) ∈ 𝑆)
 
24-Sep-2026lmodvsassd 43684 In a module, scalar multiplication is a semigroup action. (Contributed by SN, 24-Sep-2026.)
𝑉 = (Base‘𝑊)    &   𝐹 = (Scalar‘𝑊)    &    · = ( ·𝑠 ‘𝑊)    &   𝐾 = (Base‘𝐹)    &    × = (.r‘𝐹)    &   (𝜑 → 𝑊 ∈ LMod)    &   (𝜑 → 𝑄 ∈ 𝐾)    &   (𝜑 → 𝑅 ∈ 𝐾)    &   (𝜑 → 𝑋 ∈ 𝑉)    ⇒   (𝜑 → ((𝑄 × 𝑅) · 𝑋) = (𝑄 · (𝑅 · 𝑋)))
 
24-Sep-2026lmodvs0d 43683 A scalar times the zero vector is the zero vector. (Contributed by SN, 24-Sep-2026.)
𝐹 = (Scalar‘𝑊)    &   𝐾 = (Base‘𝐹)    &    · = ( ·𝑠 ‘𝑊)    &    0 = (0g‘𝑊)    &   (𝜑 → 𝑊 ∈ LMod)    &   (𝜑 → 𝑋 ∈ 𝐾)    ⇒   (𝜑 → (𝑋 · 0 ) = 0 )
 
24-Sep-2026lmod0vsd 43682 Zero times a vector is the zero vector. (Contributed by SN, 24-Sep-2026.)
𝑉 = (Base‘𝑊)    &   𝐹 = (Scalar‘𝑊)    &    · = ( ·𝑠 ‘𝑊)    &   𝑂 = (0g‘𝐹)    &    0 = (0g‘𝑊)    &   (𝜑 → 𝑊 ∈ LMod)    &   (𝜑 → 𝑋 ∈ 𝑉)    ⇒   (𝜑 → (𝑂 · 𝑋) = 0 )
 
24-Sep-2026frlmvscl 43659 Closure of scalar multiplication in a free module. (Contributed by SN, 24-Sep-2026.)
𝐹 = (𝑅 freeLMod 𝐼)    &   𝐵 = (Base‘𝐹)    &   𝐾 = (Base‘𝑅)    &    · = ( ·𝑠 ‘𝐹)    &   (𝜑 → 𝑅 ∈ Ring)    &   (𝜑 → 𝐴 ∈ 𝐾)    &   (𝜑 → 𝑋 ∈ 𝐵)    ⇒   (𝜑 → (𝐴 · 𝑋) ∈ 𝐵)
 
24-Sep-2026reldmfrlm 43657 The domain of the free module function is a relation. (Contributed by SN, 24-Sep-2026.)
Rel dom freeLMod
 
24-Sep-2026hftsk 10867 The set of hereditarily finite sets is a Tarski class. (The Tarski-Grothendieck Axiom is not needed for this theorem.) (Contributed by Mario Carneiro, 28-May-2013.) Restate using the defined HF symbol. (Revised by Eric Schmidt, 24-Sep-2026.)
HF ∈ Tarski
 
24-Sep-2026hfomALT 10864 Alternate proof of hfom 10324, shorter as a consequence of inar1 10863, but requiring AC. (Contributed by Mario Carneiro, 27-May-2013.) Restate using the defined HF symbol. (Revised by Eric Schmidt, 24-Sep-2026.) (Proof modification is discouraged.) (New usage is discouraged.)
HF ≈ ω
 
24-Sep-2026tskhf 10856 A nonempty Tarski class contains the whole finite cumulative hierarchy. (This proof does not use ax-inf 9642.) (Contributed by NM, 22-Feb-2011.) Restate using the defined HF symbol. (Revised by Eric Schmidt, 24-Sep-2026.)
((𝑇 ∈ Tarski ∧ 𝑇 ≠ ∅) → HF ⊆ 𝑇)
 
24-Sep-2026hfom 10324 The set of hereditarily finite sets is countable. See ackbij2 10323 for an explicit bijection that works without Infinity. See also hfomALT 10864. (Contributed by Stefan O'Rear, 18-Nov-2014.) Restate using the defined HF symbol. (Revised by Eric Schmidt, 24-Sep-2026.)
HF ≈ ω
 
24-Sep-2026ackbij2 10323 The Ackermann bijection, part 2: hereditarily finite sets can be represented by recursive binary notation. (Contributed by Stefan O'Rear, 18-Nov-2014.) Restate using the defined HF symbol. (Revised by Eric Schmidt, 24-Sep-2026.)
𝐹 = (𝑥 ∈ (𝒫 ω ∩ Fin) ↦ (card‘∪ 𝑦 ∈ 𝑥 ({𝑦} × 𝒫 𝑦)))    &   𝐺 = (𝑥 ∈ V ↦ (𝑦 ∈ 𝒫 dom 𝑥 ↦ (𝐹‘(𝑥 “ 𝑦))))    &   𝐻 = ∪ (rec(𝐺, ∅) “ ω)    ⇒   𝐻: HF –1-1-onto→ω
 
24-Sep-2026dfhf2 9909 Alternate definition of the class of hereditarily finite sets as the value of the cumulative hierarchy of sets function at ω. This characterization is simpler but requires the axiom of infinity to hold. (Contributed by BTernaryTau, 25-Jan-2026.) Restate using the defined HF symbol. (Revised by Eric Schmidt, 24-Sep-2026.)
HF = (𝑅1‘ω)
 
23-Sep-2026frlmnzcoordn0 43750 The function 𝐽 gives a nonzero coordinate. (Contributed by SN, 23-Sep-2026.)
𝐽 = (𝑏 ∈ 𝐵 ↦ inf({𝑖 ∈ (0...𝑁) ∣ (𝑏‘𝑖) ≠ (0g‘𝐾)}, ℝ, < ))    &   𝑊 = (𝐾 freeLMod (0...𝑁))    &   𝐵 = ((Base‘𝑊) ∖ {(0g‘𝑊)})    &   (𝜑 → 𝐾 ∈ Ring)    &   (𝜑 → 𝑁 ∈ ℕ0)    &   (𝜑 → 𝑉 ∈ 𝐵)    ⇒   (𝜑 → (𝑉‘(𝐽‘𝑉)) ≠ (0g‘𝐾))
 
23-Sep-2026frlmnzcoordcl 43748 Closure of the first nonzero coordinate function 𝐽. (Contributed by SN, 23-Sep-2026.)
𝐽 = (𝑏 ∈ 𝐵 ↦ inf({𝑖 ∈ (0...𝑁) ∣ (𝑏‘𝑖) ≠ (0g‘𝐾)}, ℝ, < ))    &   𝑊 = (𝐾 freeLMod (0...𝑁))    &   𝐵 = ((Base‘𝑊) ∖ {(0g‘𝑊)})    &   (𝜑 → 𝐾 ∈ Ring)    &   (𝜑 → 𝑁 ∈ ℕ0)    &   (𝜑 → 𝑉 ∈ 𝐵)    ⇒   (𝜑 → (𝐽‘𝑉) ∈ (0...𝑁))
 
23-Sep-2026frlmnzcoordinf 43747 The result (𝐽‘𝑉) is the smallest index corresponding to a nonzero coordinate. (Contributed by SN, 23-Sep-2026.)
𝐽 = (𝑏 ∈ 𝐵 ↦ inf({𝑖 ∈ (0...𝑁) ∣ (𝑏‘𝑖) ≠ (0g‘𝐾)}, ℝ, < ))    &   (𝜑 → 𝑉 ∈ 𝐵)    ⇒   ((𝜑 ∧ 𝐼 ∈ {𝑖 ∈ (0...𝑁) ∣ (𝑉‘𝑖) ≠ (0g‘𝐾)}) → (𝐽‘𝑉) ≤ 𝐼)
 
23-Sep-2026frlmnzcoordval 43746 Value of 𝐽, a function that returns the index of the first nonzero coordinate of 𝑉. (Contributed by SN, 23-Sep-2026.)
𝐽 = (𝑏 ∈ 𝐵 ↦ inf({𝑖 ∈ (0...𝑁) ∣ (𝑏‘𝑖) ≠ (0g‘𝐾)}, ℝ, < ))    &   (𝜑 → 𝑉 ∈ 𝐵)    ⇒   (𝜑 → (𝐽‘𝑉) = inf({𝑖 ∈ (0...𝑁) ∣ (𝑉‘𝑖) ≠ (0g‘𝐾)}, ℝ, < ))
 
23-Sep-2026frlmnzcoordex 43745 Every nonzero vector of a free module has a nonzero coordinate. (Contributed by SN, 23-Sep-2026.)
𝑊 = (𝐾 freeLMod (0...𝑁))    &   𝐵 = ((Base‘𝑊) ∖ {(0g‘𝑊)})    &   (𝜑 → 𝐾 ∈ Ring)    &   (𝜑 → 𝑁 ∈ ℕ0)    &   (𝜑 → 𝑉 ∈ 𝐵)    ⇒   (𝜑 → {𝑖 ∈ (0...𝑁) ∣ (𝑉‘𝑖) ≠ (0g‘𝐾)} ≠ ∅)
 
23-Sep-2026elprjspnss 43743 A point of a projective space is a subset of the corresponding free module (an equivalence class of nonzero vectors of that module). (Contributed by SN, 23-Sep-2026.)
𝑃 = (𝑁 ℙrojn 𝐾)    &   𝑊 = (𝐾 freeLMod (0...𝑁))    &   𝐵 = ((Base‘𝑊) ∖ {(0g‘𝑊)})    &   (𝜑 → 𝑁 ∈ ℕ0)    &   (𝜑 → 𝐾 ∈ DivRing)    &   (𝜑 → 𝐴 ∈ 𝑃)    ⇒   (𝜑 → 𝐴 ⊆ 𝐵)
 
23-Sep-2026frlmbasfn 43658 Elements of the free module are functions. (They map an index to the coordinate at that index, see frlmbasf 22071). (Contributed by SN, 23-Sep-2026.)
𝐹 = (𝑅 freeLMod 𝐼)    &   𝐵 = (Base‘𝐹)    &   (𝜑 → 𝐼 ∈ 𝑊)    &   (𝜑 → 𝑋 ∈ 𝐵)    ⇒   (𝜑 → 𝑋 Fn 𝐼)
 
22-Sep-2026maxssj0 35945 The value of 𝐽0 is at least the maximum of its two arguments. Proposition 15.1(1) of [TakeutiZaring] p. 154. (Contributed by BTernaryTau, 22-Sep-2026.)
((𝐴 ∈ On ∧ 𝐵 ∈ On) → (𝐴 ∪ 𝐵) ⊆ (𝐽0‘⟨𝐴, 𝐵⟩))
 
22-Sep-2026r0maxss 35942 If two ordered pairs are related by 𝑅0, then the maximum of the first pair is less than or equal to the maximum of the second pair. (The union of two ordinals is proven to be their maximum in ordunmax 35765.) (Contributed by BTernaryTau, 22-Sep-2026.)
(𝜑 → 𝐴 ∈ On)    &   (𝜑 → 𝐵 ∈ On)    &   (𝜑 → 𝐶 ∈ On)    &   (𝜑 → 𝐷 ∈ On)    &   (𝜑 → ⟨𝐴, 𝐵⟩𝑅0⟨𝐶, 𝐷⟩)    ⇒   (𝜑 → (𝐴 ∪ 𝐵) ⊆ (𝐶 ∪ 𝐷))
 
22-Sep-2026dmr0ss 35941 The domain of 𝑅0 is a subset of On × On. (Contributed by BTernaryTau, 22-Sep-2026.)
dom 𝑅0 ⊆ (On × On)
 
20-Sep-2026brlexod 35938 Condition for two ordered pairs to be related by LexOrd. (Contributed by BTernaryTau, 20-Sep-2026.)
(𝜑 → 𝐴 ∈ On)    &   (𝜑 → 𝐵 ∈ On)    &   (𝜑 → 𝐶 ∈ On)    &   (𝜑 → 𝐷 ∈ On)    ⇒   (𝜑 → (⟨𝐴, 𝐵⟩LexOrd⟨𝐶, 𝐷⟩ ↔ (𝐴 ∈ 𝐶 ∨ (𝐴 = 𝐶 ∧ 𝐵 ∈ 𝐷))))
 
19-Sep-2026j00smo 35944 𝐽0 is strictly monotonic over its second argument when its first argument is zero. (Contributed by BTernaryTau, 19-Sep-2026.)
𝐹 = (𝑥 ∈ On ↦ (𝐽0‘⟨∅, 𝑥⟩))    ⇒   Smo 𝐹
 
19-Sep-2026j0iso 35943 𝐽0 is the 𝑅0 order isomorphism of On × On onto On. Definition 7.59 of [TakeutiZaring] p. 55. This isomorphism is unique by weisoeq 7365 and r0weseon 35939. (Contributed by BTernaryTau, 19-Sep-2026.)
𝐽0 Isom 𝑅0, E ((On × On), On)
 
19-Sep-2026brr0d 35940 Condition for two ordered pairs to be related by 𝑅0. (Contributed by BTernaryTau, 19-Sep-2026.)
(𝜑 → 𝐴 ∈ On)    &   (𝜑 → 𝐵 ∈ On)    &   (𝜑 → 𝐶 ∈ On)    &   (𝜑 → 𝐷 ∈ On)    ⇒   (𝜑 → (⟨𝐴, 𝐵⟩𝑅0⟨𝐶, 𝐷⟩ ↔ ((𝐴 ∪ 𝐵) ∈ (𝐶 ∪ 𝐷) ∨ ((𝐴 ∪ 𝐵) = (𝐶 ∪ 𝐷) ∧ ⟨𝐴, 𝐵⟩LexOrd⟨𝐶, 𝐷⟩))))
 
19-Sep-2026r0weseon 35939 𝑅0 is a set-like well-ordering of On × On. Part of Proposition 7.58 of [TakeutiZaring] p. 54. This theorem is r0weon 10094 expressed using 𝑅0. (Contributed by BTernaryTau, 19-Sep-2026.)
(𝑅0 We (On × On) ∧ 𝑅0 Se (On × On))
 
19-Sep-2026lexoweon 35937 Lexicographical order is a well-ordering of On × On. Part of Proposition 7.56(1) of [TakeutiZaring] p. 54. Unlike 𝑅0, this order is not set-like, as the preimage of ⟨1o, ∅⟩ is the proper class ({∅} × On). This theorem is leweon 10093 expressed using LexOrd. (Contributed by BTernaryTau, 19-Sep-2026.)
LexOrd We (On × On)
 
18-Sep-2026wevsev 35960 If 𝑅 is a well-ordering of the universe, then 𝑆 is a set-like well-ordering of the universe. This is the ZFC version of (3 → 4) in https://tinyurl.com/hamkins-gblac. (Contributed by BTernaryTau, 18-Sep-2026.)
𝑆 = {⟨𝑥, 𝑦⟩ ∣ ((rank‘𝑥) ∈ (rank‘𝑦) ∨ ((rank‘𝑥) = (rank‘𝑦) ∧ 𝑥𝑅𝑦))}    ⇒   (𝑅 We V → (𝑆 We V ∧ 𝑆 Se V))
 
18-Sep-2026rankse 35793 Construct a relation that is set-like on any class. (Contributed by BTernaryTau, 18-Sep-2026.)
𝑆 = {⟨𝑥, 𝑦⟩ ∣ ((rank‘𝑥) ∈ (rank‘𝑦) ∨ ((rank‘𝑥) = (rank‘𝑦) ∧ 𝜑))}    ⇒   𝑆 Se 𝐴
 
18-Sep-2026werankwe2 35792 Construct a well-order given a relation that well-orders elements of the same rank. See werankwe 35791 for a version where 𝑅 can depend on 𝑤. (Contributed by BTernaryTau, 18-Sep-2026.)
𝑆 = {⟨𝑥, 𝑦⟩ ∣ ((rank‘𝑥) ∈ (rank‘𝑦) ∨ ((rank‘𝑥) = (rank‘𝑦) ∧ 𝑥𝑅𝑦))}    ⇒   (∀𝑤 ∈ 𝐴 𝑅 We {𝑧 ∈ 𝐴 ∣ (rank‘𝑧) = (rank‘𝑤)} → 𝑆 We 𝐴)
 
17-Sep-2026fuconuniqvals 50877 At the same natural-transformation/identity input, the canonical and alternative morphism maps give respectively ∅ and 1o at the unique source object ∅. (Contributed by Zhi Wang, 14-Sep-2026.) (Revised by Zhi Wang, 17-Sep-2026.)
𝐶 = (SetCat‘1o)    &   𝐸 = {⟨(Base‘ndx), 2o⟩, ⟨(Hom ‘ndx), (𝑚 ∈ 2o, 𝑛 ∈ 2o ↦ if(𝑚 = 𝑛, {2o}, if((𝑚 = ∅ ∧ 𝑛 = 1o), 2o, ∅)))⟩, ⟨(comp‘ndx), (𝑝 ∈ (2o × 2o), 𝑞 ∈ 2o ↦ (𝑟 ∈ 3o, 𝑠 ∈ 3o ↦ (𝑟 ∩ 𝑠)))⟩}    &   𝑄 = (𝐶 FuncCat 𝐸)    &   𝐿 = (⟨𝐶, 𝐶⟩ ∘F 𝐸)    &   𝐴 = (𝑏 ∈ 3o ↦ if(𝑏 = 2o, 2o, if(𝑏 = ∅, 1o, ∅)))    &   𝑀 = (𝑢 ∈ 2o, 𝑣 ∈ 2o ↦ (𝑎 ∈ (𝑢(𝑚 ∈ 2o, 𝑛 ∈ 2o ↦ if(𝑚 = 𝑛, {2o}, if((𝑚 = ∅ ∧ 𝑛 = 1o), 2o, ∅)))𝑣) ↦ (𝐴‘𝑎)))    &   𝑆 = ⟨( I ↾ 2o), 𝑀⟩    &   𝑅 = (𝐸 FuncCat 𝐸)    &    ⚬ = (⟨𝑅, 𝑄⟩ curryF (⟨𝐶, 𝐸⟩ ∘F 𝐸))    &   𝐾 = ((1st ‘ ⚬ )‘𝑆)    &   𝐷 = (𝐸Δfunc𝐶)    &   𝐹 = ((1st ‘𝐷)‘∅)    &   𝐺 = ((1st ‘𝐷)‘1o)    &   𝑁 = (1o × {∅})    ⇒   (((𝑁(⟨𝐹, (idfunc‘𝐶)⟩(2nd ‘𝐿)⟨𝐺, (idfunc‘𝐶)⟩)((Id‘(𝐶 FuncCat 𝐶))‘(idfunc‘𝐶)))‘∅) = ∅ ∧ ((𝑁(⟨𝐹, (idfunc‘𝐶)⟩(2nd ‘(𝐾 ∘func 𝐿))⟨𝐺, (idfunc‘𝐶)⟩)((Id‘(𝐶 FuncCat 𝐶))‘(idfunc‘𝐶)))‘∅) = 1o)
 
17-Sep-2026fuconuniq 50875 The arrow map 𝐴 fixes the identity arrow 2o and exchanges the two nonidentity parallel arrows ∅ and 1o. It gives a concrete alternative to functor composition with the same object function and a different morphism function. All hypotheses name explicit constructed sets; no category or functor existence is assumed. (Contributed by Zhi Wang, 14-Sep-2026.) (Revised by Zhi Wang, 17-Sep-2026.)
𝐶 = (SetCat‘1o)    &   𝐸 = {⟨(Base‘ndx), 2o⟩, ⟨(Hom ‘ndx), (𝑚 ∈ 2o, 𝑛 ∈ 2o ↦ if(𝑚 = 𝑛, {2o}, if((𝑚 = ∅ ∧ 𝑛 = 1o), 2o, ∅)))⟩, ⟨(comp‘ndx), (𝑝 ∈ (2o × 2o), 𝑞 ∈ 2o ↦ (𝑟 ∈ 3o, 𝑠 ∈ 3o ↦ (𝑟 ∩ 𝑠)))⟩}    &   𝑄 = (𝐶 FuncCat 𝐸)    &   𝐿 = (⟨𝐶, 𝐶⟩ ∘F 𝐸)    &   𝐴 = (𝑏 ∈ 3o ↦ if(𝑏 = 2o, 2o, if(𝑏 = ∅, 1o, ∅)))    &   𝑀 = (𝑢 ∈ 2o, 𝑣 ∈ 2o ↦ (𝑎 ∈ (𝑢(𝑚 ∈ 2o, 𝑛 ∈ 2o ↦ if(𝑚 = 𝑛, {2o}, if((𝑚 = ∅ ∧ 𝑛 = 1o), 2o, ∅)))𝑣) ↦ (𝐴‘𝑎)))    &   𝑆 = ⟨( I ↾ 2o), 𝑀⟩    &   𝑅 = (𝐸 FuncCat 𝐸)    &    ⚬ = (⟨𝑅, 𝑄⟩ curryF (⟨𝐶, 𝐸⟩ ∘F 𝐸))    &   𝐾 = ((1st ‘ ⚬ )‘𝑆)    &   𝑇 = ((𝐶 FuncCat 𝐸) ×c (𝐶 FuncCat 𝐶))    ⇒   ((1st ‘𝐿)(𝑇 Func 𝑄)(2nd ‘(𝐾 ∘func 𝐿)) ∧ (2nd ‘(𝐾 ∘func 𝐿)) ≠ (2nd ‘𝐿))
 
17-Sep-2026parmapfunc 50868 A map fixing the identity value and preserving the parallel-arrow class induces an endofunctor fixing every object. Category membership and the hom construction suffice: every composable pair contains an identity. (Contributed by Zhi Wang, 14-Sep-2026.) (Revised by Zhi Wang, 17-Sep-2026.)
𝐵 = (Base‘𝐶)    &   𝐻 = (Hom ‘𝐶)    &   𝐶 ∈ Cat    &   𝐻 = (𝑟 ∈ 𝐵, 𝑠 ∈ 𝐵 ↦ if(𝑟 = 𝑠, {𝐽}, if((𝑟 = 𝑋 ∧ 𝑠 = 𝑌), 𝑆, ∅)))    &   𝐿 = (𝑢 ∈ 𝐵, 𝑣 ∈ 𝐵 ↦ (𝑎 ∈ (𝑢𝐻𝑣) ↦ (𝐴‘𝑎)))    &   (𝐴‘𝐽) = 𝐽    &   ∀𝑡 ∈ 𝑆 (𝐴‘𝑡) ∈ 𝑆    ⇒   ( I ↾ 𝐵)(𝐶 Func 𝐶)𝐿
 
17-Sep-2026parmapfunc2 50867 Variant of parmapfunc 50868. (Contributed by Zhi Wang, 14-Sep-2026.) (Revised by Zhi Wang, 17-Sep-2026.) (New usage is discouraged.) (Proof modification is discouraged.)
𝐵 = (Base‘𝐶)    &   𝐻 = (Hom ‘𝐶)    &   𝐶 ∈ Cat    &   𝐻 = (𝑟 ∈ 𝐵, 𝑠 ∈ 𝐵 ↦ if(𝑟 = 𝑠, {𝐽}, if((𝑟 = 𝑋 ∧ 𝑠 = 𝑌), 𝑆, ∅)))    &   𝐿 = (𝑢 ∈ 𝐵, 𝑣 ∈ 𝐵 ↦ (𝑎 ∈ (𝑢𝐻𝑣) ↦ (𝐴‘𝑎)))    &   (𝐴‘𝐽) = 𝐽    &   ∀𝑡 ∈ 𝑆 (𝐴‘𝑡) ∈ 𝑆    &   𝐼 = (Id‘𝐶)    &    · = (comp‘𝐶)    &   𝑆 ∈ V    &   𝐽 ∈ V    &   𝑆 ⊆ 𝒫 𝐽    &   𝑋 ≠ 𝑌    &   𝐾 = (𝑆 ∪ {𝐽})    &   𝑀 = (𝑓 ∈ 𝐾, 𝑔 ∈ 𝐾 ↦ (𝑓 ∩ 𝑔))    &    · = (𝑝 ∈ (𝐵 × 𝐵), 𝑞 ∈ 𝐵 ↦ 𝑀)    &   𝐼 = (𝑡 ∈ 𝐵 ↦ 𝐽)    ⇒   ( I ↾ 𝐵)(𝐶 Func 𝐶)𝐿
 
17-Sep-2026parmapco 50866 An identity-fixing map preserving parallel arrows preserves every typed composition. (Contributed by Zhi Wang, 14-Sep-2026.) (Revised by Zhi Wang, 17-Sep-2026.)
𝐻 = (𝑥 ∈ 𝐵, 𝑦 ∈ 𝐵 ↦ if(𝑥 = 𝑦, {𝐽}, if((𝑥 = 𝑋 ∧ 𝑦 = 𝑌), 𝑆, ∅)))    &   𝑆 ⊆ 𝒫 𝐽    &   (𝜑 → 𝐹 ∈ (𝑈𝐻𝑉))    &   (𝜑 → 𝐺 ∈ (𝑉𝐻𝑊))    &   (𝜑 → (𝐴‘𝐽) = 𝐽)    &   ((𝜑 ∧ 𝐹 ∈ 𝑆) → (𝐴‘𝐹) ∈ 𝑆)    &   ((𝜑 ∧ 𝐺 ∈ 𝑆) → (𝐴‘𝐺) ∈ 𝑆)    ⇒   (𝜑 → (𝐴‘(𝐺 ∩ 𝐹)) = ((𝐴‘𝐺) ∩ (𝐴‘𝐹)))
 
17-Sep-2026parmapco2 50865 Variant of parmapco 50866. (Contributed by Zhi Wang, 14-Sep-2026.) (Revised by Zhi Wang, 17-Sep-2026.) (New usage is discouraged.) (Proof modification is discouraged.)
𝐻 = (𝑥 ∈ 𝐵, 𝑦 ∈ 𝐵 ↦ if(𝑥 = 𝑦, {𝐽}, if((𝑥 = 𝑋 ∧ 𝑦 = 𝑌), 𝑆, ∅)))    &   (𝜑 → 𝐹 ∈ (𝑈𝐻𝑉))    &   (𝜑 → (𝐴‘𝐽) = 𝐽)    &   ((𝜑 ∧ 𝐹 ∈ 𝑆) → (𝐴‘𝐹) ∈ 𝑆)    &   𝑆 ∈ V    &   𝐽 ∈ V    &   𝑆 ⊆ 𝒫 𝐽    &   𝑋 ≠ 𝑌    &   (𝜑 → 𝑈 ∈ 𝐵)    &   (𝜑 → 𝑉 ∈ 𝐵)    &   (𝜑 → 𝑊 ∈ 𝐵)    &   (𝜑 → 𝐺 ∈ (𝑉𝐻𝑊))    &   ((𝜑 ∧ 𝐺 ∈ 𝑆) → (𝐴‘𝐺) ∈ 𝑆)    ⇒   (𝜑 → (𝐴‘(𝐺 ∩ 𝐹)) = ((𝐴‘𝐺) ∩ (𝐴‘𝐹)))
 
17-Sep-2026parmapcl 50864 A map fixing the identity value and preserving the parallel-arrow class preserves each hom-set. (Contributed by Zhi Wang, 14-Sep-2026.) (Revised by Zhi Wang, 17-Sep-2026.)
𝐻 = (𝑥 ∈ 𝐵, 𝑦 ∈ 𝐵 ↦ if(𝑥 = 𝑦, {𝐽}, if((𝑥 = 𝑋 ∧ 𝑦 = 𝑌), 𝑆, ∅)))    &   (𝜑 → 𝐹 ∈ (𝑈𝐻𝑉))    &   (𝜑 → (𝐴‘𝐽) = 𝐽)    &   ((𝜑 ∧ 𝐹 ∈ 𝑆) → (𝐴‘𝐹) ∈ 𝑆)    ⇒   (𝜑 → (𝐴‘𝐹) ∈ (𝑈𝐻𝑉))
 
17-Sep-2026parmapcl2 50863 Variant of parmapcl 50864. (Contributed by Zhi Wang, 14-Sep-2026.) (Revised by Zhi Wang, 17-Sep-2026.) (New usage is discouraged.) (Proof modification is discouraged.)
𝐻 = (𝑥 ∈ 𝐵, 𝑦 ∈ 𝐵 ↦ if(𝑥 = 𝑦, {𝐽}, if((𝑥 = 𝑋 ∧ 𝑦 = 𝑌), 𝑆, ∅)))    &   (𝜑 → 𝐹 ∈ (𝑈𝐻𝑉))    &   (𝜑 → (𝐴‘𝐽) = 𝐽)    &   ((𝜑 ∧ 𝐹 ∈ 𝑆) → (𝐴‘𝐹) ∈ 𝑆)    &   𝑆 ∈ V    &   𝐽 ∈ V    &   (𝜑 → 𝑈 ∈ 𝐵)    &   (𝜑 → 𝑉 ∈ 𝐵)    ⇒   (𝜑 → (𝐴‘𝐹) ∈ (𝑈𝐻𝑉))
 
17-Sep-2026parcoval2 50859 Composition in a category with the parallel-arrow hom construction. Every composable pair contains an identity, so the category identity laws determine the value. (Contributed by Zhi Wang, 17-Sep-2026.)
𝐵 = (Base‘𝐶)    &   𝐻 = (Hom ‘𝐶)    &   𝐻 = (𝑥 ∈ 𝐵, 𝑦 ∈ 𝐵 ↦ if(𝑥 = 𝑦, {𝐽}, if((𝑥 = 𝑋 ∧ 𝑦 = 𝑌), 𝑆, ∅)))    &   (𝜑 → 𝐶 ∈ Cat)    &    · = (comp‘𝐶)    &   (𝜑 → 𝐹 ∈ (𝑈𝐻𝑉))    &   (𝜑 → 𝐺 ∈ (𝑉𝐻𝑊))    ⇒   (𝜑 → (𝐺(⟨𝑈, 𝑉⟩ · 𝑊)𝐹) = if(𝑈 = 𝑉, 𝐺, 𝐹))
 
17-Sep-2026paridval 50858 The identity at any object of a category with the parallel-arrow hom construction is 𝐽. (Contributed by Zhi Wang, 17-Sep-2026.)
𝐵 = (Base‘𝐶)    &   𝐻 = (Hom ‘𝐶)    &   𝐻 = (𝑥 ∈ 𝐵, 𝑦 ∈ 𝐵 ↦ if(𝑥 = 𝑦, {𝐽}, if((𝑥 = 𝑋 ∧ 𝑦 = 𝑌), 𝑆, ∅)))    &   (𝜑 → 𝐶 ∈ Cat)    &   (𝜑 → 𝑈 ∈ 𝐵)    ⇒   (𝜑 → ((Id‘𝐶)‘𝑈) = 𝐽)
 
17-Sep-2026parcatid 50857 Construct a category with a family of parallel arrows from 𝑋 to 𝑌 and only identity endomorphisms. All arrow values are subsets of 𝐽; composition is intersection. Nonidentity arrows can occur only when 𝑋 and 𝑌 are distinct members of 𝐵. If 𝑋 = 𝑌, or either distinguished endpoint is outside 𝐵, the category is discrete. (Contributed by Zhi Wang, 14-Sep-2026.) (Revised by Zhi Wang, 17-Sep-2026.)
𝐵 ∈ V    &   𝐽 ∈ V    &   𝑆 ⊆ 𝒫 𝐽    &   𝐾 = (𝑆 ∪ {𝐽})    &   𝐻 = (𝑚 ∈ 𝐵, 𝑛 ∈ 𝐵 ↦ if(𝑚 = 𝑛, {𝐽}, if((𝑚 = 𝑋 ∧ 𝑛 = 𝑌), 𝑆, ∅)))    &   𝑀 = (𝑟 ∈ 𝐾, 𝑠 ∈ 𝐾 ↦ (𝑟 ∩ 𝑠))    &    · = (𝑝 ∈ (𝐵 × 𝐵), 𝑞 ∈ 𝐵 ↦ 𝑀)    &   𝐶 = {⟨(Base‘ndx), 𝐵⟩, ⟨(Hom ‘ndx), 𝐻⟩, ⟨(comp‘ndx), · ⟩}    ⇒   (𝐶 ∈ Cat ∧ (Id‘𝐶) = (𝑦 ∈ 𝐵 ↦ 𝐽))
 
17-Sep-2026parcatid2 50856 Variant of parcatid 50857. (Contributed by Zhi Wang, 14-Sep-2026.) (Revised by Zhi Wang, 17-Sep-2026.) (New usage is discouraged.) (Proof modification is discouraged.)
𝐵 ∈ V    &   𝐽 ∈ V    &   𝑆 ⊆ 𝒫 𝐽    &   𝐾 = (𝑆 ∪ {𝐽})    &   𝐻 = (𝑚 ∈ 𝐵, 𝑛 ∈ 𝐵 ↦ if(𝑚 = 𝑛, {𝐽}, if((𝑚 = 𝑋 ∧ 𝑛 = 𝑌), 𝑆, ∅)))    &   𝑀 = (𝑟 ∈ 𝐾, 𝑠 ∈ 𝐾 ↦ (𝑟 ∩ 𝑠))    &    · = (𝑝 ∈ (𝐵 × 𝐵), 𝑞 ∈ 𝐵 ↦ 𝑀)    &   𝐶 = {⟨(Base‘ndx), 𝐵⟩, ⟨(Hom ‘ndx), 𝐻⟩, ⟨(comp‘ndx), · ⟩}    &   𝑆 ∈ V    &   𝑋 ≠ 𝑌    ⇒   (𝐶 ∈ Cat ∧ (Id‘𝐶) = (𝑦 ∈ 𝐵 ↦ 𝐽))
 
17-Sep-2026parhomco 50854 When every member of the parallel-arrow class 𝑆 is a subset of 𝐽, intersection of composable arrows belongs to the hom-set from the first object to the last. The subset hypothesis supplies the required intersection identity laws; it does not follow from the hom construction alone. (Contributed by Zhi Wang, 14-Sep-2026.) (Revised by Zhi Wang, 17-Sep-2026.)
𝐻 = (𝑥 ∈ 𝐵, 𝑦 ∈ 𝐵 ↦ if(𝑥 = 𝑦, {𝐽}, if((𝑥 = 𝑋 ∧ 𝑦 = 𝑌), 𝑆, ∅)))    &   (𝜑 → 𝐹 ∈ (𝑈𝐻𝑉))    &   (𝜑 → 𝐺 ∈ (𝑉𝐻𝑊))    &   𝑆 ⊆ 𝒫 𝐽    ⇒   (𝜑 → (𝐺 ∩ 𝐹) ∈ (𝑈𝐻𝑊))
 
17-Sep-2026parhomco2 50853 Variant of parhomco 50854. (Contributed by Zhi Wang, 14-Sep-2026.) (Revised by Zhi Wang, 17-Sep-2026.) (New usage is discouraged.) (Proof modification is discouraged.)
𝐻 = (𝑥 ∈ 𝐵, 𝑦 ∈ 𝐵 ↦ if(𝑥 = 𝑦, {𝐽}, if((𝑥 = 𝑋 ∧ 𝑦 = 𝑌), 𝑆, ∅)))    &   (𝜑 → 𝐹 ∈ (𝑈𝐻𝑉))    &   (𝜑 → 𝐺 ∈ (𝑉𝐻𝑊))    &   𝑆 ⊆ 𝒫 𝐽    &   𝑆 ∈ V    &   𝐽 ∈ V    &   𝑋 ≠ 𝑌    &   (𝜑 → 𝑈 ∈ 𝐵)    &   (𝜑 → 𝑉 ∈ 𝐵)    &   (𝜑 → 𝑊 ∈ 𝐵)    ⇒   (𝜑 → (𝐺 ∩ 𝐹) ∈ (𝑈𝐻𝑊))
 
17-Sep-2026parhomeqor 50852 In a composable pair, at least one arrow is an endomorphism. (Contributed by Zhi Wang, 14-Sep-2026.) (Revised by Zhi Wang, 17-Sep-2026.)
𝐻 = (𝑥 ∈ 𝐵, 𝑦 ∈ 𝐵 ↦ if(𝑥 = 𝑦, {𝐽}, if((𝑥 = 𝑋 ∧ 𝑦 = 𝑌), 𝑆, ∅)))    &   (𝜑 → 𝐹 ∈ (𝑈𝐻𝑉))    &   (𝜑 → 𝐺 ∈ (𝑉𝐻𝑊))    ⇒   (𝜑 → (𝑈 = 𝑉 ∨ 𝑉 = 𝑊))
 
17-Sep-2026parhomeqor2 50851 Variant of parhomeqor 50852. (Contributed by Zhi Wang, 14-Sep-2026.) (Revised by Zhi Wang, 17-Sep-2026.) (New usage is discouraged.) (Proof modification is discouraged.)
𝐻 = (𝑥 ∈ 𝐵, 𝑦 ∈ 𝐵 ↦ if(𝑥 = 𝑦, {𝐽}, if((𝑥 = 𝑋 ∧ 𝑦 = 𝑌), 𝑆, ∅)))    &   (𝜑 → 𝐹 ∈ (𝑈𝐻𝑉))    &   (𝜑 → 𝐺 ∈ (𝑉𝐻𝑊))    &   𝑆 ∈ V    &   𝐽 ∈ V    &   𝑋 ≠ 𝑌    &   (𝜑 → 𝑈 ∈ 𝐵)    &   (𝜑 → 𝑉 ∈ 𝐵)    &   (𝜑 → 𝑊 ∈ 𝐵)    ⇒   (𝜑 → (𝑈 = 𝑉 ∨ 𝑉 = 𝑊))
 
17-Sep-2026parhomss 50850 When every member of the parallel-arrow class 𝑆 is a subset of 𝐽, every arrow in a hom-set is a subset of its identity value 𝐽. The subset hypothesis is essential; it does not follow from the hom-set definition alone. (Contributed by Zhi Wang, 14-Sep-2026.) (Revised by Zhi Wang, 17-Sep-2026.)
𝐻 = (𝑥 ∈ 𝐵, 𝑦 ∈ 𝐵 ↦ if(𝑥 = 𝑦, {𝐽}, if((𝑥 = 𝑋 ∧ 𝑦 = 𝑌), 𝑆, ∅)))    &   𝑆 ⊆ 𝒫 𝐽    &   (𝜑 → 𝐹 ∈ (𝑈𝐻𝑉))    ⇒   (𝜑 → 𝐹 ⊆ 𝐽)
 
17-Sep-2026parhomss2 50849 Variant of parhomss 50850. (Contributed by Zhi Wang, 14-Sep-2026.) (Revised by Zhi Wang, 17-Sep-2026.) (New usage is discouraged.) (Proof modification is discouraged.)
𝐻 = (𝑥 ∈ 𝐵, 𝑦 ∈ 𝐵 ↦ if(𝑥 = 𝑦, {𝐽}, if((𝑥 = 𝑋 ∧ 𝑦 = 𝑌), 𝑆, ∅)))    &   𝑆 ⊆ 𝒫 𝐽    &   (𝜑 → 𝐹 ∈ (𝑈𝐻𝑉))    &   𝑆 ∈ V    &   𝐽 ∈ V    &   (𝜑 → 𝑈 ∈ 𝐵)    &   (𝜑 → 𝑉 ∈ 𝐵)    ⇒   (𝜑 → 𝐹 ⊆ 𝐽)
 
17-Sep-2026parhomne 50848 A morphism between different objects has the distinguished source and target. (Contributed by Zhi Wang, 14-Sep-2026.) (Revised by Zhi Wang, 17-Sep-2026.)
𝐻 = (𝑥 ∈ 𝐵, 𝑦 ∈ 𝐵 ↦ if(𝑥 = 𝑦, {𝐽}, if((𝑥 = 𝑋 ∧ 𝑦 = 𝑌), 𝑆, ∅)))    &   (𝜑 → 𝐹 ∈ (𝑈𝐻𝑉))    &   (𝜑 → ¬ 𝑈 = 𝑉)    ⇒   (𝜑 → (𝑈 = 𝑋 ∧ 𝑉 = 𝑌))
 
17-Sep-2026parhomne2 50847 Variant of parhomne 50848. (Contributed by Zhi Wang, 14-Sep-2026.) (Revised by Zhi Wang, 17-Sep-2026.) (New usage is discouraged.) (Proof modification is discouraged.)
𝐻 = (𝑥 ∈ 𝐵, 𝑦 ∈ 𝐵 ↦ if(𝑥 = 𝑦, {𝐽}, if((𝑥 = 𝑋 ∧ 𝑦 = 𝑌), 𝑆, ∅)))    &   (𝜑 → 𝐹 ∈ (𝑈𝐻𝑉))    &   (𝜑 → ¬ 𝑈 = 𝑉)    &   𝑆 ∈ V    &   𝐽 ∈ V    &   (𝜑 → 𝑈 ∈ 𝐵)    &   (𝜑 → 𝑉 ∈ 𝐵)    ⇒   (𝜑 → (𝑈 = 𝑋 ∧ 𝑉 = 𝑌))
 
17-Sep-2026parhomvaln0 50846 Evaluate an inhabited parallel-arrow hom-set. Membership certifies the selected branch even when sethood hypotheses are unavailable. Compare parhomval 50836 for evaluation throughout the object domain. (Contributed by Zhi Wang, 17-Sep-2026.)
𝐻 = (𝑥 ∈ 𝐵, 𝑦 ∈ 𝐵 ↦ if(𝑥 = 𝑦, {𝐽}, if((𝑥 = 𝑋 ∧ 𝑦 = 𝑌), 𝑆, ∅)))    ⇒   (𝐹 ∈ (𝑈𝐻𝑉) → (𝑈𝐻𝑉) = if(𝑈 = 𝑉, {𝐽}, if((𝑈 = 𝑋 ∧ 𝑉 = 𝑌), 𝑆, ∅)))
 
17-Sep-2026parhomcl2 50838 Variant of parhomcl 50841. (Contributed by Zhi Wang, 14-Sep-2026.) (Revised by Zhi Wang, 17-Sep-2026.) (New usage is discouraged.) (Proof modification is discouraged.)
𝐻 = (𝑥 ∈ 𝐵, 𝑦 ∈ 𝐵 ↦ if(𝑥 = 𝑦, {𝐽}, if((𝑥 = 𝑋 ∧ 𝑦 = 𝑌), 𝑆, ∅)))    &   𝑆 ∈ V    &   𝐽 ∈ V    &   𝐾 = (𝑆 ∪ {𝐽})    &   (𝜑 → 𝑈 ∈ 𝐵)    &   (𝜑 → 𝑉 ∈ 𝐵)    &   (𝜑 → 𝐹 ∈ (𝑈𝐻𝑉))    ⇒   (𝜑 → 𝐹 ∈ 𝐾)
 
17-Sep-2026fucoaltne 50588 A changed natural transformation witnesses that post-composed functor composition has a different morphism part. (Contributed by Zhi Wang, 14-Sep-2026.) (Revised by Zhi Wang, 17-Sep-2026.)
𝑄 = (𝐶 FuncCat 𝐸)    &   𝐿 = (⟨𝐶, 𝐶⟩ ∘F 𝐸)    &   (𝜑 → 𝐶 ∈ Cat)    &   (𝜑 → 𝐸 ∈ Cat)    &   (𝜑 → 𝐾 ∈ (𝑄 Func 𝑄))    &   (𝜑 → 𝐹 ∈ (𝐶 Func 𝐸))    &   (𝜑 → 𝐺 ∈ (𝐶 Func 𝐸))    &   (𝜑 → 𝐴 ∈ (𝐹(𝐶 Nat 𝐸)𝐺))    &   (𝜑 → ((𝐹(2nd ‘𝐾)𝐺)‘𝐴) ≠ 𝐴)    ⇒   (𝜑 → (2nd ‘(𝐾 ∘func 𝐿)) ≠ (2nd ‘𝐿))
 
17-Sep-2026fucoaltval 50586 At a pair consisting of a natural transformation and the identity of the identity functor, post-composed functor composition acts by the post- composing functor on that natural transformation. (Contributed by Zhi Wang, 14-Sep-2026.) (Revised by Zhi Wang, 17-Sep-2026.)
𝑄 = (𝐶 FuncCat 𝐸)    &   𝐿 = (⟨𝐶, 𝐶⟩ ∘F 𝐸)    &   (𝜑 → 𝐶 ∈ Cat)    &   (𝜑 → 𝐸 ∈ Cat)    &   (𝜑 → 𝐾 ∈ (𝑄 Func 𝑄))    &   (𝜑 → 𝐹 ∈ (𝐶 Func 𝐸))    &   (𝜑 → 𝐺 ∈ (𝐶 Func 𝐸))    &   (𝜑 → 𝐴 ∈ (𝐹(𝐶 Nat 𝐸)𝐺))    &   𝐼 = (idfunc‘𝐶)    &   𝐽 = (Id‘(𝐶 FuncCat 𝐶))    ⇒   (𝜑 → (𝐴(⟨𝐹, 𝐼⟩(2nd ‘(𝐾 ∘func 𝐿))⟨𝐺, 𝐼⟩)(𝐽‘𝐼)) = ((𝐹(2nd ‘𝐾)𝐺)‘𝐴))
 
17-Sep-2026fucoisfunc2 50583 Full componentwise characterization of an arbitrary morphism part with the object function of functor composition. See also fucoisfunc 50580.

Its three exact function domains, component types and naturality, and pointwise identity and composition laws are necessary and sufficient. Empty object and hom domains are permitted. For a concrete failure of uniqueness, see fuconuniq 50875 and fuconuniqex2 50880. (Contributed by Zhi Wang, 14-Sep-2026.) (Revised by Zhi Wang, 17-Sep-2026.)

𝑊 = ((𝐷 Func 𝐸) × (𝐶 Func 𝐷))    &   𝑂 = ( ∘func ↾ 𝑊)    &   𝐵 = (Base‘𝐶)    &   𝑅 = (Hom ‘𝐶)    &   𝑆 = (Hom ‘𝐸)    &    ∙ = (comp‘𝐸)    &   𝑇 = ((𝐷 FuncCat 𝐸) ×c (𝐶 FuncCat 𝐷))    &   𝑄 = (𝐶 FuncCat 𝐸)    &   𝐻 = (Hom ‘𝑇)    &   𝐼 = (Id‘𝑇)    &    · = (comp‘𝑇)    &   (𝜑 → 𝐶 ∈ Cat)    &   (𝜑 → 𝐷 ∈ Cat)    &   (𝜑 → 𝐸 ∈ Cat)    &   𝐾 = (Id‘𝐸)    ⇒   (𝜑 → (𝑂(𝑇 Func 𝑄)𝑃 ↔ ((𝑃 = (𝑢 ∈ 𝑊, 𝑣 ∈ 𝑊 ↦ (𝑢𝑃𝑣)) ∧ ∀𝑚 ∈ 𝑊 ∀𝑛 ∈ 𝑊 ((𝑚𝑃𝑛) = (𝑏 ∈ ((1st ‘𝑚)(𝐷 Nat 𝐸)(1st ‘𝑛)), 𝑎 ∈ ((2nd ‘𝑚)(𝐶 Nat 𝐷)(2nd ‘𝑛)) ↦ (𝑏(𝑚𝑃𝑛)𝑎)) ∧ ∀𝑝 ∈ ((1st ‘𝑚)(𝐷 Nat 𝐸)(1st ‘𝑛))∀𝑞 ∈ ((2nd ‘𝑚)(𝐶 Nat 𝐷)(2nd ‘𝑛))((𝑝(𝑚𝑃𝑛)𝑞) = (𝑥 ∈ 𝐵 ↦ ((𝑝(𝑚𝑃𝑛)𝑞)‘𝑥)) ∧ ∀𝑥 ∈ 𝐵 ((𝑝(𝑚𝑃𝑛)𝑞)‘𝑥) ∈ (((1st ‘(𝑂‘𝑚))‘𝑥)𝑆((1st ‘(𝑂‘𝑛))‘𝑥)) ∧ ∀𝑥 ∈ 𝐵 ∀𝑦 ∈ 𝐵 ∀ℎ ∈ (𝑥𝑅𝑦)(((𝑝(𝑚𝑃𝑛)𝑞)‘𝑦)(⟨((1st ‘(𝑂‘𝑚))‘𝑥), ((1st ‘(𝑂‘𝑚))‘𝑦)⟩ ∙ ((1st ‘(𝑂‘𝑛))‘𝑦))((𝑥(2nd ‘(𝑂‘𝑚))𝑦)‘ℎ)) = (((𝑥(2nd ‘(𝑂‘𝑛))𝑦)‘ℎ)(⟨((1st ‘(𝑂‘𝑚))‘𝑥), ((1st ‘(𝑂‘𝑛))‘𝑥)⟩ ∙ ((1st ‘(𝑂‘𝑛))‘𝑦))((𝑝(𝑚𝑃𝑛)𝑞)‘𝑥))))) ∧ ∀𝑥 ∈ 𝑊 (∀𝑡 ∈ 𝐵 (((𝑥𝑃𝑥)‘(𝐼‘𝑥))‘𝑡) = (𝐾‘((1st ‘(𝑂‘𝑥))‘𝑡)) ∧ ∀𝑦 ∈ 𝑊 ∀𝑧 ∈ 𝑊 ∀𝑚 ∈ (𝑥𝐻𝑦)∀𝑛 ∈ (𝑦𝐻𝑧)∀𝑡 ∈ 𝐵 (((𝑥𝑃𝑧)‘(𝑛(⟨𝑥, 𝑦⟩ · 𝑧)𝑚))‘𝑡) = ((((𝑦𝑃𝑧)‘𝑛)‘𝑡)(⟨((1st ‘(𝑂‘𝑥))‘𝑡), ((1st ‘(𝑂‘𝑦))‘𝑡)⟩ ∙ ((1st ‘(𝑂‘𝑧))‘𝑡))(((𝑥𝑃𝑦)‘𝑚)‘𝑡))))))
 
17-Sep-2026fucoridid 50579 Horizontal composition with the identity natural transformation of the identity functor leaves a natural transformation unchanged. (Contributed by Zhi Wang, 14-Sep-2026.) (Revised by Zhi Wang, 17-Sep-2026.)
(𝜑 → (2nd ‘(⟨𝐶, 𝐶⟩ ∘F 𝐸)) = 𝑃)    &   𝑄 = (𝐶 FuncCat 𝐶)    &   𝐽 = (Id‘𝑄)    &   𝐼 = (idfunc‘𝐶)    &   (𝜑 → 𝐶 ∈ Cat)    &   (𝜑 → 𝐴 ∈ (𝐺(𝐶 Nat 𝐸)𝐻))    ⇒   (𝜑 → (𝐴(⟨𝐺, 𝐼⟩𝑃⟨𝐻, 𝐼⟩)(𝐽‘𝐼)) = 𝐴)
 
17-Sep-2026cofu1stfix 50305 Post-composition by an object-fixing functor preserves the entire object function, including its exact domain. (Contributed by Zhi Wang, 14-Sep-2026.) (Revised by Zhi Wang, 17-Sep-2026.)
𝐴 = (Base‘𝐸)    &   (𝜑 → 𝐹 ∈ (𝐷 Func 𝐸))    &   (𝜑 → 𝐾 ∈ (𝐸 Func 𝐸))    &   (𝜑 → (1st ‘𝐾) = ( I ↾ 𝐴))    ⇒   (𝜑 → (1st ‘(𝐾 ∘func 𝐹)) = (1st ‘𝐹))
 
17-Sep-2026elovmpoeq 50073 If a value of an operation given by maps-to notation has a member, it equals the substituted body. (Contributed by Zhi Wang, 17-Sep-2026.)
𝐹 = (𝑥 ∈ 𝐴, 𝑦 ∈ 𝐵 ↦ 𝐶)    &   ((𝑥 = 𝑋 ∧ 𝑦 = 𝑌) → 𝐶 = 𝐷)    ⇒   (𝑁 ∈ (𝑋𝐹𝑌) → (𝑋𝐹𝑌) = 𝐷)
 
17-Sep-2026f1oronf1or 35975 If 𝐹 maps 𝐴 one-to-one into the ordinals or 𝐻 maps the ordinals one-to-one into 𝐴, then either 𝐴 can be mapped one-to-one into the ordinals (by 𝐹), or the ordinals can be mapped one-to-one into 𝐴 (by 𝐻). This is the ZFC version of (10 → 9) in https://tinyurl.com/hamkins-gblac. Note that in NBG set theory the antecedent would be something like ∀𝐴∀𝑋(∃𝐹𝐹:𝐴–1-1→𝑋 ∨ ∃𝐻𝐻:𝑋–1-1→𝐴), but since we cannot quantify over classes, we instead consider only the case 𝑋 = On which is sufficient for this proof. The proof is trivial but is included for completeness. (Contributed by BTernaryTau, 17-Sep-2026.)
((𝐹:𝐴–1-1→On ∨ 𝐻:On–1-1→𝐴) → (𝐹:𝐴–1-1→On ∨ 𝐻:On–1-1→𝐴))
 
17-Sep-2026onprcf1of1ord 35974 If 𝐹 is a bijection from the ordinals to the universe, 𝐻 is a bijection from the ordinals to 𝐴 if 𝐴 is a proper class, and 𝐼 is a bijection from the ordinals to 𝐵 if 𝐵 is a proper class, then 𝐽 either maps 𝐴 one-to-one into 𝐵 or maps 𝐵 one-to-one into 𝐴. This is the ZFC version of (5 → 10) in https://tinyurl.com/hamkins-gblac. Note that in NBG set theory the first three hypotheses would be replaced by something like (𝜑 → ∀𝑋(¬ 𝑋 ∈ V → ∃𝐹𝐹:On–1-1-onto→𝑋)). However, we cannot quantify over classes, so we split this into the case where 𝑋 is the universe, the case where 𝑋 is an arbitrary proper class 𝐴, and the case where 𝑋 is an arbitrary proper class 𝐵, which together are sufficient for this proof. (Contributed by BTernaryTau, 17-Sep-2026.)
(𝜑 → 𝐹:On–1-1-onto→V)    &   (𝜑 → (¬ 𝐴 ∈ V → 𝐻:On–1-1-onto→𝐴))    &   (𝜑 → (¬ 𝐵 ∈ V → 𝐼:On–1-1-onto→𝐵))    &   𝐽 = if(𝐴 ∈ V, if(𝐵 ∈ V, 𝐾, (𝐼 ∘ (◡𝐹 ↾ 𝐴))), (𝐻 ∘ (◡𝐹 ↾ 𝐵)))    &   𝐾 = (𝐹‘∩ {𝑥 ∈ On ∣ ((𝐹‘𝑥):𝐴–1-1→𝐵 ∨ (𝐹‘𝑥):𝐵–1-1→𝐴)})    ⇒   (𝜑 → (𝐽:𝐴–1-1→𝐵 ∨ 𝐽:𝐵–1-1→𝐴))
 
17-Sep-2026onprcf1of1orbd 35973 If 𝐹 is a bijection from the ordinals to the universe and both 𝐴 and 𝐵 are sets, then either 𝐴 can be mapped one-to-one into 𝐵 or 𝐵 can be mapped one-to-one into 𝐴. This is the ZFC version of (5 → 10) in https://tinyurl.com/hamkins-gblac in the case where neither class is a proper class. See onprcf1of1orad 35972 for the case where one of the classes is a proper class, and see onprcf1of1ord 35974 for a theorem that covers both cases. Note that in NBG set theory the first hypothesis would be replaced by something like (𝜑 → ∀𝑋(¬ 𝑋 ∈ V → ∃𝐹𝐹:On–1-1-onto→𝑋)), but since we cannot quantify over classes, we instead consider only the case 𝑋 = V which is sufficient for this proof. (Contributed by BTernaryTau, 17-Sep-2026.)
(𝜑 → 𝐹:On–1-1-onto→V)    &   (𝜑 → 𝐴 ∈ 𝑉)    &   (𝜑 → 𝐵 ∈ 𝑊)    ⇒   (𝜑 → (∃𝑓 𝑓:𝐴–1-1→𝐵 ∨ ∃ℎ ℎ:𝐵–1-1→𝐴))
 
17-Sep-2026onprcf1of1orad 35972 If 𝐹 is a bijection from the ordinals to the universe and 𝐻 is a bijection from the ordinals to the proper class 𝐵, then 𝐼 maps 𝐴 one-to-one into 𝐵. This is the ZFC version of (5 → 10) in https://tinyurl.com/hamkins-gblac in the case where one of the classes is a proper class. See onprcf1of1orbd 35973 for the case where neither class is a proper class, and see onprcf1of1ord 35974 for a theorem that covers both cases. Note that in NBG set theory the first two hypotheses would be replaced by something like (𝜑 → ∀𝑋(¬ 𝑋 ∈ V → ∃𝐹𝐹:On–1-1-onto→𝑋)). However, we cannot quantify over classes, so we split this into the case where 𝑋 is the universe and the case where 𝑋 is an arbitrary proper class 𝐵 which together are sufficient for this proof. (Contributed by BTernaryTau, 17-Sep-2026.)
(𝜑 → 𝐹:On–1-1-onto→V)    &   (𝜑 → (¬ 𝐵 ∈ V → 𝐻:On–1-1-onto→𝐵))    &   (𝜑 → ¬ 𝐵 ∈ V)    &   𝐼 = (𝐻 ∘ (◡𝐹 ↾ 𝐴))    ⇒   (𝜑 → 𝐼:𝐴–1-1→𝐵)
 
17-Sep-2026dfac16 35810 Axiom of Choice equivalent: for every pair of sets, one is dominated by the other (see also entri3 10646). (Contributed by BTernaryTau, 17-Sep-2026.)
(CHOICE ↔ ∀𝑥∀𝑦(𝑥 ≼ 𝑦 ∨ 𝑦 ≼ 𝑥))
 
17-Sep-2026hfpw 9929 The power class of a hereditarily finite set is hereditarily finite. (Contributed by Scott Fenton, 16-Jul-2015.) Avoid ax-reg 9589, ax-inf2 9645. (Revised by BTernaryTau, 17-Sep-2026.)
(𝐴 ∈ HF → 𝒫 𝐴 ∈ HF )
 
17-Sep-2026hfuni 9927 The union of a hereditarily finite set is hereditarily finite. (Contributed by Scott Fenton, 16-Jul-2015.) Avoid ax-reg 9589, ax-inf2 9645. (Revised by BTernaryTau, 17-Sep-2026.)
(𝐴 ∈ HF → ∪ 𝐴 ∈ HF )
 
17-Sep-2026hfsn 9923 The singleton of a hereditarily finite set is a hereditarily finite set. (Contributed by Scott Fenton, 15-Jul-2015.) Avoid ax-reg 9589, ax-inf2 9645. (Revised by BTernaryTau, 17-Sep-2026.)
(𝐴 ∈ HF → {𝐴} ∈ HF )
 
17-Sep-2026hfun 9921 The union of two hereditarily finite sets is a hereditarily finite set. (Contributed by Scott Fenton, 15-Jul-2015.) Avoid ax-reg 9589, ax-inf2 9645. (Revised by BTernaryTau, 17-Sep-2026.)
((𝐴 ∈ HF ∧ 𝐵 ∈ HF ) → (𝐴 ∪ 𝐵) ∈ HF )
 
17-Sep-2026hfsshf 9918 Any subset of a hereditarily finite set is itself a hereditarily finite set. (Contributed by BTernaryTau, 17-Sep-2026.)
((𝐴 ⊆ 𝐵 ∧ 𝐵 ∈ HF ) → 𝐴 ∈ HF )
 
17-Sep-2026hfelhf 9917 Any member of a hereditarily finite set is itself a hereditarily finite set. (Contributed by Scott Fenton, 16-Jul-2015.) Avoid ax-reg 9589, ax-inf2 9645. (Revised by BTernaryTau, 17-Sep-2026.)
((𝐴 ∈ 𝐵 ∧ 𝐵 ∈ HF ) → 𝐴 ∈ HF )
 
17-Sep-2026elhf3 9916 A set is hereditarily finite if and only if it is finite and all its members are hereditarily finite. (Contributed by Eric Schmidt, 8-Sep-2026.) Avoid ax-reg 9589, ax-inf2 9645. (Revised by BTernaryTau, 17-Sep-2026.)
(𝐴 ∈ HF ↔ (𝐴 ∈ Fin ∧ 𝐴 ⊆ HF ))
 
17-Sep-2026elhf4 9915 A set is hereditarily finite iff it is finite and all of its elements are hereditarily finite. (Contributed by BTernaryTau, 19-Jan-2026.) Use HF. (Revised by BTernaryTau, 17-Sep-2026.)
(𝐴 ∈ HF ↔ (𝐴 ∈ Fin ∧ ∀𝑥 ∈ 𝐴 𝑥 ∈ HF ))
 
16-Sep-2026parhomid 50845 The identity value belongs to each endomorphism hom-set. (Contributed by Zhi Wang, 14-Sep-2026.) (Revised by Zhi Wang, 16-Sep-2026.)
𝐻 = (𝑥 ∈ 𝐵, 𝑦 ∈ 𝐵 ↦ if(𝑥 = 𝑦, {𝐽}, if((𝑥 = 𝑋 ∧ 𝑦 = 𝑌), 𝑆, ∅)))    &   𝐽 ∈ V    &   (𝜑 → 𝑈 ∈ 𝐵)    ⇒   (𝜑 → 𝐽 ∈ (𝑈𝐻𝑈))
 
16-Sep-2026parhomideq 50843 An endomorphism in the parallel-arrow construction has the identity value. (Contributed by Zhi Wang, 14-Sep-2026.) (Revised by Zhi Wang, 16-Sep-2026.)
𝐻 = (𝑥 ∈ 𝐵, 𝑦 ∈ 𝐵 ↦ if(𝑥 = 𝑦, {𝐽}, if((𝑥 = 𝑋 ∧ 𝑦 = 𝑌), 𝑆, ∅)))    &   (𝜑 → 𝐹 ∈ (𝑈𝐻𝑉))    &   (𝜑 → 𝑈 = 𝑉)    ⇒   (𝜑 → 𝐹 = 𝐽)
 
16-Sep-2026parhomcl 50841 All hom-sets of the parallel-arrow construction lie in its arrow carrier. (Contributed by Zhi Wang, 14-Sep-2026.) (Revised by Zhi Wang, 16-Sep-2026.)
𝐻 = (𝑥 ∈ 𝐵, 𝑦 ∈ 𝐵 ↦ if(𝑥 = 𝑦, {𝐽}, if((𝑥 = 𝑋 ∧ 𝑦 = 𝑌), 𝑆, ∅)))    &   𝐾 = (𝑆 ∪ {𝐽})    &   (𝜑 → 𝐹 ∈ (𝑈𝐻𝑉))    ⇒   (𝜑 → 𝐹 ∈ 𝐾)
 
16-Sep-2026parhomssun 50840 Every value of the parallel-arrow hom operation is a subclass of the arrow carrier. (Contributed by Zhi Wang, 16-Sep-2026.)
𝐻 = (𝑥 ∈ 𝐵, 𝑦 ∈ 𝐵 ↦ if(𝑥 = 𝑦, {𝐽}, if((𝑥 = 𝑋 ∧ 𝑦 = 𝑌), 𝑆, ∅)))    &   𝐾 = (𝑆 ∪ {𝐽})    ⇒   (𝑈𝐻𝑉) ⊆ 𝐾
 
16-Sep-2026parhomidval 50839 On the diagonal, the parallel-arrow hom operation has value {𝐽}. (Contributed by Zhi Wang, 16-Sep-2026.)
𝐻 = (𝑥 ∈ 𝐵, 𝑦 ∈ 𝐵 ↦ if(𝑥 = 𝑦, {𝐽}, if((𝑥 = 𝑋 ∧ 𝑦 = 𝑌), 𝑆, ∅)))    ⇒   (𝑈 ∈ 𝐵 → (𝑈𝐻𝑈) = {𝐽})
 
16-Sep-2026onf1oracwevd 35971 If 𝐹 maps the proper class 𝑊 one-to-one into the ordinals or 𝐻 maps the ordinals one-to-one into the proper class 𝑊, and if every set can either be mapped one-to-one into the ordinals or have the ordinals mapped one-to-one into it, then 𝑅 well-orders the universe. This is the ZFC version of (9 → 3) in https://tinyurl.com/hamkins-gblac. Note that in NBG set theory the first two hypotheses would be replaced by something like (𝜑 → ∀𝑋(∃𝐹𝐹:𝑋–1-1→On ∨ ∃𝐻𝐻:On–1-1→𝑋)). However, we cannot quantify over classes, so we split this into the case where 𝑋 is a set and the case where 𝑋 is the proper class 𝑊 which together are sufficient for this proof. (Contributed by BTernaryTau, 16-Sep-2026.)
(𝜑 → (𝐹:𝑊–1-1→On ∨ 𝐻:On–1-1→𝑊))    &   (𝜑 → ∀𝑣(∃𝑓 𝑓:𝑣–1-1→On ∨ ∃ℎ ℎ:On–1-1→𝑣))    &   𝑊 = {𝑟 ∣ ∃𝑥 ∈ On (𝑟 ⊆ ((𝑅1‘𝑥) × (𝑅1‘𝑥)) ∧ 𝑟 We (𝑅1‘𝑥))}    &   𝑅 = {⟨𝑦, 𝑧⟩ ∣ ((rank‘𝑦) ∈ (rank‘𝑧) ∨ ((rank‘𝑦) = (rank‘𝑧) ∧ 𝑦𝐴𝑧))}    &   𝐴 = (𝐼‘∩ {𝑤 ∈ On ∣ (𝐼‘𝑤) We (𝑅1‘suc (rank‘𝑦))})    &   𝐼 = if(𝐹:𝑊–1-1→On, ◡𝐹, 𝐻)    ⇒   (𝜑 → 𝑅 We V)
 
16-Sep-2026onf1onf1or 35970 If 𝐹 maps 𝐴 one-to-one into the ordinals, then either 𝐴 can be mapped one-to-one into the ordinals (by 𝐹), or the ordinals can be mapped one-to-one into 𝐴. This is the ZFC version of (6 → 9) in https://tinyurl.com/hamkins-gblac. The proof is trivial but is included for completeness. (Contributed by BTernaryTau, 16-Sep-2026.)
(𝐹:𝐴–1-1→On → (𝐹:𝐴–1-1→On ∨ 𝐻:On–1-1→𝐴))
 
16-Sep-2026prconf1acwevd 35967 If 𝐹 maps the proper class 𝑊 one-to-one into the ordinals and the Axiom of Choice holds, then 𝑅 well-orders the universe. (Contributed by BTernaryTau, 16-Sep-2026.)
(𝜑 → (¬ 𝑊 ∈ V → 𝐹:𝑊–1-1→On))    &   (𝜑 → CHOICE)    &   𝑊 = {𝑟 ∣ ∃𝑥 ∈ On (𝑟 ⊆ ((𝑅1‘𝑥) × (𝑅1‘𝑥)) ∧ 𝑟 We (𝑅1‘𝑥))}    &   𝑅 = {⟨𝑦, 𝑧⟩ ∣ ((rank‘𝑦) ∈ (rank‘𝑧) ∨ ((rank‘𝑦) = (rank‘𝑧) ∧ 𝑦𝑆𝑧))}    &   𝑆 = (◡𝐹‘∩ {𝑤 ∈ On ∣ (◡𝐹‘𝑤) We (𝑅1‘suc (rank‘𝑦))})    ⇒   (𝜑 → 𝑅 We V)
 
16-Sep-2026onprcf1acwevd 35966 If 𝐹 maps the ordinals one-to-one into the proper class 𝑊 and the Axiom of Choice holds, then 𝑅 well-orders the universe. This is the ZFC version of (7 → 3) in https://tinyurl.com/hamkins-gblac. Note that in NBG set theory the first hypothesis would be something like (𝜑 → ∀𝑋(¬ 𝑋 ∈ V → ∃𝐹𝐹:On–1-1→𝑋)), but since we cannot quantify over classes, we instead consider only the case 𝑋 = 𝑊 which is sufficient for this proof. (Contributed by BTernaryTau, 16-Sep-2026.)
(𝜑 → (¬ 𝑊 ∈ V → 𝐹:On–1-1→𝑊))    &   (𝜑 → CHOICE)    &   𝑊 = {𝑟 ∣ ∃𝑥 ∈ On (𝑟 ⊆ ((𝑅1‘𝑥) × (𝑅1‘𝑥)) ∧ 𝑟 We (𝑅1‘𝑥))}    &   𝑅 = {⟨𝑦, 𝑧⟩ ∣ ((rank‘𝑦) ∈ (rank‘𝑧) ∨ ((rank‘𝑦) = (rank‘𝑧) ∧ 𝑦𝑆𝑧))}    &   𝑆 = (𝐹‘∩ {𝑤 ∈ On ∣ (𝐹‘𝑤) We (𝑅1‘suc (rank‘𝑦))})    ⇒   (𝜑 → 𝑅 We V)
 
16-Sep-2026onprcf1acwevdlem2 35965 Lemma for onprcf1acwevd 35966 and prconf1acwevd 35967. (Contributed by BTernaryTau, 16-Sep-2026.)
𝑅 = {⟨𝑦, 𝑧⟩ ∣ ((rank‘𝑦) ∈ (rank‘𝑧) ∨ ((rank‘𝑦) = (rank‘𝑧) ∧ 𝑦𝑆𝑧))}    &   𝑆 = (𝐹‘∩ {𝑤 ∈ On ∣ (𝐹‘𝑤) We (𝑅1‘suc (rank‘𝑦))})    &   ((𝜑 ∧ 𝑢 ∈ On) → ∃𝑤 ∈ On (𝐹‘𝑤) We (𝑅1‘𝑢))    ⇒   (𝜑 → 𝑅 We V)
 
16-Sep-2026dfac15 35809 Axiom of Choice equivalent: every set can be mapped one-to-one into the ordinals. (Contributed by BTernaryTau, 16-Sep-2026.)
(CHOICE ↔ ∀𝑥∃𝑓 𝑓:𝑥–1-1→On)
 
16-Sep-2026werankwe 35791 Construct a well-order given a relation 𝑅(𝑥) that well-orders elements of the same rank. (Contributed by BTernaryTau, 16-Sep-2026.)
𝑆 = {⟨𝑥, 𝑦⟩ ∣ ((rank‘𝑥) ∈ (rank‘𝑦) ∨ ((rank‘𝑥) = (rank‘𝑦) ∧ 𝑥𝑅𝑦))}    &   (𝑤 = (rank‘𝑥) → 𝑇 = 𝑅)    &   (𝑣 = 𝑥 → 𝑈 = 𝑅)    ⇒   (∀𝑥 ∈ 𝐴 𝑅 We {𝑧 ∈ 𝐴 ∣ (rank‘𝑧) = (rank‘𝑥)} → 𝑆 We 𝐴)
 
16-Sep-2026onf1we 35771 If 𝐹 maps 𝐴 one-to-one into the ordinals, then 𝑅 well-orders 𝐴. (Contributed by BTernaryTau, 16-Sep-2026.)
𝑅 = {⟨𝑥, 𝑦⟩ ∣ (𝐹‘𝑥) ∈ (𝐹‘𝑦)}    ⇒   (𝐹:𝐴–1-1→On → 𝑅 We 𝐴)
 
16-Sep-2026dvdssqnn 16746 Two positive integers are divisible iff their squares are. (Contributed by Scott Fenton, 18-Apr-2014.) (Revised by Mario Carneiro, 19-Apr-2014.) (Proof shortened by AV, 16-Sep-2026.)
((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ) → (𝑀 ∥ 𝑁 ↔ (𝑀↑2) ∥ (𝑁↑2)))
 
16-Sep-2026ovmptss 8104 If all the values of the mapping are subsets of a class 𝑋, then so is any evaluation of the mapping. (Contributed by Mario Carneiro, 24-Dec-2016.) Avoid ax-un 7751 and shorten proof. (Revised by Zhi Wang, 16-Sep-2026.)
𝐹 = (𝑥 ∈ 𝐴, 𝑦 ∈ 𝐵 ↦ 𝐶)    ⇒   (∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐵 𝐶 ⊆ 𝑋 → (𝐸𝐹𝐺) ⊆ 𝑋)
 
15-Sep-2026fltoprmgt3 28001 Fermat's last theorem holds for any exponent greater than 2 if it holds for all odd prime exponents greater than 3. (TODO-AV: after a proof is available for 𝑁 = 3, see flt3, the hypothesis fltoprmgt3.3 can be removed.) (Contributed by AV, 15-Sep-2026.)
(𝜑 → 𝐴 ∈ ℕ)    &   (𝜑 → 𝐵 ∈ ℕ)    &   (𝜑 → 𝐶 ∈ ℕ)    &   (𝜑 → 𝑁 ∈ (ℤ≥‘3))    &   (𝜑 → ∀𝑎 ∈ ℕ ∀𝑏 ∈ ℕ ∀𝑐 ∈ ℕ ∀𝑝 ∈ ℙ (3 < 𝑝 → ((𝑎↑𝑝) + (𝑏↑𝑝)) ≠ (𝑐↑𝑝)))    &   (𝜑 → ((𝑎↑3) + (𝑏↑3)) ≠ (𝑐↑3))    ⇒   (𝜑 → ((𝐴↑𝑁) + (𝐵↑𝑁)) ≠ (𝐶↑𝑁))
 
15-Sep-2026fltoprm 28000 Fermat's last theorem holds for any exponent greater than 2 if it holds for odd prime exponents. (Contributed by AV, 15-Sep-2026.)
(𝜑 → 𝐴 ∈ ℕ)    &   (𝜑 → 𝐵 ∈ ℕ)    &   (𝜑 → 𝐶 ∈ ℕ)    &   (𝜑 → 𝑁 ∈ (ℤ≥‘3))    &   (𝜑 → ∀𝑎 ∈ ℕ ∀𝑏 ∈ ℕ ∀𝑐 ∈ ℕ ∀𝑝 ∈ ℙ (2 < 𝑝 → ((𝑎↑𝑝) + (𝑏↑𝑝)) ≠ (𝑐↑𝑝)))    ⇒   (𝜑 → ((𝐴↑𝑁) + (𝐵↑𝑁)) ≠ (𝐶↑𝑁))
 
15-Sep-2026fltoprmlem2 27999 Lemma 2 for fltoprm 28000: If an integer greater than or equal to 3 is a power of 2, it is a multiple of 4. (Contributed by AV, 15-Sep-2026.)
((𝑁 ∈ (ℤ≥‘3) ∧ 𝐾 ∈ ℕ0 ∧ 𝑁 = (2↑𝐾)) → 4 ∥ 𝑁)
 
15-Sep-2026fltoprmlem1 27998 Lemma 1 for fltoprm 28000: Every positive integer is either a power of 2 or has an odd prime factor. (Contributed by AV, 15-Sep-2026.)
(𝑁 ∈ ℕ → (∃𝑝 ∈ ℙ (2 < 𝑝 ∧ 𝑝 ∥ 𝑁) ∨ ∃𝑛 ∈ ℕ0 𝑁 = (2↑𝑛)))
 
15-Sep-2026flt4ALT 27997 Fermat's last theorem for the exponent four, derived from Fermat's right triangle theorem (which is not proved yet, see fermrtt: after a proof is available, the hypothesis flt4ALT.r can be removed - TODO-AV). (Contributed by AV, 15-Sep-2026.) (Proof modification is discouraged.) (New usage is discouraged.)
(𝜑 → 𝐴 ∈ ℕ)    &   (𝜑 → 𝐵 ∈ ℕ)    &   (𝜑 → 𝐶 ∈ ℕ)    &   (𝜑 → ∀𝑎 ∈ ℕ ∀𝑏 ∈ ℕ ∀𝑐 ∈ ℕ ((𝑎↑4) − (𝑏↑4)) ≠ (𝑐↑2))    ⇒   (𝜑 → ((𝐴↑4) + (𝐵↑4)) ≠ (𝐶↑4))
 
15-Sep-2026flt4 27996 Fermat's last theorem for the exponent four. (Contributed by AV, 15-Sep-2026.)
(𝜑 → 𝐴 ∈ ℕ)    &   (𝜑 → 𝐵 ∈ ℕ)    &   (𝜑 → 𝐶 ∈ ℕ)    ⇒   (𝜑 → ((𝐴↑4) + (𝐵↑4)) ≠ (𝐶↑4))
 
14-Sep-2026fuconuniqex2 50880 There are categories for which the object function of functor composition does not determine its morphism function. Choose both source categories to be the trivial category and apply fuconuniqex 50879. The full compatibility conditions are given in fucoisfunc 50580; fucoisfunc2 50583 expands the natural-transformation component conditions. (Contributed by Zhi Wang, 14-Sep-2026.)
∃𝑐 ∈ Cat ∃𝑑 ∈ Cat ∃𝑒 ∈ Cat ∃𝑧((1st ‘(⟨𝑐, 𝑑⟩ ∘F 𝑒))(((𝑑 FuncCat 𝑒) ×c (𝑐 FuncCat 𝑑)) Func (𝑐 FuncCat 𝑒))𝑧 ∧ 𝑧 ≠ (2nd ‘(⟨𝑐, 𝑑⟩ ∘F 𝑒)))
 
14-Sep-2026fuconuniqex 50879 The object function of functor composition does not in general determine its morphism function, even when both source categories are the trivial category. The witness category is the explicit two-object, two-parallel-arrow category of par2cat 50861. (Contributed by Zhi Wang, 14-Sep-2026.)
∃𝑒 ∈ Cat ∃𝑧((1st ‘(⟨(SetCat‘1o), (SetCat‘1o)⟩ ∘F 𝑒))((((SetCat‘1o) FuncCat 𝑒) ×c ((SetCat‘1o) FuncCat (SetCat‘1o))) Func ((SetCat‘1o) FuncCat 𝑒))𝑧 ∧ 𝑧 ≠ (2nd ‘(⟨(SetCat‘1o), (SetCat‘1o)⟩ ∘F 𝑒)))
 
14-Sep-2026fuconuniq2 50878 The concrete parallel-arrow category supplies a morphism function different from canonical functor composition, with its object function fixed exactly. See par2cat 50861 and par2hom 50872 for the category and its four hom-sets. (Contributed by Zhi Wang, 14-Sep-2026.)
𝐶 = (SetCat‘1o)    &   𝐸 = {⟨(Base‘ndx), 2o⟩, ⟨(Hom ‘ndx), (𝑚 ∈ 2o, 𝑛 ∈ 2o ↦ if(𝑚 = 𝑛, {2o}, if((𝑚 = ∅ ∧ 𝑛 = 1o), 2o, ∅)))⟩, ⟨(comp‘ndx), (𝑝 ∈ (2o × 2o), 𝑞 ∈ 2o ↦ (𝑟 ∈ 3o, 𝑠 ∈ 3o ↦ (𝑟 ∩ 𝑠)))⟩}    &   𝑄 = (𝐶 FuncCat 𝐸)    &   𝐿 = (⟨𝐶, 𝐶⟩ ∘F 𝐸)    &   𝑇 = ((𝐶 FuncCat 𝐸) ×c (𝐶 FuncCat 𝐶))    ⇒   ∃𝑧((1st ‘𝐿)(𝑇 Func 𝑄)𝑧 ∧ 𝑧 ≠ (2nd ‘𝐿))
 
14-Sep-2026fuconuniqvalslem 50876 Lemma for fuconuniqvals 50877. (Contributed by Zhi Wang, 14-Sep-2026.) (New usage is discouraged.)
𝐶 = (SetCat‘1o)    &   𝐸 = {⟨(Base‘ndx), 2o⟩, ⟨(Hom ‘ndx), (𝑚 ∈ 2o, 𝑛 ∈ 2o ↦ if(𝑚 = 𝑛, {2o}, if((𝑚 = ∅ ∧ 𝑛 = 1o), 2o, ∅)))⟩, ⟨(comp‘ndx), (𝑝 ∈ (2o × 2o), 𝑞 ∈ 2o ↦ (𝑟 ∈ 3o, 𝑠 ∈ 3o ↦ (𝑟 ∩ 𝑠)))⟩}    &   𝑄 = (𝐶 FuncCat 𝐸)    &   𝐿 = (⟨𝐶, 𝐶⟩ ∘F 𝐸)    &   𝐴 = (𝑏 ∈ 3o ↦ if(𝑏 = 2o, 2o, if(𝑏 = ∅, 1o, ∅)))    &   𝑀 = (𝑢 ∈ 2o, 𝑣 ∈ 2o ↦ (𝑎 ∈ (𝑢(𝑚 ∈ 2o, 𝑛 ∈ 2o ↦ if(𝑚 = 𝑛, {2o}, if((𝑚 = ∅ ∧ 𝑛 = 1o), 2o, ∅)))𝑣) ↦ (𝐴‘𝑎)))    &   𝑆 = ⟨( I ↾ 2o), 𝑀⟩    &   𝑅 = (𝐸 FuncCat 𝐸)    &    ⚬ = (⟨𝑅, 𝑄⟩ curryF (⟨𝐶, 𝐸⟩ ∘F 𝐸))    &   𝐾 = ((1st ‘ ⚬ )‘𝑆)    &   𝐷 = (𝐸Δfunc𝐶)    &   𝐹 = ((1st ‘𝐷)‘∅)    &   𝐺 = ((1st ‘𝐷)‘1o)    &   𝑁 = (1o × {∅})    &   𝑇 = ((𝐶 FuncCat 𝐸) ×c (𝐶 FuncCat 𝐶))    ⇒   (((𝑁(⟨𝐹, (idfunc‘𝐶)⟩(2nd ‘𝐿)⟨𝐺, (idfunc‘𝐶)⟩)((Id‘(𝐶 FuncCat 𝐶))‘(idfunc‘𝐶)))‘∅) = ∅ ∧ ((𝑁(⟨𝐹, (idfunc‘𝐶)⟩(2nd ‘(𝐾 ∘func 𝐿))⟨𝐺, (idfunc‘𝐶)⟩)((Id‘(𝐶 FuncCat 𝐶))‘(idfunc‘𝐶)))‘∅) = 1o)
 
14-Sep-2026fuconuniqlem 50874 Lemma for fuconuniq 50875. (Contributed by Zhi Wang, 14-Sep-2026.) (New usage is discouraged.)
𝐶 = (SetCat‘1o)    &   𝐸 = {⟨(Base‘ndx), 2o⟩, ⟨(Hom ‘ndx), (𝑚 ∈ 2o, 𝑛 ∈ 2o ↦ if(𝑚 = 𝑛, {2o}, if((𝑚 = ∅ ∧ 𝑛 = 1o), 2o, ∅)))⟩, ⟨(comp‘ndx), (𝑝 ∈ (2o × 2o), 𝑞 ∈ 2o ↦ (𝑟 ∈ 3o, 𝑠 ∈ 3o ↦ (𝑟 ∩ 𝑠)))⟩}    &   𝑄 = (𝐶 FuncCat 𝐸)    &   𝐿 = (⟨𝐶, 𝐶⟩ ∘F 𝐸)    &   𝐴 = (𝑏 ∈ 3o ↦ if(𝑏 = 2o, 2o, if(𝑏 = ∅, 1o, ∅)))    &   𝑀 = (𝑢 ∈ 2o, 𝑣 ∈ 2o ↦ (𝑎 ∈ (𝑢(𝑚 ∈ 2o, 𝑛 ∈ 2o ↦ if(𝑚 = 𝑛, {2o}, if((𝑚 = ∅ ∧ 𝑛 = 1o), 2o, ∅)))𝑣) ↦ (𝐴‘𝑎)))    &   𝑆 = ⟨( I ↾ 2o), 𝑀⟩    &   𝑅 = (𝐸 FuncCat 𝐸)    &    ⚬ = (⟨𝑅, 𝑄⟩ curryF (⟨𝐶, 𝐸⟩ ∘F 𝐸))    &   𝐾 = ((1st ‘ ⚬ )‘𝑆)    &   𝑇 = ((𝐶 FuncCat 𝐸) ×c (𝐶 FuncCat 𝐶))    &   𝐷 = (𝐸Δfunc𝐶)    &   𝐹 = ((1st ‘𝐷)‘∅)    &   𝐺 = ((1st ‘𝐷)‘1o)    &   𝑁 = (1o × {∅})    ⇒   ((1st ‘𝐿)(𝑇 Func 𝑄)(2nd ‘(𝐾 ∘func 𝐿)) ∧ (2nd ‘(𝐾 ∘func 𝐿)) ≠ (2nd ‘𝐿))
 
14-Sep-2026par2diag 50873 Two constant functors into the concrete parallel-arrow category and a natural transformation whose component is the empty-set arrow. (Contributed by Zhi Wang, 14-Sep-2026.)
𝐶 = (SetCat‘1o)    &   𝐸 = {⟨(Base‘ndx), 2o⟩, ⟨(Hom ‘ndx), (𝑚 ∈ 2o, 𝑛 ∈ 2o ↦ if(𝑚 = 𝑛, {2o}, if((𝑚 = ∅ ∧ 𝑛 = 1o), 2o, ∅)))⟩, ⟨(comp‘ndx), (𝑝 ∈ (2o × 2o), 𝑞 ∈ 2o ↦ (𝑟 ∈ 3o, 𝑠 ∈ 3o ↦ (𝑟 ∩ 𝑠)))⟩}    &   𝐿 = (𝐸Δfunc𝐶)    &   𝐹 = ((1st ‘𝐿)‘∅)    &   𝐺 = ((1st ‘𝐿)‘1o)    &   𝐴 = (1o × {∅})    ⇒   ((𝐹 ∈ (𝐶 Func 𝐸) ∧ 𝐺 ∈ (𝐶 Func 𝐸)) ∧ (𝐴 ∈ (𝐹(𝐶 Nat 𝐸)𝐺) ∧ (𝐴‘∅) = ∅) ∧ (((1st ‘𝐹)‘∅) = ∅ ∧ ((1st ‘𝐺)‘∅) = 1o))
 
14-Sep-2026par2hom 50872 The four hom-sets of the explicit two-object parallel-arrow category. (Contributed by Zhi Wang, 14-Sep-2026.)
𝐻 = (𝑚 ∈ 2o, 𝑛 ∈ 2o ↦ if(𝑚 = 𝑛, {2o}, if((𝑚 = ∅ ∧ 𝑛 = 1o), 2o, ∅)))    ⇒   ((∅𝐻∅) = {2o} ∧ (1o𝐻1o) = {2o} ∧ ((∅𝐻1o) = 2o ∧ (1o𝐻∅) = ∅))
 
14-Sep-2026parswapfunc 50871 The explicit exchange of the two parallel nonidentity arrows is an endofunctor with identity object function. (Contributed by Zhi Wang, 14-Sep-2026.)
𝐶 = {⟨(Base‘ndx), 2o⟩, ⟨(Hom ‘ndx), (𝑚 ∈ 2o, 𝑛 ∈ 2o ↦ if(𝑚 = 𝑛, {2o}, if((𝑚 = ∅ ∧ 𝑛 = 1o), 2o, ∅)))⟩, ⟨(comp‘ndx), (𝑝 ∈ (2o × 2o), 𝑞 ∈ 2o ↦ (𝑟 ∈ 3o, 𝑠 ∈ 3o ↦ (𝑟 ∩ 𝑠)))⟩}    &   𝐴 = (𝑏 ∈ 3o ↦ if(𝑏 = 2o, 2o, if(𝑏 = ∅, 1o, ∅)))    &   𝐿 = (𝑢 ∈ 2o, 𝑣 ∈ 2o ↦ (𝑎 ∈ (𝑢(𝑚 ∈ 2o, 𝑛 ∈ 2o ↦ if(𝑚 = 𝑛, {2o}, if((𝑚 = ∅ ∧ 𝑛 = 1o), 2o, ∅)))𝑣) ↦ (𝐴‘𝑎)))    ⇒   ⟨( I ↾ 2o), 𝐿⟩ ∈ (𝐶 Func 𝐶)
 
14-Sep-2026parswapprop 50870 The concrete transposition fixes the identity, preserves the parallel arrows, and sends the empty-set arrow to the ordinal-one arrow. (Contributed by Zhi Wang, 14-Sep-2026.)
𝐴 = (𝑏 ∈ 3o ↦ if(𝑏 = 2o, 2o, if(𝑏 = ∅, 1o, ∅)))    ⇒   ((𝐴‘2o) = 2o ∧ ∀𝑡 ∈ 2o (𝐴‘𝑡) ∈ 2o ∧ (𝐴‘∅) = 1o)
 
14-Sep-2026parswapval 50869 Evaluate the transposition of the two parallel-arrow values. (Contributed by Zhi Wang, 14-Sep-2026.)
𝐴 = (𝑏 ∈ 3o ↦ if(𝑏 = 2o, 2o, if(𝑏 = ∅, 1o, ∅)))    ⇒   (𝑈 ∈ 3o → (𝐴‘𝑈) = if(𝑈 = 2o, 2o, if(𝑈 = ∅, 1o, ∅)))
 
14-Sep-2026par2str 50862 The object set, hom operation, and composition of the concrete two-object parallel-arrow category. (Contributed by Zhi Wang, 14-Sep-2026.)
𝐶 = {⟨(Base‘ndx), 2o⟩, ⟨(Hom ‘ndx), (𝑚 ∈ 2o, 𝑛 ∈ 2o ↦ if(𝑚 = 𝑛, {2o}, if((𝑚 = ∅ ∧ 𝑛 = 1o), 2o, ∅)))⟩, ⟨(comp‘ndx), (𝑝 ∈ (2o × 2o), 𝑞 ∈ 2o ↦ (𝑟 ∈ 3o, 𝑠 ∈ 3o ↦ (𝑟 ∩ 𝑠)))⟩}    ⇒   (2o = (Base‘𝐶) ∧ (𝑚 ∈ 2o, 𝑛 ∈ 2o ↦ if(𝑚 = 𝑛, {2o}, if((𝑚 = ∅ ∧ 𝑛 = 1o), 2o, ∅))) = (Hom ‘𝐶) ∧ (𝑝 ∈ (2o × 2o), 𝑞 ∈ 2o ↦ (𝑟 ∈ 3o, 𝑠 ∈ 3o ↦ (𝑟 ∩ 𝑠))) = (comp‘𝐶))
 
14-Sep-2026par2cat 50861 The explicitly given two-object, two-parallel-arrow category exists. This closed theorem discharges the constructor premises in par2catid 50860. (Contributed by Zhi Wang, 14-Sep-2026.)
{⟨(Base‘ndx), 2o⟩, ⟨(Hom ‘ndx), (𝑚 ∈ 2o, 𝑛 ∈ 2o ↦ if(𝑚 = 𝑛, {2o}, if((𝑚 = ∅ ∧ 𝑛 = 1o), 2o, ∅)))⟩, ⟨(comp‘ndx), (𝑝 ∈ (2o × 2o), 𝑞 ∈ 2o ↦ (𝑟 ∈ 3o, 𝑠 ∈ 3o ↦ (𝑟 ∩ 𝑠)))⟩} ∈ Cat
 
14-Sep-2026par2catid 50860 A concrete category with two objects and two parallel nonidentity arrows. The two identity arrows both have raw value 2o; their sources and targets distinguish them. The parallel arrows have raw values the empty set and 1o. (Contributed by Zhi Wang, 14-Sep-2026.)
𝐶 = {⟨(Base‘ndx), 2o⟩, ⟨(Hom ‘ndx), (𝑚 ∈ 2o, 𝑛 ∈ 2o ↦ if(𝑚 = 𝑛, {2o}, if((𝑚 = ∅ ∧ 𝑛 = 1o), 2o, ∅)))⟩, ⟨(comp‘ndx), (𝑝 ∈ (2o × 2o), 𝑞 ∈ 2o ↦ (𝑟 ∈ 3o, 𝑠 ∈ 3o ↦ (𝑟 ∩ 𝑠)))⟩}    ⇒   (𝐶 ∈ Cat ∧ (Id‘𝐶) = (𝑦 ∈ 2o ↦ 2o))
 
14-Sep-2026parcoval 50855 The composition in the specified parallel-arrow categories is intersection. (Contributed by Zhi Wang, 14-Sep-2026.)
𝑀 = (𝑓 ∈ 𝐾, 𝑔 ∈ 𝐾 ↦ (𝑓 ∩ 𝑔))    &    · = (𝑝 ∈ (𝐵 × 𝐵), 𝑧 ∈ 𝐵 ↦ 𝑀)    &   𝑀 ∈ V    &   (𝜑 → 𝑈 ∈ 𝐵)    &   (𝜑 → 𝑉 ∈ 𝐵)    &   (𝜑 → 𝑊 ∈ 𝐵)    &   (𝜑 → 𝐹 ∈ 𝐾)    &   (𝜑 → 𝐺 ∈ 𝐾)    ⇒   (𝜑 → (𝐺(⟨𝑈, 𝑉⟩ · 𝑊)𝐹) = (𝐺 ∩ 𝐹))
 
14-Sep-2026parhomid2 50844 Variant of parhomid 50845. (Contributed by Zhi Wang, 14-Sep-2026.) (Proof modification is discouraged.) (New usage is discouraged.)
𝐻 = (𝑥 ∈ 𝐵, 𝑦 ∈ 𝐵 ↦ if(𝑥 = 𝑦, {𝐽}, if((𝑥 = 𝑋 ∧ 𝑦 = 𝑌), 𝑆, ∅)))    &   𝐽 ∈ V    &   (𝜑 → 𝑈 ∈ 𝐵)    &   𝑆 ∈ V    ⇒   (𝜑 → 𝐽 ∈ (𝑈𝐻𝑈))
 
14-Sep-2026parhomideq2 50842 Variant of parhomideq 50843. (Contributed by Zhi Wang, 14-Sep-2026.) (Proof modification is discouraged.) (New usage is discouraged.)
𝐻 = (𝑥 ∈ 𝐵, 𝑦 ∈ 𝐵 ↦ if(𝑥 = 𝑦, {𝐽}, if((𝑥 = 𝑋 ∧ 𝑦 = 𝑌), 𝑆, ∅)))    &   (𝜑 → 𝐹 ∈ (𝑈𝐻𝑉))    &   (𝜑 → 𝑈 = 𝑉)    &   𝑆 ∈ V    &   𝐽 ∈ V    &   (𝜑 → 𝑈 ∈ 𝐵)    &   (𝜑 → 𝑉 ∈ 𝐵)    ⇒   (𝜑 → 𝐹 = 𝐽)
 
14-Sep-2026parhomel 50837 Membership in a hom-set of a parallel-arrow category is equivalent to being its identity value on the diagonal, or a member of 𝑆 at the distinguished source and target. (Contributed by Zhi Wang, 14-Sep-2026.)
𝐻 = (𝑥 ∈ 𝐵, 𝑦 ∈ 𝐵 ↦ if(𝑥 = 𝑦, {𝐽}, if((𝑥 = 𝑋 ∧ 𝑦 = 𝑌), 𝑆, ∅)))    &   𝑆 ∈ V    &   𝐽 ∈ V    ⇒   ((𝑈 ∈ 𝐵 ∧ 𝑉 ∈ 𝐵) → (𝐹 ∈ (𝑈𝐻𝑉) ↔ ((𝑈 = 𝑉 ∧ 𝐹 = 𝐽) ∨ (¬ 𝑈 = 𝑉 ∧ ((𝑈 = 𝑋 ∧ 𝑉 = 𝑌) ∧ 𝐹 ∈ 𝑆)))))
 
14-Sep-2026parhomval 50836 At objects in the base, the hom operation has value {𝐽} on the diagonal, 𝑆 from the distinguished source to target, and the empty set otherwise. (Contributed by Zhi Wang, 14-Sep-2026.)
𝐻 = (𝑥 ∈ 𝐵, 𝑦 ∈ 𝐵 ↦ if(𝑥 = 𝑦, {𝐽}, if((𝑥 = 𝑋 ∧ 𝑦 = 𝑌), 𝑆, ∅)))    &   𝑆 ∈ V    ⇒   ((𝑈 ∈ 𝐵 ∧ 𝑉 ∈ 𝐵) → (𝑈𝐻𝑉) = if(𝑈 = 𝑉, {𝐽}, if((𝑈 = 𝑋 ∧ 𝑉 = 𝑌), 𝑆, ∅)))
 
14-Sep-2026termcpostfix 50765 Post-composition by an object-fixing endofunctor induces an object-fixing endofunctor on a functor category with terminal source. (Contributed by Zhi Wang, 14-Sep-2026.)
(𝜑 → 𝐶 ∈ TermCat)    &   𝑄 = (𝐶 FuncCat 𝐷)    &   𝑅 = (𝐷 FuncCat 𝐷)    &    ⚬ = (⟨𝑅, 𝑄⟩ curryF (⟨𝐶, 𝐷⟩ ∘F 𝐷))    &   𝐾 = ((1st ‘ ⚬ )‘𝐹)    &   (𝜑 → 𝐹 ∈ (𝐷 Func 𝐷))    &   (𝜑 → (1st ‘𝐹) = ( I ↾ 𝐴))    ⇒   (𝜑 → (𝐾 ∈ (𝑄 Func 𝑄) ∧ (1st ‘𝐾) = ( I ↾ (𝐶 Func 𝐷))))
 
14-Sep-2026termccofix 50764 Post-composition by an object-fixing endofunctor leaves a functor with terminal source literally unchanged. (Contributed by Zhi Wang, 14-Sep-2026.)
(𝜑 → 𝐶 ∈ TermCat)    &   (𝜑 → 𝐹 ∈ (𝐶 Func 𝐷))    &   (𝜑 → 𝑆 ∈ (𝐷 Func 𝐷))    &   (𝜑 → (1st ‘𝑆) = ( I ↾ 𝐴))    ⇒   (𝜑 → (𝑆 ∘func 𝐹) = 𝐹)
 
14-Sep-2026termcfunc1eq 50763 Functors with terminal source are equal when they agree on its object. (Contributed by Zhi Wang, 14-Sep-2026.)
(𝜑 → 𝐶 ∈ TermCat)    &   (𝜑 → 𝐹 ∈ (𝐶 Func 𝐷))    &   𝐵 = (Base‘𝐶)    &   (𝜑 → 𝐺 ∈ (𝐶 Func 𝐷))    &   (𝜑 → 𝑌 ∈ 𝐵)    &   (𝜑 → ((1st ‘𝐹)‘𝑌) = ((1st ‘𝐺)‘𝑌))    ⇒   (𝜑 → 𝐹 = 𝐺)
 
14-Sep-2026postcof2 50593 A component of the action of a post-composition functor is obtained by applying the morphism part of 𝐹 to the component morphism. (Contributed by Zhi Wang, 14-Sep-2026.)
𝑄 = (𝐶 FuncCat 𝐷)    &   𝑅 = (𝐷 FuncCat 𝐸)    &    ⚬ = (⟨𝑅, 𝑄⟩ curryF (⟨𝐶, 𝐷⟩ ∘F 𝐸))    &   (𝜑 → 𝐹 ∈ (𝐷 Func 𝐸))    &   (𝜑 → 𝐶 ∈ Cat)    &   𝐾 = ((1st ‘ ⚬ )‘𝐹)    &   (𝜑 → 𝐺 ∈ (𝐶 Func 𝐷))    &   (𝜑 → 𝐻 ∈ (𝐶 Func 𝐷))    &   (𝜑 → 𝐴 ∈ (𝐺(𝐶 Nat 𝐷)𝐻))    &   (𝜑 → 𝑋 ∈ (Base‘𝐶))    ⇒   (𝜑 → (((𝐺(2nd ‘𝐾)𝐻)‘𝐴)‘𝑋) = ((((1st ‘𝐺)‘𝑋)(2nd ‘𝐹)((1st ‘𝐻)‘𝑋))‘(𝐴‘𝑋)))
 
14-Sep-2026postcof2nd 50592 The morphism part of the explicit post-composition functor sends a pair of functors to the induced map on natural transformations. (Contributed by Zhi Wang, 14-Sep-2026.)
𝑄 = (𝐶 FuncCat 𝐷)    &   𝑅 = (𝐷 FuncCat 𝐸)    &    ⚬ = (⟨𝑅, 𝑄⟩ curryF (⟨𝐶, 𝐷⟩ ∘F 𝐸))    &   (𝜑 → 𝐹 ∈ (𝐷 Func 𝐸))    &   (𝜑 → 𝐶 ∈ Cat)    &   𝐾 = ((1st ‘ ⚬ )‘𝐹)    ⇒   (𝜑 → (2nd ‘𝐾) = (𝑔 ∈ (𝐶 Func 𝐷), ℎ ∈ (𝐶 Func 𝐷) ↦ (𝑎 ∈ (𝑔(𝐶 Nat 𝐷)ℎ) ↦ (𝑥 ∈ (Base‘𝐶) ↦ ((((1st ‘𝑔)‘𝑥)(2nd ‘𝐹)((1st ‘ℎ)‘𝑥))‘(𝑎‘𝑥))))))
 
14-Sep-2026postcof1st 50591 The object part of the explicit post-composition functor sends each functor to its post-composition with 𝐹. (Contributed by Zhi Wang, 14-Sep-2026.)
𝑄 = (𝐶 FuncCat 𝐷)    &   𝑅 = (𝐷 FuncCat 𝐸)    &    ⚬ = (⟨𝑅, 𝑄⟩ curryF (⟨𝐶, 𝐷⟩ ∘F 𝐸))    &   (𝜑 → 𝐹 ∈ (𝐷 Func 𝐸))    &   (𝜑 → 𝐶 ∈ Cat)    &   𝐾 = ((1st ‘ ⚬ )‘𝐹)    ⇒   (𝜑 → (1st ‘𝐾) = (𝑔 ∈ (𝐶 Func 𝐷) ↦ (𝐹 ∘func 𝑔)))
 
14-Sep-2026fucoaltnelem 50587 Lemma for fucoaltne 50588. (Contributed by Zhi Wang, 14-Sep-2026.) (New usage is discouraged.)
𝑄 = (𝐶 FuncCat 𝐸)    &   𝐿 = (⟨𝐶, 𝐶⟩ ∘F 𝐸)    &   (𝜑 → 𝐶 ∈ Cat)    &   (𝜑 → 𝐸 ∈ Cat)    &   (𝜑 → 𝐾 ∈ (𝑄 Func 𝑄))    &   (𝜑 → 𝐹 ∈ (𝐶 Func 𝐸))    &   (𝜑 → 𝐺 ∈ (𝐶 Func 𝐸))    &   (𝜑 → 𝐴 ∈ (𝐹(𝐶 Nat 𝐸)𝐺))    &   (𝜑 → ((𝐹(2nd ‘𝐾)𝐺)‘𝐴) ≠ 𝐴)    &   𝑇 = ((𝐶 FuncCat 𝐸) ×c (𝐶 FuncCat 𝐶))    &   𝐼 = (idfunc‘𝐶)    &   𝐽 = (Id‘(𝐶 FuncCat 𝐶))    ⇒   (𝜑 → (2nd ‘(𝐾 ∘func 𝐿)) ≠ (2nd ‘𝐿))
 
14-Sep-2026fucoaltvallem 50585 Lemma for fucoaltval 50586. (Contributed by Zhi Wang, 14-Sep-2026.) (New usage is discouraged.)
𝑄 = (𝐶 FuncCat 𝐸)    &   𝐿 = (⟨𝐶, 𝐶⟩ ∘F 𝐸)    &   (𝜑 → 𝐶 ∈ Cat)    &   (𝜑 → 𝐸 ∈ Cat)    &   (𝜑 → 𝐾 ∈ (𝑄 Func 𝑄))    &   (𝜑 → 𝐹 ∈ (𝐶 Func 𝐸))    &   (𝜑 → 𝐺 ∈ (𝐶 Func 𝐸))    &   (𝜑 → 𝐴 ∈ (𝐹(𝐶 Nat 𝐸)𝐺))    &   𝐼 = (idfunc‘𝐶)    &   𝐽 = (Id‘(𝐶 FuncCat 𝐶))    &   𝑇 = ((𝐶 FuncCat 𝐸) ×c (𝐶 FuncCat 𝐶))    ⇒   (𝜑 → (𝐴(⟨𝐹, 𝐼⟩(2nd ‘(𝐾 ∘func 𝐿))⟨𝐺, 𝐼⟩)(𝐽‘𝐼)) = ((𝐹(2nd ‘𝐾)𝐺)‘𝐴))
 
14-Sep-2026fucoaltfunc 50584 Post-compose functor composition with an object-fixing endofunctor of its target. The original object function remains literally fixed for arbitrary source and intermediate categories. (Contributed by Zhi Wang, 14-Sep-2026.)
𝑄 = (𝐶 FuncCat 𝐸)    &   𝑇 = ((𝐷 FuncCat 𝐸) ×c (𝐶 FuncCat 𝐷))    &   𝐿 = (⟨𝐶, 𝐷⟩ ∘F 𝐸)    &   (𝜑 → 𝐶 ∈ Cat)    &   (𝜑 → 𝐷 ∈ Cat)    &   (𝜑 → 𝐸 ∈ Cat)    &   (𝜑 → 𝐾 ∈ (𝑄 Func 𝑄))    &   (𝜑 → (1st ‘𝐾) = ( I ↾ (𝐶 Func 𝐸)))    ⇒   (𝜑 → (1st ‘𝐿)(𝑇 Func 𝑄)(2nd ‘(𝐾 ∘func 𝐿)))
 
14-Sep-2026fucoisfunc2lem2 50582 Lemma for fucoisfunc2 50583. (Contributed by Zhi Wang, 14-Sep-2026.) (New usage is discouraged.)
𝑊 = ((𝐷 Func 𝐸) × (𝐶 Func 𝐷))    &   𝑂 = ( ∘func ↾ 𝑊)    &   𝐵 = (Base‘𝐶)    &   𝑅 = (Hom ‘𝐶)    &   𝑆 = (Hom ‘𝐸)    &    ∙ = (comp‘𝐸)    &   𝑇 = ((𝐷 FuncCat 𝐸) ×c (𝐶 FuncCat 𝐷))    &   𝑄 = (𝐶 FuncCat 𝐸)    &   𝐻 = (Hom ‘𝑇)    &   𝐼 = (Id‘𝑇)    &    · = (comp‘𝑇)    &   (𝜑 → 𝐶 ∈ Cat)    &   (𝜑 → 𝐷 ∈ Cat)    &   (𝜑 → 𝐸 ∈ Cat)    &   𝐾 = (Id‘𝐸)    &   𝐽 = (Id‘𝑄)    &    ⚬ = (comp‘𝑄)    ⇒   (𝜑 → (𝑂(𝑇 Func 𝑄)𝑃 ↔ ((𝑃 = (𝑢 ∈ 𝑊, 𝑣 ∈ 𝑊 ↦ (𝑢𝑃𝑣)) ∧ ∀𝑚 ∈ 𝑊 ∀𝑛 ∈ 𝑊 ((𝑚𝑃𝑛) = (𝑏 ∈ ((1st ‘𝑚)(𝐷 Nat 𝐸)(1st ‘𝑛)), 𝑎 ∈ ((2nd ‘𝑚)(𝐶 Nat 𝐷)(2nd ‘𝑛)) ↦ (𝑏(𝑚𝑃𝑛)𝑎)) ∧ ∀𝑝 ∈ ((1st ‘𝑚)(𝐷 Nat 𝐸)(1st ‘𝑛))∀𝑞 ∈ ((2nd ‘𝑚)(𝐶 Nat 𝐷)(2nd ‘𝑛))((𝑝(𝑚𝑃𝑛)𝑞) = (𝑥 ∈ 𝐵 ↦ ((𝑝(𝑚𝑃𝑛)𝑞)‘𝑥)) ∧ ∀𝑥 ∈ 𝐵 ((𝑝(𝑚𝑃𝑛)𝑞)‘𝑥) ∈ (((1st ‘(𝑂‘𝑚))‘𝑥)𝑆((1st ‘(𝑂‘𝑛))‘𝑥)) ∧ ∀𝑥 ∈ 𝐵 ∀𝑦 ∈ 𝐵 ∀ℎ ∈ (𝑥𝑅𝑦)(((𝑝(𝑚𝑃𝑛)𝑞)‘𝑦)(⟨((1st ‘(𝑂‘𝑚))‘𝑥), ((1st ‘(𝑂‘𝑚))‘𝑦)⟩ ∙ ((1st ‘(𝑂‘𝑛))‘𝑦))((𝑥(2nd ‘(𝑂‘𝑚))𝑦)‘ℎ)) = (((𝑥(2nd ‘(𝑂‘𝑛))𝑦)‘ℎ)(⟨((1st ‘(𝑂‘𝑚))‘𝑥), ((1st ‘(𝑂‘𝑛))‘𝑥)⟩ ∙ ((1st ‘(𝑂‘𝑛))‘𝑦))((𝑝(𝑚𝑃𝑛)𝑞)‘𝑥))))) ∧ ∀𝑥 ∈ 𝑊 (∀𝑡 ∈ 𝐵 (((𝑥𝑃𝑥)‘(𝐼‘𝑥))‘𝑡) = (𝐾‘((1st ‘(𝑂‘𝑥))‘𝑡)) ∧ ∀𝑦 ∈ 𝑊 ∀𝑧 ∈ 𝑊 ∀𝑚 ∈ (𝑥𝐻𝑦)∀𝑛 ∈ (𝑦𝐻𝑧)∀𝑡 ∈ 𝐵 (((𝑥𝑃𝑧)‘(𝑛(⟨𝑥, 𝑦⟩ · 𝑧)𝑚))‘𝑡) = ((((𝑦𝑃𝑧)‘𝑛)‘𝑡)(⟨((1st ‘(𝑂‘𝑥))‘𝑡), ((1st ‘(𝑂‘𝑦))‘𝑡)⟩ ∙ ((1st ‘(𝑂‘𝑧))‘𝑡))(((𝑥𝑃𝑦)‘𝑚)‘𝑡))))))
 
14-Sep-2026fucoisfunc2lem1 50581 Lemma for fucoisfunc2lem2 50582. An equivalence that expands the transformation outputs of a composition-shaped hom-family into exact component functions, component typing, and naturality. The component values are arbitrary; no canonical value is imposed. (Contributed by Zhi Wang, 14-Sep-2026.)
𝑊 = ((𝐷 Func 𝐸) × (𝐶 Func 𝐷))    &   𝑂 = ( ∘func ↾ 𝑊)    &   𝐵 = (Base‘𝐶)    &   𝑅 = (Hom ‘𝐶)    &   𝑆 = (Hom ‘𝐸)    &    ∙ = (comp‘𝐸)    ⇒   ((𝑃 = (𝑢 ∈ 𝑊, 𝑣 ∈ 𝑊 ↦ (𝑢𝑃𝑣)) ∧ ∀𝑚 ∈ 𝑊 ∀𝑛 ∈ 𝑊 ((𝑚𝑃𝑛) = (𝑏 ∈ ((1st ‘𝑚)(𝐷 Nat 𝐸)(1st ‘𝑛)), 𝑎 ∈ ((2nd ‘𝑚)(𝐶 Nat 𝐷)(2nd ‘𝑛)) ↦ (𝑏(𝑚𝑃𝑛)𝑎)) ∧ ∀𝑝 ∈ ((1st ‘𝑚)(𝐷 Nat 𝐸)(1st ‘𝑛))∀𝑞 ∈ ((2nd ‘𝑚)(𝐶 Nat 𝐷)(2nd ‘𝑛))(𝑝(𝑚𝑃𝑛)𝑞) ∈ ((𝑂‘𝑚)(𝐶 Nat 𝐸)(𝑂‘𝑛)))) ↔ (𝑃 = (𝑢 ∈ 𝑊, 𝑣 ∈ 𝑊 ↦ (𝑢𝑃𝑣)) ∧ ∀𝑚 ∈ 𝑊 ∀𝑛 ∈ 𝑊 ((𝑚𝑃𝑛) = (𝑏 ∈ ((1st ‘𝑚)(𝐷 Nat 𝐸)(1st ‘𝑛)), 𝑎 ∈ ((2nd ‘𝑚)(𝐶 Nat 𝐷)(2nd ‘𝑛)) ↦ (𝑏(𝑚𝑃𝑛)𝑎)) ∧ ∀𝑝 ∈ ((1st ‘𝑚)(𝐷 Nat 𝐸)(1st ‘𝑛))∀𝑞 ∈ ((2nd ‘𝑚)(𝐶 Nat 𝐷)(2nd ‘𝑛))((𝑝(𝑚𝑃𝑛)𝑞) = (𝑥 ∈ 𝐵 ↦ ((𝑝(𝑚𝑃𝑛)𝑞)‘𝑥)) ∧ ∀𝑥 ∈ 𝐵 ((𝑝(𝑚𝑃𝑛)𝑞)‘𝑥) ∈ (((1st ‘(𝑂‘𝑚))‘𝑥)𝑆((1st ‘(𝑂‘𝑛))‘𝑥)) ∧ ∀𝑥 ∈ 𝐵 ∀𝑦 ∈ 𝐵 ∀ℎ ∈ (𝑥𝑅𝑦)(((𝑝(𝑚𝑃𝑛)𝑞)‘𝑦)(⟨((1st ‘(𝑂‘𝑚))‘𝑥), ((1st ‘(𝑂‘𝑚))‘𝑦)⟩ ∙ ((1st ‘(𝑂‘𝑛))‘𝑦))((𝑥(2nd ‘(𝑂‘𝑚))𝑦)‘ℎ)) = (((𝑥(2nd ‘(𝑂‘𝑛))𝑦)‘ℎ)(⟨((1st ‘(𝑂‘𝑚))‘𝑥), ((1st ‘(𝑂‘𝑛))‘𝑥)⟩ ∙ ((1st ‘(𝑂‘𝑛))‘𝑦))((𝑝(𝑚𝑃𝑛)𝑞)‘𝑥))))))
 
14-Sep-2026fucoisfunc 50580 A characterization of functors with the object part of functor composition, in terms of an exact morphism function and compatible component functors. See fucoisfunc2 50583 for the componentwise form. (Contributed by Zhi Wang, 14-Sep-2026.)
𝑊 = ((𝐷 Func 𝐸) × (𝐶 Func 𝐷))    &   𝑇 = ((𝐷 FuncCat 𝐸) ×c (𝐶 FuncCat 𝐷))    &   𝑄 = (𝐶 FuncCat 𝐸)    &   𝑂 = ( ∘func ↾ 𝑊)    &   𝐻 = (Hom ‘𝑇)    &   𝐼 = (Id‘𝑇)    &   𝐽 = (Id‘𝑄)    &    · = (comp‘𝑇)    &    ⚬ = (comp‘𝑄)    &   (𝜑 → 𝐶 ∈ Cat)    &   (𝜑 → 𝐷 ∈ Cat)    &   (𝜑 → 𝐸 ∈ Cat)    ⇒   (𝜑 → (𝑂(𝑇 Func 𝑄)𝑃 ↔ ((𝑃 = (𝑢 ∈ 𝑊, 𝑣 ∈ 𝑊 ↦ (𝑢𝑃𝑣)) ∧ ∀𝑚 ∈ 𝑊 ∀𝑛 ∈ 𝑊 ((𝑚𝑃𝑛) = (𝑏 ∈ ((1st ‘𝑚)(𝐷 Nat 𝐸)(1st ‘𝑛)), 𝑎 ∈ ((2nd ‘𝑚)(𝐶 Nat 𝐷)(2nd ‘𝑛)) ↦ (𝑏(𝑚𝑃𝑛)𝑎)) ∧ ∀𝑝 ∈ ((1st ‘𝑚)(𝐷 Nat 𝐸)(1st ‘𝑛))∀𝑞 ∈ ((2nd ‘𝑚)(𝐶 Nat 𝐷)(2nd ‘𝑛))(𝑝(𝑚𝑃𝑛)𝑞) ∈ ((𝑂‘𝑚)(𝐶 Nat 𝐸)(𝑂‘𝑛)))) ∧ ∀𝑥 ∈ 𝑊 (((𝑥𝑃𝑥)‘(𝐼‘𝑥)) = (𝐽‘(𝑂‘𝑥)) ∧ ∀𝑦 ∈ 𝑊 ∀𝑧 ∈ 𝑊 ∀𝑚 ∈ (𝑥𝐻𝑦)∀𝑛 ∈ (𝑦𝐻𝑧)((𝑥𝑃𝑧)‘(𝑛(⟨𝑥, 𝑦⟩ · 𝑧)𝑚)) = (((𝑦𝑃𝑧)‘𝑛)(⟨(𝑂‘𝑥), (𝑂‘𝑦)⟩ ⚬ (𝑂‘𝑧))((𝑥𝑃𝑦)‘𝑚))))))
 
14-Sep-2026fucidcobi 50440 Componentwise functor laws for a correctly typed hom-family into a functor category. The source category 𝑇 and object assignment 𝑂 are arbitrary: the identity and composition laws are equivalent to their component equations. No functor law is assumed in the hypotheses. Functor composition is an application in fucoisfunc2 50583. (Contributed by Zhi Wang, 14-Sep-2026.)
𝑊 = (Base‘𝑇)    &   𝑄 = (𝐶 FuncCat 𝐸)    &   𝐵 = (Base‘𝐶)    &   𝐻 = (Hom ‘𝑇)    &   𝐼 = (Id‘𝑇)    &   𝐽 = (Id‘𝑄)    &   𝐾 = (Id‘𝐸)    &    · = (comp‘𝑇)    &    ⚬ = (comp‘𝑄)    &    ∙ = (comp‘𝐸)    &   (𝜑 → 𝑇 ∈ Cat)    &   (𝜑 → 𝑃 ∈ X𝑣 ∈ (𝑊 × 𝑊)(((𝑂‘(1st ‘𝑣))(𝐶 Nat 𝐸)(𝑂‘(2nd ‘𝑣))) ↑m (𝐻‘𝑣)))    ⇒   (𝜑 → (∀𝑥 ∈ 𝑊 (((𝑥𝑃𝑥)‘(𝐼‘𝑥)) = (𝐽‘(𝑂‘𝑥)) ∧ ∀𝑦 ∈ 𝑊 ∀𝑧 ∈ 𝑊 ∀𝑚 ∈ (𝑥𝐻𝑦)∀𝑛 ∈ (𝑦𝐻𝑧)((𝑥𝑃𝑧)‘(𝑛(⟨𝑥, 𝑦⟩ · 𝑧)𝑚)) = (((𝑦𝑃𝑧)‘𝑛)(⟨(𝑂‘𝑥), (𝑂‘𝑦)⟩ ⚬ (𝑂‘𝑧))((𝑥𝑃𝑦)‘𝑚))) ↔ ∀𝑥 ∈ 𝑊 (∀𝑡 ∈ 𝐵 (((𝑥𝑃𝑥)‘(𝐼‘𝑥))‘𝑡) = (𝐾‘((1st ‘(𝑂‘𝑥))‘𝑡)) ∧ ∀𝑦 ∈ 𝑊 ∀𝑧 ∈ 𝑊 ∀𝑚 ∈ (𝑥𝐻𝑦)∀𝑛 ∈ (𝑦𝐻𝑧)∀𝑡 ∈ 𝐵 (((𝑥𝑃𝑧)‘(𝑛(⟨𝑥, 𝑦⟩ · 𝑧)𝑚))‘𝑡) = ((((𝑦𝑃𝑧)‘𝑛)‘𝑡)(⟨((1st ‘(𝑂‘𝑥))‘𝑡), ((1st ‘(𝑂‘𝑦))‘𝑡)⟩ ∙ ((1st ‘(𝑂‘𝑧))‘𝑡))(((𝑥𝑃𝑦)‘𝑚)‘𝑡)))))
 
14-Sep-2026natcoeq 50439 A natural transformation equals a composite exactly when all its components equal the corresponding composites, including when the object set is empty. (Contributed by Zhi Wang, 14-Sep-2026.)
𝑄 = (𝐶 FuncCat 𝐷)    &   𝑁 = (𝐶 Nat 𝐷)    &   𝐵 = (Base‘𝐶)    &    ⚬ = (comp‘𝐷)    &    · = (comp‘𝑄)    &   (𝜑 → 𝐴 ∈ (𝐹𝑁𝐺))    &   (𝜑 → 𝑅 ∈ (𝐺𝑁𝐻))    &   (𝜑 → 𝐿 ∈ (𝐹𝑁𝐻))    ⇒   (𝜑 → (𝐿 = (𝑅(⟨𝐹, 𝐺⟩ · 𝐻)𝐴) ↔ ∀𝑥 ∈ 𝐵 (𝐿‘𝑥) = ((𝑅‘𝑥)(⟨((1st ‘𝐹)‘𝑥), ((1st ‘𝐺)‘𝑥)⟩ ⚬ ((1st ‘𝐻)‘𝑥))(𝐴‘𝑥))))
 
14-Sep-2026natideq 50438 A natural transformation is an identity exactly when all its components are identities. This also covers an empty object set. (Contributed by Zhi Wang, 14-Sep-2026.)
𝑄 = (𝐶 FuncCat 𝐷)    &   𝑁 = (𝐶 Nat 𝐷)    &   𝐵 = (Base‘𝐶)    &   𝐼 = (Id‘𝑄)    &   𝐽 = (Id‘𝐷)    &   (𝜑 → 𝐴 ∈ (𝐹𝑁𝐹))    ⇒   (𝜑 → (𝐴 = (𝐼‘𝐹) ↔ ∀𝑥 ∈ 𝐵 (𝐴‘𝑥) = (𝐽‘((1st ‘𝐹)‘𝑥))))
 
14-Sep-2026nateq 50437 Two natural transformations with the same source and target are equal exactly when all their components agree. (Contributed by Zhi Wang, 14-Sep-2026.)
𝑁 = (𝐶 Nat 𝐷)    &   𝐵 = (Base‘𝐶)    &   (𝜑 → 𝐴 ∈ (𝐹𝑁𝐺))    &   (𝜑 → 𝐿 ∈ (𝐹𝑁𝐺))    ⇒   (𝜑 → (𝐴 = 𝐿 ↔ ∀𝑥 ∈ 𝐵 (𝐴‘𝑥) = (𝐿‘𝑥)))
 
14-Sep-2026natfn2 50436 A natural transformation is a function on the objects of the source category. (Contributed by Zhi Wang, 14-Sep-2026.)
𝑁 = (𝐶 Nat 𝐷)    &   𝐵 = (Base‘𝐶)    &   (𝜑 → 𝐴 ∈ (𝐹𝑁𝐺))    ⇒   (𝜑 → 𝐴 Fn 𝐵)
 
14-Sep-2026isnat3 50435 A natural transformation is an exact component function with typed values satisfying naturality. (Contributed by Zhi Wang, 14-Sep-2026.)
𝑁 = (𝐶 Nat 𝐷)    &   𝐵 = (Base‘𝐶)    &   𝐻 = (Hom ‘𝐶)    &   𝐽 = (Hom ‘𝐷)    &    · = (comp‘𝐷)    &   (𝜑 → 𝐹 ∈ (𝐶 Func 𝐷))    &   (𝜑 → 𝐺 ∈ (𝐶 Func 𝐷))    ⇒   (𝜑 → (𝐴 ∈ (𝐹𝑁𝐺) ↔ (𝐴 = (𝑥 ∈ 𝐵 ↦ (𝐴‘𝑥)) ∧ ∀𝑥 ∈ 𝐵 (𝐴‘𝑥) ∈ (((1st ‘𝐹)‘𝑥)𝐽((1st ‘𝐺)‘𝑥)) ∧ ∀𝑥 ∈ 𝐵 ∀𝑦 ∈ 𝐵 ∀ℎ ∈ (𝑥𝐻𝑦)((𝐴‘𝑦)(⟨((1st ‘𝐹)‘𝑥), ((1st ‘𝐹)‘𝑦)⟩ · ((1st ‘𝐺)‘𝑦))((𝑥(2nd ‘𝐹)𝑦)‘ℎ)) = (((𝑥(2nd ‘𝐺)𝑦)‘ℎ)(⟨((1st ‘𝐹)‘𝑥), ((1st ‘𝐺)‘𝑥)⟩ · ((1st ‘𝐺)‘𝑦))(𝐴‘𝑥)))))
 
14-Sep-2026ixpovf 50290 A member of an indexed product of function spaces has the indicated function type at each pair of indices. Hom-functions of a functor are one application. (Contributed by Zhi Wang, 14-Sep-2026.)
(𝜑 → 𝑃 ∈ X𝑧 ∈ (𝑊 × 𝑊)(((𝑂‘(1st ‘𝑧))𝑁(𝑂‘(2nd ‘𝑧))) ↑m (𝐻‘𝑧)))    &   (𝜑 → 𝑈 ∈ 𝑊)    &   (𝜑 → 𝑉 ∈ 𝑊)    ⇒   (𝜑 → (𝑈𝑃𝑉):(𝑈𝐻𝑉)⟶((𝑂‘𝑈)𝑁(𝑂‘𝑉)))
 
14-Sep-2026elixpmpt 50097 Membership in an indexed Cartesian product over a set is equivalent to being its exact function graph with components of the indicated types. (Contributed by Zhi Wang, 14-Sep-2026.)
𝐴 ∈ V    ⇒   (𝐹 ∈ X𝑥 ∈ 𝐴 𝐵 ↔ (𝐹 = (𝑥 ∈ 𝐴 ↦ (𝐹‘𝑥)) ∧ ∀𝑥 ∈ 𝐴 (𝐹‘𝑥) ∈ 𝐵))
 
14-Sep-2026fvmpomptd 50076 At an element of its inner domain, an iterated maps-to function has the value of its body. The operation 𝐻 is arbitrary; evaluation on a morphism in a hom-set is one application. (Contributed by Zhi Wang, 14-Sep-2026.)
𝐿 = (𝑢 ∈ 𝐵, 𝑣 ∈ 𝐵 ↦ (𝑎 ∈ (𝑢𝐻𝑣) ↦ (𝐴‘𝑎)))    &   (𝜑 → 𝑈 ∈ 𝐵)    &   (𝜑 → 𝑉 ∈ 𝐵)    &   (𝜑 → 𝐹 ∈ (𝑈𝐻𝑉))    ⇒   (𝜑 → ((𝑈𝐿𝑉)‘𝐹) = (𝐴‘𝐹))
 
14-Sep-2026ovmpomptd 50075 The outer value of an iterated maps-to function is the corresponding inner maps-to function. (Contributed by Zhi Wang, 14-Sep-2026.)
𝐿 = (𝑢 ∈ 𝐵, 𝑣 ∈ 𝐵 ↦ (𝑎 ∈ (𝑢𝐻𝑣) ↦ (𝐴‘𝑎)))    &   (𝜑 → 𝑈 ∈ 𝐵)    &   (𝜑 → 𝑉 ∈ 𝐵)    ⇒   (𝜑 → (𝑈𝐿𝑉) = (𝑎 ∈ (𝑈𝐻𝑉) ↦ (𝐴‘𝑎)))
 
14-Sep-2026fnmpompt 50074 Characterization of the outer domain of a chained maps-to expression. (Contributed by Zhi Wang, 14-Sep-2026.)
𝐿 = (𝑢 ∈ 𝐵, 𝑣 ∈ 𝐵 ↦ (𝑎 ∈ (𝑢𝐻𝑣) ↦ (𝐴‘𝑎)))    ⇒   𝐿 Fn (𝐵 × 𝐵)
 
14-Sep-2026elif0 50015 Membership in a conditional class with an empty set in the false-branch is equivalent to the condition and membership in the first class. (Contributed by Zhi Wang, 14-Sep-2026.)
(𝐴 ∈ if(𝜑, 𝐵, ∅) ↔ (𝜑 ∧ 𝐴 ∈ 𝐵))
 
12-Sep-2026isdrng2 21002 A division ring can equivalently be defined as a ring such that the nonzero elements form a group under multiplication (from which it follows that this is the same group as the group of units). (Contributed by Mario Carneiro, 2-Dec-2014.) (Proof shortened by AV, 12-Sep-2026.)
𝐵 = (Base‘𝑅)    &    0 = (0g‘𝑅)    &   𝐺 = ((mulGrp‘𝑅) ↾s (𝐵 ∖ { 0 }))    ⇒   (𝑅 ∈ DivRing ↔ (𝑅 ∈ Ring ∧ 𝐺 ∈ Grp))
 
12-Sep-2026sbcfung 6563 Distribute proper substitution through the function predicate. (Contributed by Alexander van der Vekens, 23-Jul-2017.) Shorten proof and remove dependency on ax-sep 5248 and ax-pr 5390. (Revised by Eric Schmidt, 12-Sep-2026.)
(𝐴 ∈ 𝑉 → ([𝐴 / 𝑥]Fun 𝐹 ↔ Fun ⦋𝐴 / 𝑥⦌𝐹))
 
10-Sep-2026onprcf1acwevdlem1 35964 Lemma for onprcf1acwevd 35966 and prconf1acwevd 35967. (Contributed by BTernaryTau, 10-Sep-2026.)
𝑊 = {𝑟 ∣ ∃𝑥 ∈ On (𝑟 ⊆ ((𝑅1‘𝑥) × (𝑅1‘𝑥)) ∧ 𝑟 We (𝑅1‘𝑥))}    ⇒   ((𝐴 ⊆ 𝑊 ∧ 𝐵 ∈ On ∧ ∀𝑦 ∈ 𝐴 ¬ 𝑦 We (𝑅1‘𝐵)) → 𝐴 ∈ V)
 
8-Sep-2026elhf3OLD 9926 Obsolete version of elhf3 9916 as of 17-Sep-2026. (Contributed by Eric Schmidt, 8-Sep-2026.) (Proof modification is discouraged.) (New usage is discouraged.)
(𝐴 ∈ HF ↔ (𝐴 ∈ Fin ∧ 𝐴 ⊆ HF ))
 
8-Sep-2026hffi 9912 Hereditarily finite sets are finite sets. (Contributed by BTernaryTau, 30-Dec-2025.) Restate using the defined HF symbol. (Revised by Eric Schmidt, 8-Sep-2026.)
(𝐴 ∈ HF → 𝐴 ∈ Fin)
 
8-Sep-2026funmpt3 7687 A function in maps-to notation with three arguments is a function. (Contributed by BTernaryTau, 8-Sep-2026.)
Fun (𝑥 ∈ 𝐴, 𝑦 ∈ 𝐵, 𝑧 ∈ 𝐶 ↦ 𝐷)
 
8-Sep-2026mpt3eqdv 7686 An equality deduction for maps-to notation. (Contributed by BTernaryTau, 8-Sep-2026.)
(𝜑 → 𝐴 = 𝐸)    &   (𝜑 → 𝐵 = 𝐹)    &   (𝜑 → 𝐶 = 𝐺)    &   ((𝜑 ∧ (𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵 ∧ 𝑧 ∈ 𝐶)) → 𝐷 = 𝐻)    ⇒   (𝜑 → (𝑥 ∈ 𝐴, 𝑦 ∈ 𝐵, 𝑧 ∈ 𝐶 ↦ 𝐷) = (𝑥 ∈ 𝐸, 𝑦 ∈ 𝐹, 𝑧 ∈ 𝐺 ↦ 𝐻))
 
8-Sep-2026mosubott 5483 "At most one" remains true inside ordered triple quantification, analogous to mosubopt 5481. (Contributed by BTernaryTau, 8-Sep-2026.)
(∀𝑥∀𝑦∀𝑧∃*𝑤𝜑 → ∃*𝑤∃𝑥∃𝑦∃𝑧(𝐴 = ⟨𝑥, 𝑦, 𝑧⟩ ∧ 𝜑))
 
8-Sep-2026cotsexgw 5462 Substitution of class 𝐴 for ordered triple ⟨𝑥, 𝑦, 𝑧⟩, analogous to copsexgw 5459. (Contributed by BTernaryTau, 8-Sep-2026.)
(𝐴 = ⟨𝑥, 𝑦, 𝑧⟩ → (𝜑 ↔ ∃𝑥∃𝑦∃𝑧(𝐴 = ⟨𝑥, 𝑦, 𝑧⟩ ∧ 𝜑)))
 
8-Sep-2026eqvinot 5456 A variable introduction law for ordered triples, analogous to eqvinop 5455. (Contributed by BTernaryTau, 8-Sep-2026.)
𝐵 ∈ V    &   𝐶 ∈ V    &   𝐷 ∈ V    ⇒   (𝐴 = ⟨𝐵, 𝐶, 𝐷⟩ ↔ ∃𝑥∃𝑦∃𝑧(𝐴 = ⟨𝑥, 𝑦, 𝑧⟩ ∧ ⟨𝑥, 𝑦, 𝑧⟩ = ⟨𝐵, 𝐶, 𝐷⟩))
 
8-Sep-2026ax12ev2c 2216 A commuted form of ax12ev2 2215. (Contributed by BTernaryTau, 8-Sep-2026.)
(𝑥 = 𝑦 → (∃𝑦(𝑥 = 𝑦 ∧ 𝜑) → 𝜑))
 
7-Sep-2026mpt3mpt 7685 Express a three-argument function as a one-argument function, or vice-versa. (Contributed by BTernaryTau, 7-Sep-2026.)
(𝑤 = ⟨𝑥, 𝑦, 𝑧⟩ → 𝐷 = 𝐸)    ⇒   (𝑤 ∈ ((𝐴 × 𝐵) × 𝐶) ↦ 𝐷) = (𝑥 ∈ 𝐴, 𝑦 ∈ 𝐵, 𝑧 ∈ 𝐶 ↦ 𝐸)
 
6-Sep-2026tz7.48lem 8453 A way of showing an ordinal function is one-to-one. (Contributed by NM, 9-Feb-1997.) Extract onelfvnef1 8452. (Proof shortened by Matthew House, 6-Sep-2026.)
𝐹 Fn On    ⇒   ((𝐴 ⊆ On ∧ ∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝑥 ¬ (𝐹‘𝑥) = (𝐹‘𝑦)) → Fun ◡(𝐹 ↾ 𝐴))
 
6-Sep-2026onelfvnef1 8452 A sufficient condition for a function on ordinals to be one-to-one. (Contributed by NM, 9-Feb-1997.) Extract from tz7.48lem 8453 and generalize statement. (Revised by Matthew House, 6-Sep-2026.)
((𝐹:𝐴⟶𝐵 ∧ 𝐴 ⊆ On ∧ ∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐴 (𝑦 ∈ 𝑥 → (𝐹‘𝑥) ≠ (𝐹‘𝑦))) → 𝐹:𝐴–1-1→𝐵)
 
4-Sep-20269onn 35836 The ordinal 9 is a natural number. (Contributed by BTernaryTau, 4-Sep-2026.)
9o ∈ ω
 
4-Sep-20268onn 35835 The ordinal 8 is a natural number. (Contributed by BTernaryTau, 4-Sep-2026.)
8o ∈ ω
 
4-Sep-20267onn 35834 The ordinal 7 is a natural number. (Contributed by BTernaryTau, 4-Sep-2026.)
7o ∈ ω
 
4-Sep-20266onn 35833 The ordinal 6 is a natural number. (Contributed by BTernaryTau, 4-Sep-2026.)
6o ∈ ω
 
4-Sep-20265onn 35832 The ordinal 5 is a natural number. (Contributed by BTernaryTau, 4-Sep-2026.)
5o ∈ ω
 
4-Sep-20269on 35831 Ordinal 9 is an ordinal number. (Contributed by BTernaryTau, 4-Sep-2026.)
9o ∈ On
 
4-Sep-20268on 35830 Ordinal 8 is an ordinal number. (Contributed by BTernaryTau, 4-Sep-2026.)
8o ∈ On
 
4-Sep-20267on 35829 Ordinal 7 is an ordinal number. (Contributed by BTernaryTau, 4-Sep-2026.)
7o ∈ On
 
4-Sep-20266on 35828 Ordinal 6 is an ordinal number. (Contributed by BTernaryTau, 4-Sep-2026.)
6o ∈ On
 
4-Sep-20265on 35827 Ordinal 5 is an ordinal number. (Contributed by BTernaryTau, 4-Sep-2026.)
5o ∈ On
 
3-Sep-2026df-l 35936 Define the class of all constructible sets. Definition 15.15 of [TakeutiZaring] p. 158. (Contributed by BTernaryTau, 3-Sep-2026.)
𝐿 = (𝐹𝐿 “ On)
 
3-Sep-2026df-fnl 35935 Define a function whose range contains all and only the constructible sets. Based on Definition 15.13 of [TakeutiZaring] p. 158. (Contributed by BTernaryTau, 3-Sep-2026.)
𝐹𝐿 = recs((𝑥 ∈ V ↦ if((𝐾3‘dom 𝑥) = ∅, ran 𝑥, (ℱ ‘⟨(𝐾3‘dom 𝑥), (𝑥‘(𝐾1‘dom 𝑥)), (𝑥‘(𝐾2‘dom 𝑥))⟩))))
 
2-Sep-2026df-k3 35934 Define a function that takes an ordinal and returns the third argument of the ordered triple ⟨𝑥, 𝑦, 𝑛⟩ such that the ordinal equals (𝐽‘⟨𝑥, 𝑦, 𝑛⟩). Based on the third case of Definition 15.7 of [TakeutiZaring] p. 156. (Contributed by BTernaryTau, 2-Sep-2026.)
𝐾3 = {⟨𝑧, 𝑛⟩ ∣ (𝑛 ∈ 9o ∧ ∃𝑥 ∈ On ∃𝑦 ∈ On 𝑧 = (𝐽‘⟨𝑥, 𝑦, 𝑛⟩))}
 
2-Sep-2026df-k2 35933 Define a function that takes an ordinal and returns the second argument of the ordered triple ⟨𝑥, 𝑦, 𝑛⟩ such that the ordinal equals (𝐽‘⟨𝑥, 𝑦, 𝑛⟩). Based on the second case of Definition 15.7 of [TakeutiZaring] p. 156. (Contributed by BTernaryTau, 2-Sep-2026.)
𝐾2 = {⟨𝑧, 𝑦⟩ ∣ (𝑦 ∈ On ∧ ∃𝑛 ∈ 9o ∃𝑥 ∈ On 𝑧 = (𝐽‘⟨𝑥, 𝑦, 𝑛⟩))}
 
2-Sep-2026df-k1 35932 Define a function that takes an ordinal and returns the first argument of the ordered triple ⟨𝑥, 𝑦, 𝑛⟩ such that the ordinal equals (𝐽‘⟨𝑥, 𝑦, 𝑛⟩). Based on the first case of Definition 15.7 of [TakeutiZaring] p. 156. (Contributed by BTernaryTau, 2-Sep-2026.)
𝐾1 = {⟨𝑧, 𝑥⟩ ∣ (𝑥 ∈ On ∧ ∃𝑛 ∈ 9o ∃𝑦 ∈ On 𝑧 = (𝐽‘⟨𝑥, 𝑦, 𝑛⟩))}
 
2-Sep-2026df-j 35931 Define an order isomorphism from (On × On) × 9o to On. Based on Definition 15.2 of [TakeutiZaring] p. 155. (Contributed by BTernaryTau, 2-Sep-2026.)
𝐽 = (𝑥 ∈ On, 𝑦 ∈ On, 𝑛 ∈ 9o ↦ ((9o ·o (𝐽0‘⟨𝑥, 𝑦⟩)) +o 𝑛))
 
2-Sep-2026df-j0 35930 Define the 𝑅0 order isomorphism of On × On onto On. Equivalent to Definition 7.59 of [TakeutiZaring] p. 55 (see j0iso 35943). (Contributed by BTernaryTau, 2-Sep-2026.)
𝐽0 = ◡OrdIso(𝑅0, (On × On))
 
2-Sep-2026df-r0 35929 Define a particular set-like well-ordering of On × On using the lexicographical ordering LexOrd. Based on Definition 7.57 of [TakeutiZaring] p. 54. See r0weseon 35939 for a proof that this relation is a set-like well-order. (Contributed by BTernaryTau, 2-Sep-2026.)
𝑅0 = {⟨𝑥, 𝑦⟩ ∣ ((𝑥 ∈ (On × On) ∧ 𝑦 ∈ (On × On)) ∧ (((1st ‘𝑥) ∪ (2nd ‘𝑥)) ∈ ((1st ‘𝑦) ∪ (2nd ‘𝑦)) ∨ (((1st ‘𝑥) ∪ (2nd ‘𝑥)) = ((1st ‘𝑦) ∪ (2nd ‘𝑦)) ∧ 𝑥LexOrd𝑦)))}
 
2-Sep-2026df-lexo 35928 Define the lexicographical ordering of On × On. Based on Definition 7.55 of [TakeutiZaring] p. 54. (Contributed by BTernaryTau, 2-Sep-2026.)
LexOrd = {⟨𝑥, 𝑦⟩ ∣ ((𝑥 ∈ (On × On) ∧ 𝑦 ∈ (On × On)) ∧ ((1st ‘𝑥) ∈ (1st ‘𝑦) ∨ ((1st ‘𝑥) = (1st ‘𝑦) ∧ (2nd ‘𝑥) ∈ (2nd ‘𝑦))))}
 
2-Sep-2026df-gdlopc 35918 Define the combined Gödel operations. This function takes three arguments and uses the first to determine which of the eight Gödel operations df-gdlop1 35910 through df-gdlop8 35917 to apply to the second and third arguments. Based on Definition 14.2 of [TakeutiZaring] p. 144. (Contributed by BTernaryTau, 2-Sep-2026.)
ℱ = (𝑛 ∈ (9o ∖ {∅}), 𝑥 ∈ V, 𝑦 ∈ V ↦ if(𝑛 = 1o, (ℱ1‘⟨𝑥, 𝑦⟩), if(𝑛 = 2o, (ℱ2‘⟨𝑥, 𝑦⟩), if(𝑛 = 3o, (ℱ3‘⟨𝑥, 𝑦⟩), if(𝑛 = 4o, (ℱ4‘⟨𝑥, 𝑦⟩), if(𝑛 = 5o, (ℱ5‘⟨𝑥, 𝑦⟩), if(𝑛 = 6o, (ℱ6‘⟨𝑥, 𝑦⟩), if(𝑛 = 7o, (ℱ7‘⟨𝑥, 𝑦⟩), (ℱ8‘⟨𝑥, 𝑦⟩)))))))))
 
2-Sep-2026df-gdlop8 35917 Define the eighth Gödel operation. This function takes two arguments and returns the intersection of the first argument with the third converse of the second argument (see df-in 4091 and df-cnv3 35909). Based on the eighth case of Definition 14.2 of [TakeutiZaring] p. 144. (Contributed by BTernaryTau, 2-Sep-2026.)
ℱ8 = (𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ∩ (Cnv3‘𝑦)))
 
2-Sep-2026df-gdlop7 35916 Define the seventh Gödel operation. This function takes two arguments and returns the intersection of the first argument with the second converse of the second argument (see df-in 4091 and df-cnv2 35908). Based on the seventh case of Definition 14.2 of [TakeutiZaring] p. 144. (Contributed by BTernaryTau, 2-Sep-2026.)
ℱ7 = (𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ∩ (Cnv2‘𝑦)))
 
2-Sep-2026df-gdlop6 35915 Define the sixth Gödel operation. This function takes two arguments and returns the intersection of the first argument with the converse of the second argument (see df-in 4091 and df-cnv 5658). Based on the sixth case of Definition 14.2 of [TakeutiZaring] p. 144. (Contributed by BTernaryTau, 2-Sep-2026.)
ℱ6 = (𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ∩ ◡𝑦))
 
2-Sep-2026df-gdlop5 35914 Define the fifth Gödel operation. This function takes two arguments and returns the intersection of the first argument with the domain of the second argument (see df-in 4091 and df-dm 5660). Based on the fifth case of Definition 14.2 of [TakeutiZaring] p. 144. (Contributed by BTernaryTau, 2-Sep-2026.)
ℱ5 = (𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ∩ dom 𝑦))
 
2-Sep-2026df-gdlop4 35913 Define the fourth Gödel operation. This function takes two arguments and returns the first argument restricted to the second argument (see df-res 5662). Based on the fourth case of Definition 14.2 of [TakeutiZaring] p. 144. (Contributed by BTernaryTau, 2-Sep-2026.)
ℱ4 = (𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ↾ 𝑦))
 
2-Sep-2026df-gdlop3 35912 Define the third Gödel operation. This function takes two arguments and returns the first argument minus the second argument (see df-dif 4047). Based on the third case of Definition 14.2 of [TakeutiZaring] p. 144. (Contributed by BTernaryTau, 2-Sep-2026.)
ℱ3 = (𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ∖ 𝑦))
 
2-Sep-2026df-gdlop2 35911 Define the second Gödel operation. This function takes two arguments and returns the intersection of the first argument with the membership relation (see df-in 4091 and df-eprel 5550). The second argument is ignored. Based on the second case of Definition 14.2 of [TakeutiZaring] p. 144. (Contributed by BTernaryTau, 2-Sep-2026.)
ℱ2 = (𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ∩ E ))
 
2-Sep-2026df-gdlop1 35910 Define the first Gödel operation. This function takes two arguments and returns the unordered pair containing both (see df-pr 4587). Based on the first case of Definition 14.2 of [TakeutiZaring] p. 144. (Contributed by BTernaryTau, 2-Sep-2026.)
ℱ1 = (𝑥 ∈ V, 𝑦 ∈ V ↦ {𝑥, 𝑦})
 
2-Sep-2026df-cnv3 35909 Define a function that returns the third converse of a set. The third converse of a set takes all ordered triples in the set and swaps the second and third arguments. Based on Definition 14.1(2) of [TakeutiZaring] p. 143. (Contributed by BTernaryTau, 2-Sep-2026.)
Cnv3 = (𝑤 ∈ V ↦ {⟨⟨𝑥, 𝑦⟩, 𝑧⟩ ∣ ⟨⟨𝑥, 𝑧⟩, 𝑦⟩ ∈ 𝑤})
 
2-Sep-2026df-cnv2 35908 Define a function that returns the second converse of a set. The second converse of a set takes all ordered triples in the set and rotates them so the last argument becomes the first argument. Based on Definition 14.1(1) of [TakeutiZaring] p. 143. (Contributed by BTernaryTau, 2-Sep-2026.)
Cnv2 = (𝑤 ∈ V ↦ {⟨⟨𝑥, 𝑦⟩, 𝑧⟩ ∣ ⟨⟨𝑧, 𝑥⟩, 𝑦⟩ ∈ 𝑤})
 
2-Sep-2026df-9o 35826 Define the ordinal number 9. (Contributed by BTernaryTau, 2-Sep-2026.)
9o = suc 8o
 
2-Sep-2026df-8o 35825 Define the ordinal number 8. (Contributed by BTernaryTau, 2-Sep-2026.)
8o = suc 7o
 
2-Sep-2026df-7o 35824 Define the ordinal number 7. (Contributed by BTernaryTau, 2-Sep-2026.)
7o = suc 6o
 
2-Sep-2026df-6o 35823 Define the ordinal number 6. (Contributed by BTernaryTau, 2-Sep-2026.)
6o = suc 5o
 
2-Sep-2026df-5o 35822 Define the ordinal number 5. (Contributed by BTernaryTau, 2-Sep-2026.)
5o = suc 4o
 
31-Aug-2026angmgmbas 29403 The base set of the angle addition magma. (Contributed by Thierry Arnoux, 31-Aug-2026.)
𝑃 = (Base‘𝐺)    &   𝐴 = {𝑑 ∈ (𝑃 ↑m (0..^3)) ∣ ((𝑑‘0) ≠ (𝑑‘1) ∧ (𝑑‘1) ≠ (𝑑‘2))}    &    ∼ = (cgrA‘𝐺)    &   𝐽 = (AngMgm‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    ⇒   (𝜑 → (𝐴 / ∼ ) = (Base‘𝐽))
 
31-Aug-2026angmgm 29402 The angle addition magma is a magma. (Contributed by Thierry Arnoux, 31-Aug-2026.)
𝑃 = (Base‘𝐺)    &   𝐴 = {𝑑 ∈ (𝑃 ↑m (0..^3)) ∣ ((𝑑‘0) ≠ (𝑑‘1) ∧ (𝑑‘1) ≠ (𝑑‘2))}    &   𝐼 = (Itv‘𝐺)    &    − = (dist‘𝐺)    &    ∼ = (cgrA‘𝐺)    &   𝐿 = (LineG‘𝐺)    &    + = (𝑒 ∈ 𝐴, 𝑓 ∈ 𝐴 ↦ if((𝑒‘0) ∈ ((𝑒‘1)𝐿(𝑒‘2)), ⟨“(𝑓‘0)(𝑓‘1)(℩𝑠 ∈ 𝑃 (⟨“(𝑓‘2)(𝑓‘1)𝑠”⟩ ∼ 𝑒 ∧ ((𝑓‘1) − 𝑠) = ((𝑒‘1) − (𝑒‘0))))”⟩, ⟨“(𝑒‘0)(𝑒‘1)(℩𝑠 ∈ 𝑃 (⟨“(𝑒‘2)(𝑒‘1)𝑠”⟩ ∼ 𝑓 ∧ ((𝑒‘1) − 𝑠) = ((𝑓‘1) − (𝑓‘0)) ∧ (((𝑒‘1)𝐿(𝑒‘2)) ∩ (𝑠𝐼(𝑒‘0))) ≠ ∅))”⟩))    &   𝐽 = (AngMgm‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 2 ≤ (♯‘𝑃))    ⇒   (𝜑 → 𝐽 ∈ Mgm)
 
31-Aug-2026angmgm0g 29401 The identity element of the angle addition magma. (Contributed by Thierry Arnoux, 31-Aug-2026.)
𝑃 = (Base‘𝐺)    &   𝐴 = {𝑑 ∈ (𝑃 ↑m (0..^3)) ∣ ((𝑑‘0) ≠ (𝑑‘1) ∧ (𝑑‘1) ≠ (𝑑‘2))}    &   𝐼 = (Itv‘𝐺)    &    − = (dist‘𝐺)    &    ∼ = (cgrA‘𝐺)    &   𝐿 = (LineG‘𝐺)    &    + = (𝑒 ∈ 𝐴, 𝑓 ∈ 𝐴 ↦ if((𝑒‘0) ∈ ((𝑒‘1)𝐿(𝑒‘2)), ⟨“(𝑓‘0)(𝑓‘1)(℩𝑠 ∈ 𝑃 (⟨“(𝑓‘2)(𝑓‘1)𝑠”⟩ ∼ 𝑒 ∧ ((𝑓‘1) − 𝑠) = ((𝑒‘1) − (𝑒‘0))))”⟩, ⟨“(𝑒‘0)(𝑒‘1)(℩𝑠 ∈ 𝑃 (⟨“(𝑒‘2)(𝑒‘1)𝑠”⟩ ∼ 𝑓 ∧ ((𝑒‘1) − 𝑠) = ((𝑓‘1) − (𝑓‘0)) ∧ (((𝑒‘1)𝐿(𝑒‘2)) ∩ (𝑠𝐼(𝑒‘0))) ≠ ∅))”⟩))    &   𝐽 = (AngMgm‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ (𝑃 ∖ {𝑋}))    ⇒   (𝜑 → [⟨“𝑋𝑌𝑋”⟩] ∼ = (0g‘𝐽))
 
31-Aug-2026angmgmlem 29400 Lemma for angmgm 29402. (Contributed by Thierry Arnoux, 31-Aug-2026.)
𝑃 = (Base‘𝐺)    &   𝐴 = {𝑑 ∈ (𝑃 ↑m (0..^3)) ∣ ((𝑑‘0) ≠ (𝑑‘1) ∧ (𝑑‘1) ≠ (𝑑‘2))}    &   𝐼 = (Itv‘𝐺)    &    − = (dist‘𝐺)    &    ∼ = (cgrA‘𝐺)    &   𝐿 = (LineG‘𝐺)    &    + = (𝑒 ∈ 𝐴, 𝑓 ∈ 𝐴 ↦ if((𝑒‘0) ∈ ((𝑒‘1)𝐿(𝑒‘2)), ⟨“(𝑓‘0)(𝑓‘1)(℩𝑠 ∈ 𝑃 (⟨“(𝑓‘2)(𝑓‘1)𝑠”⟩ ∼ 𝑒 ∧ ((𝑓‘1) − 𝑠) = ((𝑒‘1) − (𝑒‘0))))”⟩, ⟨“(𝑒‘0)(𝑒‘1)(℩𝑠 ∈ 𝑃 (⟨“(𝑒‘2)(𝑒‘1)𝑠”⟩ ∼ 𝑓 ∧ ((𝑒‘1) − 𝑠) = ((𝑓‘1) − (𝑓‘0)) ∧ (((𝑒‘1)𝐿(𝑒‘2)) ∩ (𝑠𝐼(𝑒‘0))) ≠ ∅))”⟩))    &   𝐽 = (AngMgm‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ (𝑃 ∖ {𝑋}))    ⇒   (𝜑 → (𝐽 ∈ Mgm ∧ [⟨“𝑋𝑌𝑋”⟩] ∼ = (0g‘𝐽)))
 
31-Aug-2026angmgmval 29399 Explicit the value of the angle addition magma for a given geometry 𝐺. (Contributed by Thierry Arnoux, 31-Aug-2026.)
𝑃 = (Base‘𝐺)    &   𝐴 = {𝑑 ∈ (𝑃 ↑m (0..^3)) ∣ ((𝑑‘0) ≠ (𝑑‘1) ∧ (𝑑‘1) ≠ (𝑑‘2))}    &   𝐼 = (Itv‘𝐺)    &    − = (dist‘𝐺)    &    ∼ = (cgrA‘𝐺)    &   𝐿 = (LineG‘𝐺)    &    + = (𝑒 ∈ 𝐴, 𝑓 ∈ 𝐴 ↦ if((𝑒‘0) ∈ ((𝑒‘1)𝐿(𝑒‘2)), ⟨“(𝑓‘0)(𝑓‘1)(℩𝑠 ∈ 𝑃 (⟨“(𝑓‘2)(𝑓‘1)𝑠”⟩ ∼ 𝑒 ∧ ((𝑓‘1) − 𝑠) = ((𝑒‘1) − (𝑒‘0))))”⟩, ⟨“(𝑒‘0)(𝑒‘1)(℩𝑠 ∈ 𝑃 (⟨“(𝑒‘2)(𝑒‘1)𝑠”⟩ ∼ 𝑓 ∧ ((𝑒‘1) − 𝑠) = ((𝑓‘1) − (𝑓‘0)) ∧ (((𝑒‘1)𝐿(𝑒‘2)) ∩ (𝑠𝐼(𝑒‘0))) ≠ ∅))”⟩))    &   𝐽 = (AngMgm‘𝐺)    &    ≤ = (≤∠‘𝐺)    ⇒   (𝐺 ∈ 𝑉 → 𝐽 = ({⟨(Base‘ndx), 𝐴⟩, ⟨(+g‘ndx), + ⟩, ⟨(le‘ndx), ≤ ⟩} /s ∼ ))
 
31-Aug-2026angmgmaddrid 29398 The right identity element for the addition of angles. (Contributed by Thierry Arnoux, 31-Aug-2026.)
𝑃 = (Base‘𝐺)    &   𝐴 = {𝑑 ∈ (𝑃 ↑m (0..^3)) ∣ ((𝑑‘0) ≠ (𝑑‘1) ∧ (𝑑‘1) ≠ (𝑑‘2))}    &   𝐼 = (Itv‘𝐺)    &    − = (dist‘𝐺)    &    ∼ = (cgrA‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &    + = (𝑒 ∈ 𝐴, 𝑓 ∈ 𝐴 ↦ if((𝑒‘0) ∈ ((𝑒‘1)𝐿(𝑒‘2)), ⟨“(𝑓‘0)(𝑓‘1)(℩𝑠 ∈ 𝑃 (⟨“(𝑓‘2)(𝑓‘1)𝑠”⟩ ∼ 𝑒 ∧ ((𝑓‘1) − 𝑠) = ((𝑒‘1) − (𝑒‘0))))”⟩, ⟨“(𝑒‘0)(𝑒‘1)(℩𝑠 ∈ 𝑃 (⟨“(𝑒‘2)(𝑒‘1)𝑠”⟩ ∼ 𝑓 ∧ ((𝑒‘1) − 𝑠) = ((𝑓‘1) − (𝑓‘0)) ∧ (((𝑒‘1)𝐿(𝑒‘2)) ∩ (𝑠𝐼(𝑒‘0))) ≠ ∅))”⟩))    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ (𝑃 ∖ {𝑋}))    &   (𝜑 → 𝐸 ∈ 𝐴)    ⇒   (𝜑 → (𝐸 + ⟨“𝑋𝑌𝑋”⟩) ∼ 𝐸)
 
31-Aug-2026angmgmaddlid 29397 The left identity element for the addition of angles. (Contributed by Thierry Arnoux, 31-Aug-2026.)
𝑃 = (Base‘𝐺)    &   𝐴 = {𝑑 ∈ (𝑃 ↑m (0..^3)) ∣ ((𝑑‘0) ≠ (𝑑‘1) ∧ (𝑑‘1) ≠ (𝑑‘2))}    &   𝐼 = (Itv‘𝐺)    &    − = (dist‘𝐺)    &    ∼ = (cgrA‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &    + = (𝑒 ∈ 𝐴, 𝑓 ∈ 𝐴 ↦ if((𝑒‘0) ∈ ((𝑒‘1)𝐿(𝑒‘2)), ⟨“(𝑓‘0)(𝑓‘1)(℩𝑠 ∈ 𝑃 (⟨“(𝑓‘2)(𝑓‘1)𝑠”⟩ ∼ 𝑒 ∧ ((𝑓‘1) − 𝑠) = ((𝑒‘1) − (𝑒‘0))))”⟩, ⟨“(𝑒‘0)(𝑒‘1)(℩𝑠 ∈ 𝑃 (⟨“(𝑒‘2)(𝑒‘1)𝑠”⟩ ∼ 𝑓 ∧ ((𝑒‘1) − 𝑠) = ((𝑓‘1) − (𝑓‘0)) ∧ (((𝑒‘1)𝐿(𝑒‘2)) ∩ (𝑠𝐼(𝑒‘0))) ≠ ∅))”⟩))    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ (𝑃 ∖ {𝑋}))    &   (𝜑 → 𝐸 ∈ 𝐴)    ⇒   (𝜑 → (⟨“𝑋𝑌𝑋”⟩ + 𝐸) ∼ 𝐸)
 
31-Aug-2026angmgmaddcl 29396 Closure of the addition of angles. (Contributed by Thierry Arnoux, 31-Aug-2026.)
𝑃 = (Base‘𝐺)    &   𝐴 = {𝑑 ∈ (𝑃 ↑m (0..^3)) ∣ ((𝑑‘0) ≠ (𝑑‘1) ∧ (𝑑‘1) ≠ (𝑑‘2))}    &   𝐼 = (Itv‘𝐺)    &    − = (dist‘𝐺)    &    ∼ = (cgrA‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &    + = (𝑒 ∈ 𝐴, 𝑓 ∈ 𝐴 ↦ if((𝑒‘0) ∈ ((𝑒‘1)𝐿(𝑒‘2)), ⟨“(𝑓‘0)(𝑓‘1)(℩𝑠 ∈ 𝑃 (⟨“(𝑓‘2)(𝑓‘1)𝑠”⟩ ∼ 𝑒 ∧ ((𝑓‘1) − 𝑠) = ((𝑒‘1) − (𝑒‘0))))”⟩, ⟨“(𝑒‘0)(𝑒‘1)(℩𝑠 ∈ 𝑃 (⟨“(𝑒‘2)(𝑒‘1)𝑠”⟩ ∼ 𝑓 ∧ ((𝑒‘1) − 𝑠) = ((𝑓‘1) − (𝑓‘0)) ∧ (((𝑒‘1)𝐿(𝑒‘2)) ∩ (𝑠𝐼(𝑒‘0))) ≠ ∅))”⟩))    &   (𝜑 → 𝐸 ∈ 𝐴)    &   (𝜑 → 𝐹 ∈ 𝐴)    ⇒   (𝜑 → (𝐸 + 𝐹) ∈ 𝐴)
 
31-Aug-2026cgrabasimass 29383 The angle congruence relation is hereditary. (Contributed by Thierry Arnoux, 31-Aug-2026.)
𝑃 = (Base‘𝐺)    &   𝐴 = {𝑑 ∈ (𝑃 ↑m (0..^3)) ∣ ((𝑑‘0) ≠ (𝑑‘1) ∧ (𝑑‘1) ≠ (𝑑‘2))}    &    ∼ = (cgrA‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    ⇒   (𝜑 → ( ∼ “ 𝐴) ⊆ 𝐴)
 
31-Aug-2026cgraer 29382 The angle congruence relation is an equivalence relation. (Contributed by Thierry Arnoux, 31-Aug-2026.)
𝑃 = (Base‘𝐺)    &   𝐴 = {𝑑 ∈ (𝑃 ↑m (0..^3)) ∣ ((𝑑‘0) ≠ (𝑑‘1) ∧ (𝑑‘1) ≠ (𝑑‘2))}    &    ∼ = (cgrA‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    ⇒   (𝜑 → ( ∼ ∩ (𝐴 × 𝐴)) Er 𝐴)
 
31-Aug-2026qusmnd 18980 Prove that a quotient structure is a monoid. (Contributed by Thierry Arnoux, 31-Aug-2026.)
(𝜑 → 𝑈 = (𝑅 /s ∼ ))    &   (𝜑 → 𝑉 = (Base‘𝑅))    &    + = (+g‘𝑅)    &   (𝜑 → ∼ Er 𝑉)    &   (𝜑 → 𝑅 ∈ 𝑋)    &   (𝜑 → ((𝑎 ∼ 𝑝 ∧ 𝑏 ∼ 𝑞) → (𝑎 + 𝑏) ∼ (𝑝 + 𝑞)))    &   ((𝜑 ∧ 𝑥 ∈ 𝑉 ∧ 𝑦 ∈ 𝑉) → (𝑥 + 𝑦) ∈ 𝑉)    &   ((𝜑 ∧ (𝑥 ∈ 𝑉 ∧ 𝑦 ∈ 𝑉 ∧ 𝑧 ∈ 𝑉)) → ((𝑥 + 𝑦) + 𝑧) ∼ (𝑥 + (𝑦 + 𝑧)))    &   (𝜑 → 0 ∈ 𝑉)    &   ((𝜑 ∧ 𝑥 ∈ 𝑉) → ( 0 + 𝑥) ∼ 𝑥)    &   ((𝜑 ∧ 𝑥 ∈ 𝑉) → (𝑥 + 0 ) ∼ 𝑥)    ⇒   (𝜑 → (𝑈 ∈ Mnd ∧ [ 0 ] ∼ = (0g‘𝑈)))
 
31-Aug-2026qusmgm 18869 Prove that a quotient structure is a unital magma. (Contributed by Thierry Arnoux, 31-Aug-2026.)
(𝜑 → 𝑈 = (𝑅 /s ∼ ))    &   (𝜑 → 𝑉 = (Base‘𝑅))    &    + = (+g‘𝑅)    &   (𝜑 → ∼ Er 𝑉)    &   (𝜑 → 𝑅 ∈ 𝑋)    &   (𝜑 → ((𝑎 ∼ 𝑝 ∧ 𝑏 ∼ 𝑞) → (𝑎 + 𝑏) ∼ (𝑝 + 𝑞)))    &   ((𝜑 ∧ 𝑥 ∈ 𝑉 ∧ 𝑦 ∈ 𝑉) → (𝑥 + 𝑦) ∈ 𝑉)    &   (𝜑 → 0 ∈ 𝑉)    &   ((𝜑 ∧ 𝑥 ∈ 𝑉) → ( 0 + 𝑥) ∼ 𝑥)    &   ((𝜑 ∧ 𝑥 ∈ 𝑉) → (𝑥 + 0 ) ∼ 𝑥)    ⇒   (𝜑 → (𝑈 ∈ Mgm ∧ [ 0 ] ∼ = (0g‘𝑈)))
 
31-Aug-2026imasmgm2 18868 The image structure of a unital magma is a unital magma. (Contributed by Thierry Arnoux, 31-Aug-2026.)
(𝜑 → 𝑈 = (𝐹 “s 𝑅))    &   (𝜑 → 𝑉 = (Base‘𝑅))    &    + = (+g‘𝑅)    &   (𝜑 → 𝐹:𝑉–onto→𝐵)    &   ((𝜑 ∧ (𝑎 ∈ 𝑉 ∧ 𝑏 ∈ 𝑉) ∧ (𝑝 ∈ 𝑉 ∧ 𝑞 ∈ 𝑉)) → (((𝐹‘𝑎) = (𝐹‘𝑝) ∧ (𝐹‘𝑏) = (𝐹‘𝑞)) → (𝐹‘(𝑎 + 𝑏)) = (𝐹‘(𝑝 + 𝑞))))    &   (𝜑 → 𝑅 ∈ 𝑊)    &   ((𝜑 ∧ 𝑥 ∈ 𝑉 ∧ 𝑦 ∈ 𝑉) → (𝑥 + 𝑦) ∈ 𝑉)    &   (𝜑 → 0 ∈ 𝑉)    &   ((𝜑 ∧ 𝑥 ∈ 𝑉) → (𝐹‘( 0 + 𝑥)) = (𝐹‘𝑥))    &   ((𝜑 ∧ 𝑥 ∈ 𝑉) → (𝐹‘(𝑥 + 0 )) = (𝐹‘𝑥))    ⇒   (𝜑 → (𝑈 ∈ Mgm ∧ (𝐹‘ 0 ) = (0g‘𝑈)))
 
30-Aug-2026smflimlem6 47879 Lemma for the proof that the limit of sigma-measurable functions is sigma-measurable, Proposition 121F (a) of [Fremlin1] p. 38 . This lemma proves that the preimages of right-closed, unbounded-below intervals are in the subspace sigma-algebra induced by 𝐷. The proof uses fnrndomnum 10620 rather than fnrndomg 10621, and so does not require ax-ac 10540. (Contributed by Glauco Siliprandi, 26-Jun-2021.) (Revised by Vincent Gonzalez, 30-Aug-2026.)
(𝜑 → 𝑀 ∈ ℤ)    &   𝑍 = (ℤ≥‘𝑀)    &   (𝜑 → 𝑆 ∈ SAlg)    &   (𝜑 → 𝐹:𝑍⟶(SMblFn‘𝑆))    &   𝐷 = {𝑥 ∈ ∪ 𝑛 ∈ 𝑍 ∩ 𝑚 ∈ (ℤ≥‘𝑛)dom (𝐹‘𝑚) ∣ (𝑚 ∈ 𝑍 ↦ ((𝐹‘𝑚)‘𝑥)) ∈ dom ⇝ }    &   𝐺 = (𝑥 ∈ 𝐷 ↦ ( ⇝ ‘(𝑚 ∈ 𝑍 ↦ ((𝐹‘𝑚)‘𝑥))))    &   (𝜑 → 𝐴 ∈ ℝ)    &   𝑃 = (𝑚 ∈ 𝑍, 𝑘 ∈ ℕ ↦ {𝑠 ∈ 𝑆 ∣ {𝑥 ∈ dom (𝐹‘𝑚) ∣ ((𝐹‘𝑚)‘𝑥) < (𝐴 + (1 / 𝑘))} = (𝑠 ∩ dom (𝐹‘𝑚))})    ⇒   (𝜑 → {𝑥 ∈ 𝐷 ∣ (𝐺‘𝑥) ≤ 𝐴} ∈ (𝑆 ↾t 𝐷))
 
30-Aug-2026subsaliuncl 47461 A subspace sigma-algebra is closed under countable union. This is Lemma 121A (iii) of [Fremlin1] p. 35. The proof uses fnrndomnum 10620 rather than fnrndomg 10621, and so does not require ax-ac 10540. (Contributed by Glauco Siliprandi, 26-Jun-2021.) (Revised by Vincent Gonzalez, 30-Aug-2026.)
(𝜑 → 𝑆 ∈ SAlg)    &   (𝜑 → 𝐷 ∈ 𝑉)    &   𝑇 = (𝑆 ↾t 𝐷)    &   (𝜑 → 𝐹:ℕ⟶𝑇)    ⇒   (𝜑 → ∪ 𝑛 ∈ ℕ (𝐹‘𝑛) ∈ 𝑇)
 
30-Aug-2026preimaaa 26651 An element of the preimage of the algebraic numbers by a nonconstant polynomial is an algebraic number. (Contributed by SN, 30-Aug-2026.)
(𝜑 → 𝐹 ∈ (Poly‘ℚ))    &   (𝜑 → (deg‘𝐹) ≠ 0)    &   (𝜑 → 𝐴 ∈ ℂ)    &   (𝜑 → (𝐹‘𝐴) ∈ 𝔸)    ⇒   (𝜑 → 𝐴 ∈ 𝔸)
 
30-Aug-2026plyconz 26636 The composition of a nonzero and a nonconstant polynomial is a nonzero polynomial. (Contributed by SN, 30-Aug-2026.)
(𝜑 → 𝐹 ∈ (Poly‘𝑆))    &   (𝜑 → 𝐺 ∈ (Poly‘𝑆))    &   (𝜑 → 𝐹 ≠ 0𝑝)    &   (𝜑 → (deg‘𝐺) ≠ 0)    ⇒   (𝜑 → (𝐹 ∘ 𝐺) ≠ 0𝑝)
 
30-Aug-2026rnplynfin 26635 The range of a nonconstant polynomial is not a finite set. (Contributed by SN, 30-Aug-2026.)
(𝜑 → 𝐹 ∈ (Poly‘𝑆))    &   (𝜑 → (deg‘𝐹) ≠ 0)    ⇒   (𝜑 → ¬ ran 𝐹 ∈ Fin)
 
30-Aug-2026idpfv 26533 Value of the identity polynomial. (Contributed by SN, 30-Aug-2026.)
(𝐴 ∈ ℂ → (Xp‘𝐴) = 𝐴)
 
30-Aug-20261q 13095 The number 1 is rational. (Contributed by SN, 30-Aug-2026.)
1 ∈ ℚ
 
30-Aug-2026elmaprd 8873 Deduction associated with elmapd 8863. Reverse direction of elmapdd 8864. (Contributed by Thierry Arnoux, 13-Oct-2025.) Removed redundant hypotheses. (Revised by SN, 30-Aug-2026.)
(𝜑 → 𝐹 ∈ (𝐵 ↑m 𝐴))    ⇒   (𝜑 → 𝐹:𝐴⟶𝐵)
 
28-Aug-2026dvcot 51026 Derivative of the cotangent function. (Contributed by Jon Pennant, 28-Aug-2026.)
(ℂ D cot) = (𝑥 ∈ dom cot ↦ -((csc‘𝑥)↑2))
 
28-Aug-2026dvcsc 51025 Derivative of the cosecant function. (Contributed by Jon Pennant, 28-Aug-2026.)
(ℂ D csc) = (𝑥 ∈ dom csc ↦ ( -(csc‘𝑥) · (cot‘𝑥)))
 
28-Aug-2026dvsec 51024 Derivative of the secant function. (Contributed by Jon Pennant, 28-Aug-2026.)
(ℂ D sec) = (𝑥 ∈ dom sec ↦ ((sec‘𝑥) · (tan‘𝑥)))
 
27-Aug-2026veroquaddetzerod 51154 The Veronese matrix of six points satisfying a common nonzero homogeneous quadratic equation has determinant zero. (Contributed by Jiamin Zhao, 27-Aug-2026.)
𝑉 = (𝑖 ∈ (1...6), 𝑗 ∈ (1...6) ↦ ((veronese‘(𝐴‘𝑖))‘𝑗))    &   (𝜑 → 𝐴:(1...6)⟶(ℝ ↑m (1...3)))    &   (𝜑 → 𝐾:(1...6)⟶ℝ)    &   ((𝜑 ∧ 𝑖 ∈ (1...6)) → (((((𝐾‘1) · (((𝐴‘𝑖)‘1)↑2)) + ((𝐾‘2) · (((𝐴‘𝑖)‘2)↑2))) + ((𝐾‘3) · (((𝐴‘𝑖)‘3)↑2))) + ((((𝐾‘4) · (((𝐴‘𝑖)‘1) · ((𝐴‘𝑖)‘2))) + ((𝐾‘5) · (((𝐴‘𝑖)‘2) · ((𝐴‘𝑖)‘3)))) + ((𝐾‘6) · (((𝐴‘𝑖)‘3) · ((𝐴‘𝑖)‘1))))) = 0)    &   (𝜑 → 𝐾 ≠ ((1...6) × {0}))    ⇒   (𝜑 → (((1...6) maDet ℝfld)‘𝑉) = 0)
 
27-Aug-2026veroquadnolindfd 51153 A nonzero homogeneous quadratic equation satisfied by all six points gives a linear dependence among the columns of the Veronese matrix. (Contributed by Jiamin Zhao, 27-Aug-2026.)
𝑉 = (𝑖 ∈ (1...6), 𝑗 ∈ (1...6) ↦ ((veronese‘(𝐴‘𝑖))‘𝑗))    &   (𝜑 → 𝐴:(1...6)⟶(ℝ ↑m (1...3)))    &   (𝜑 → 𝐾:(1...6)⟶ℝ)    &   ((𝜑 ∧ 𝑖 ∈ (1...6)) → (((((𝐾‘1) · (((𝐴‘𝑖)‘1)↑2)) + ((𝐾‘2) · (((𝐴‘𝑖)‘2)↑2))) + ((𝐾‘3) · (((𝐴‘𝑖)‘3)↑2))) + ((((𝐾‘4) · (((𝐴‘𝑖)‘1) · ((𝐴‘𝑖)‘2))) + ((𝐾‘5) · (((𝐴‘𝑖)‘2) · ((𝐴‘𝑖)‘3)))) + ((𝐾‘6) · (((𝐴‘𝑖)‘3) · ((𝐴‘𝑖)‘1))))) = 0)    &   (𝜑 → 𝐾 ≠ ((1...6) × {0}))    ⇒   (𝜑 → ¬ curry tpos 𝑉 LIndF (ℝfld freeLMod (1...6)))
 
27-Aug-2026nellindf 51138 A nonzero coefficient vector whose weighted combination of 𝐹 sums to the zero vector implies that 𝐹 is not linearly independent. (Contributed by Jiamin Zhao, 27-Aug-2026.)
𝐵 = (Base‘𝑊)    &   𝑅 = (Scalar‘𝑊)    &    · = ( ·𝑠 ‘𝑊)    &    0 = (0g‘𝑊)    &   𝑌 = (0g‘𝑅)    &   𝐿 = (Base‘(𝑅 freeLMod 𝐼))    ⇒   (((𝑊 ∈ LMod ∧ 𝐼 ∈ V ∧ 𝐹:𝐼⟶𝐵) ∧ (𝐾 ∈ 𝐿 ∧ 𝐾 ≠ (𝐼 × {𝑌}) ∧ (𝑊 Σg (𝐾 ∘f · 𝐹)) = 0 )) → ¬ 𝐹 LIndF 𝑊)
 
26-Aug-2026dffr7 36812 Alternate quantifier-free definition of a well-founded relation. (Contributed by Scott Fenton, 26-Aug-2026.)
(𝑅 Fr 𝐴 ↔ (𝒫 𝐴 ∖ {∅}) ⊆ Fix ( E ∘ (V ∖ (𝑅 ∘ ◡ E ))))
 
26-Aug-2026dffr5 36611 A quantifier-free definition of a well-founded relation. (Contributed by Scott Fenton, 11-Apr-2011.) (Proof shortened by Scott Fenton, 26-Aug-2026.)
(𝑅 Fr 𝐴 ↔ (𝒫 𝐴 ∖ {∅}) ⊆ ran ( E ∖ ( E ∘ ◡𝑅)))
 
26-Aug-2026drngprops 21001 Properties of a division ring. (Contributed by NM, 4-Apr-2009.) (Revised by AV, 26-Aug-2026.)
𝐵 = (Base‘𝑅)    &    0 = (0g‘𝑅)    &   𝐺 = ((mulGrp‘𝑅) ↾s (𝐵 ∖ { 0 }))    ⇒   (𝑅 ∈ DivRing → (𝑅 ∈ Ring ∧ 𝐺 ∈ Grp))
 
26-Aug-2026cnvxp 6146 The converse of a Cartesian product. Exercise 11 of [Suppes] p. 67. (Contributed by NM, 14-Aug-1999.) (Proof shortened by Andrew Salmon, 27-Aug-2011.) Avoid ax-11 2193. (Revised by SN, 26-Aug-2026.)
◡(𝐴 × 𝐵) = (𝐵 × 𝐴)
 
25-Aug-2026fimact 10618 The image by a function of a countable set is countable. The proof uses imadomnum 10617 rather than imadomg 10616, and so does not require ax-ac 10540. (Contributed by Thierry Arnoux, 27-Mar-2018.) (Revised by Vincent Gonzalez, 25-Aug-2026.)
((𝐴 ≼ ω ∧ Fun 𝐹) → (𝐹 “ 𝐴) ≼ ω)
 
25-Aug-2026imadomnum 10617 A version of imadomg 10616 that does not require the axiom of choice ax-ac 10540. (Contributed by Vincent Gonzalez, 25-Aug-2026.)
(𝐴 ∈ dom card → (Fun 𝐹 → (𝐹 “ 𝐴) ≼ 𝐴))
 
24-Aug-20264p5e9 43417 4 + 5 = 9. (Contributed by SN, 24-Aug-2026.)
(4 + 5) = 9
 
24-Aug-20263p6e9 43416 3 + 6 = 9. (Contributed by SN, 24-Aug-2026.)
(3 + 6) = 9
 
24-Aug-20263p5e8 43415 3 + 5 = 8. (Contributed by SN, 24-Aug-2026.)
(3 + 5) = 8
 
24-Aug-20263p4e7 43414 3 + 4 = 7. (Contributed by SN, 24-Aug-2026.)
(3 + 4) = 7
 
24-Aug-20262p7e9 43413 2 + 7 = 9. (Contributed by SN, 24-Aug-2026.)
(2 + 7) = 9
 
24-Aug-20262p6e8 43412 2 + 6 = 8. (Contributed by SN, 24-Aug-2026.)
(2 + 6) = 8
 
24-Aug-20262p5e7 43411 2 + 5 = 7. (Contributed by SN, 24-Aug-2026.)
(2 + 5) = 7
 
24-Aug-20262p4e6 43410 2 + 4 = 6. (Contributed by SN, 24-Aug-2026.)
(2 + 4) = 6
 
24-Aug-20262p3e5 43409 2 + 3 = 5. (Contributed by SN, 24-Aug-2026.)
(2 + 3) = 5
 
24-Aug-20261p8e9 43408 1 + 8 = 9. (Contributed by SN, 24-Aug-2026.)
(1 + 8) = 9
 
24-Aug-20261p7e8 43407 1 + 7 = 8. (Contributed by SN, 24-Aug-2026.)
(1 + 7) = 8
 
24-Aug-20261p6e7 43406 1 + 6 = 7. (Contributed by SN, 24-Aug-2026.)
(1 + 6) = 7
 
24-Aug-20261p5e6 43405 1 + 5 = 6. (Contributed by SN, 24-Aug-2026.)
(1 + 5) = 6
 
24-Aug-20261p4e5 43404 1 + 4 = 5. (Contributed by SN, 24-Aug-2026.)
(1 + 4) = 5
 
24-Aug-20264p4e8ALT 43402 A shorter proof of 4p4e8 12500 if 6p2e8 12504 was moved up. The most clean way to do this would be to start with 7p2e9 12506, then go 6p2e8 12504, 6p3e9 12505, etc., which is still inelegant. The idea here is that using 4 = 2 + 2 and 2cn 12421 is shorter than using 4 = 3 + 1, 3cn 12427, and ax-1cn 11261. This also works with 5p4e9 12503. (Contributed by SN, 24-Aug-2026.) (Proof modification is discouraged.) (New usage is discouraged.)
(4 + 4) = 8
 
24-Aug-2026rsp2idlid 33977 The ideal span of a two-sided ideal is the ideal itself. (Contributed by Jeff Madsen, 10-Jun-2010.) (Revised by AV, 24-Aug-2026.)
𝐾 = (RSpan‘𝑅)    &   𝑈 = (2Ideal‘𝑅)    ⇒   ((𝑅 ∈ Ring ∧ 𝐼 ∈ 𝑈) → (𝐾‘𝐼) = 𝐼)
 
24-Aug-2026ffsrn 33366 The range of a finitely supported function is finite. The proof uses fnrndomnum 10620 rather than fnrndomg 10621, and so does not require ax-ac 10540. (Contributed by Thierry Arnoux, 27-Aug-2017.) (Revised by Vincent Gonzalez, 24-Aug-2026.)
(𝜑 → 𝑍 ∈ 𝑊)    &   (𝜑 → 𝐹 ∈ 𝑉)    &   (𝜑 → Fun 𝐹)    &   (𝜑 → (𝐹 supp 𝑍) ∈ Fin)    ⇒   (𝜑 → ran 𝐹 ∈ Fin)
 
24-Aug-2026ker2idl 21578 The kernel of a ring homomorphism is a two-sided ideal. (Contributed by Jeff Madsen, 3-Jan-2011.) (Revised by AV, 24-Aug-2026.)
𝐼 = (2Ideal‘𝑅)    &    0 = (0g‘𝑆)    ⇒   (𝐹 ∈ (𝑅 RingHom 𝑆) → (◡𝐹 “ { 0 }) ∈ 𝐼)
 
24-Aug-20262idl1el 21554 A two-sided ideal contains 1 iff it is the unit ideal. (Contributed by Jeff Madsen, 10-Jun-2010.) (Revised by AV, 24-Aug-2026.)
𝑈 = (2Ideal‘𝑅)    &   𝐵 = (Base‘𝑅)    &    1 = (1r‘𝑅)    ⇒   ((𝑅 ∈ Ring ∧ 𝐼 ∈ 𝑈) → ( 1 ∈ 𝐼 ↔ 𝐼 = 𝐵))
 
24-Aug-2026dfring3 20523 The predicate "is a (unital) ring" based on a ring being abelian and with the definition of a monoid expanded. (Contributed by Jeff Hankins, 21-Nov-2006.) (Revised by AV, 24-Aug-2026.)
𝐵 = (Base‘𝑅)    &    · = (.r‘𝑅)    &   𝐺 = (mulGrp‘𝑅)    &    + = (+g‘𝑅)    ⇒   (𝑅 ∈ Ring ↔ ((𝑅 ∈ Abel ∧ 𝐺 ∈ Mgm) ∧ ∀𝑥 ∈ 𝐵 ∀𝑦 ∈ 𝐵 ∀𝑧 ∈ 𝐵 (((𝑥 · 𝑦) · 𝑧) = (𝑥 · (𝑦 · 𝑧)) ∧ (𝑥 · (𝑦 + 𝑧)) = ((𝑥 · 𝑦) + (𝑥 · 𝑧)) ∧ ((𝑥 + 𝑦) · 𝑧) = ((𝑥 · 𝑧) + (𝑦 · 𝑧))) ∧ ∃𝑥 ∈ 𝐵 ∀𝑦 ∈ 𝐵 ((𝑥 · 𝑦) = 𝑦 ∧ (𝑦 · 𝑥) = 𝑦)))
 
24-Aug-2026idvalriota 18846 The unique value of the group identity element. (Contributed by FL, 12-Dec-2009.) (Revised by AV, 24-Aug-2026.)
𝐵 = (Base‘𝐺)    &    + = (+g‘𝐺)    &    0 = (0g‘𝐺)    ⇒    0 = (℩𝑒 ∈ 𝐵 ∀𝑥 ∈ 𝐵 ((𝑒 + 𝑥) = 𝑥 ∧ (𝑥 + 𝑒) = 𝑥))
 
24-Aug-2026fnct 10623 If the domain of a function is countable, the function is countable. The proof uses fnrndomnum 10620 rather than fnrndomg 10621, and so does not require ax-ac 10540. (Contributed by Thierry Arnoux, 29-Dec-2016.) (Revised by Vincent Gonzalez, 24-Aug-2026.)
((𝐹 Fn 𝐴 ∧ 𝐴 ≼ ω) → 𝐹 ≼ ω)
 
24-Aug-2026dmct 10605 The domain of a countable set is countable. The proof uses fodomnum 10139 rather than fodomg 10603, and so does not require ax-ac 10540. (Contributed by Thierry Arnoux, 29-Dec-2016.) (Revised by Vincent Gonzalez, 24-Aug-2026.)
(𝐴 ≼ ω → dom 𝐴 ≼ ω)
 
23-Aug-2026angmgmaddcpbl 29395 Addition of angles is compatible with angle congruence. (Contributed by Thierry Arnoux, 23-Aug-2026.)
𝑃 = (Base‘𝐺)    &   𝐴 = {𝑑 ∈ (𝑃 ↑m (0..^3)) ∣ ((𝑑‘0) ≠ (𝑑‘1) ∧ (𝑑‘1) ≠ (𝑑‘2))}    &   𝐼 = (Itv‘𝐺)    &    − = (dist‘𝐺)    &    ∼ = (cgrA‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &    + = (𝑒 ∈ 𝐴, 𝑓 ∈ 𝐴 ↦ if((𝑒‘0) ∈ ((𝑒‘1)𝐿(𝑒‘2)), ⟨“(𝑓‘0)(𝑓‘1)(℩𝑠 ∈ 𝑃 (⟨“(𝑓‘2)(𝑓‘1)𝑠”⟩ ∼ 𝑒 ∧ ((𝑓‘1) − 𝑠) = ((𝑒‘1) − (𝑒‘0))))”⟩, ⟨“(𝑒‘0)(𝑒‘1)(℩𝑠 ∈ 𝑃 (⟨“(𝑒‘2)(𝑒‘1)𝑠”⟩ ∼ 𝑓 ∧ ((𝑒‘1) − 𝑠) = ((𝑓‘1) − (𝑓‘0)) ∧ (((𝑒‘1)𝐿(𝑒‘2)) ∩ (𝑠𝐼(𝑒‘0))) ≠ ∅))”⟩))    &   (𝜑 → 𝐶 ∈ 𝐴)    &   (𝜑 → 𝐷 ∈ 𝐴)    &   (𝜑 → 𝐸 ∈ 𝐴)    &   (𝜑 → 𝐹 ∈ 𝐴)    &   (𝜑 → 𝐸 ∼ 𝐶)    &   (𝜑 → 𝐹 ∼ 𝐷)    ⇒   (𝜑 → (𝐸 + 𝐹) ∼ (𝐶 + 𝐷))
 
23-Aug-2026angmgmaddov2 29394 Value of the addition operation in the angle addition magma, in case the first angle is zero or flat. (Contributed by Thierry Arnoux, 23-Aug-2026.)
𝑃 = (Base‘𝐺)    &   𝐴 = {𝑑 ∈ (𝑃 ↑m (0..^3)) ∣ ((𝑑‘0) ≠ (𝑑‘1) ∧ (𝑑‘1) ≠ (𝑑‘2))}    &   𝐼 = (Itv‘𝐺)    &    − = (dist‘𝐺)    &    ∼ = (cgrA‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝑈 ∈ 𝑃)    &   (𝜑 → 𝑉 ∈ 𝑃)    &   (𝜑 → 𝑊 ∈ 𝑃)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ 𝑃)    &   (𝜑 → 𝑍 ∈ 𝑃)    &   (𝜑 → 𝑈 ≠ 𝑉)    &   (𝜑 → 𝑉 ≠ 𝑊)    &   (𝜑 → 𝑋 ≠ 𝑌)    &   (𝜑 → 𝑌 ≠ 𝑍)    &    + = (𝑒 ∈ 𝐴, 𝑓 ∈ 𝐴 ↦ if((𝑒‘0) ∈ ((𝑒‘1)𝐿(𝑒‘2)), ⟨“(𝑓‘0)(𝑓‘1)(℩𝑠 ∈ 𝑃 (⟨“(𝑓‘2)(𝑓‘1)𝑠”⟩ ∼ 𝑒 ∧ ((𝑓‘1) − 𝑠) = ((𝑒‘1) − (𝑒‘0))))”⟩, ⟨“(𝑒‘0)(𝑒‘1)(℩𝑠 ∈ 𝑃 (⟨“(𝑒‘2)(𝑒‘1)𝑠”⟩ ∼ 𝑓 ∧ ((𝑒‘1) − 𝑠) = ((𝑓‘1) − (𝑓‘0)) ∧ (((𝑒‘1)𝐿(𝑒‘2)) ∩ (𝑠𝐼(𝑒‘0))) ≠ ∅))”⟩))    &   (𝜑 → 𝑋 ∈ (𝑌𝐿𝑍))    &   (𝜑 → 𝑆 ∈ 𝑃)    &   (𝜑 → ⟨“𝑊𝑉𝑆”⟩ ∼ ⟨“𝑋𝑌𝑍”⟩)    &   (𝜑 → (𝑉 − 𝑆) = (𝑌 − 𝑋))    ⇒   (𝜑 → (⟨“𝑋𝑌𝑍”⟩ + ⟨“𝑈𝑉𝑊”⟩) = ⟨“𝑈𝑉𝑆”⟩)
 
23-Aug-2026angmgmaddov1 29393 Value of the addition operation in the angle addition magma, in case the first angle is neither zero nor flat. (Contributed by Thierry Arnoux, 23-Aug-2026.)
𝑃 = (Base‘𝐺)    &   𝐴 = {𝑑 ∈ (𝑃 ↑m (0..^3)) ∣ ((𝑑‘0) ≠ (𝑑‘1) ∧ (𝑑‘1) ≠ (𝑑‘2))}    &   𝐼 = (Itv‘𝐺)    &    − = (dist‘𝐺)    &    ∼ = (cgrA‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝑈 ∈ 𝑃)    &   (𝜑 → 𝑉 ∈ 𝑃)    &   (𝜑 → 𝑊 ∈ 𝑃)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ 𝑃)    &   (𝜑 → 𝑍 ∈ 𝑃)    &   (𝜑 → 𝑈 ≠ 𝑉)    &   (𝜑 → 𝑉 ≠ 𝑊)    &   (𝜑 → 𝑋 ≠ 𝑌)    &   (𝜑 → 𝑌 ≠ 𝑍)    &    + = (𝑒 ∈ 𝐴, 𝑓 ∈ 𝐴 ↦ if((𝑒‘0) ∈ ((𝑒‘1)𝐿(𝑒‘2)), ⟨“(𝑓‘0)(𝑓‘1)(℩𝑠 ∈ 𝑃 (⟨“(𝑓‘2)(𝑓‘1)𝑠”⟩ ∼ 𝑒 ∧ ((𝑓‘1) − 𝑠) = ((𝑒‘1) − (𝑒‘0))))”⟩, ⟨“(𝑒‘0)(𝑒‘1)(℩𝑠 ∈ 𝑃 (⟨“(𝑒‘2)(𝑒‘1)𝑠”⟩ ∼ 𝑓 ∧ ((𝑒‘1) − 𝑠) = ((𝑓‘1) − (𝑓‘0)) ∧ (((𝑒‘1)𝐿(𝑒‘2)) ∩ (𝑠𝐼(𝑒‘0))) ≠ ∅))”⟩))    &   (𝜑 → ¬ 𝑋 ∈ (𝑌𝐿𝑍))    &   (𝜑 → 𝑆 ∈ 𝑃)    &   (𝜑 → ⟨“𝑍𝑌𝑆”⟩ ∼ ⟨“𝑈𝑉𝑊”⟩)    &   (𝜑 → (𝑌 − 𝑆) = (𝑉 − 𝑈))    &   (𝜑 → ((𝑌𝐿𝑍) ∩ (𝑆𝐼𝑋)) ≠ ∅)    ⇒   (𝜑 → (⟨“𝑋𝑌𝑍”⟩ + ⟨“𝑈𝑉𝑊”⟩) = ⟨“𝑋𝑌𝑆”⟩)
 
23-Aug-2026angmgmaddov2lem 29392 Lemma for angmgmaddov2 29394. (Contributed by Thierry Arnoux, 23-Aug-2026.)
𝑃 = (Base‘𝐺)    &   𝐴 = {𝑑 ∈ (𝑃 ↑m (0..^3)) ∣ ((𝑑‘0) ≠ (𝑑‘1) ∧ (𝑑‘1) ≠ (𝑑‘2))}    &   𝐼 = (Itv‘𝐺)    &    − = (dist‘𝐺)    &    ∼ = (cgrA‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝑈 ∈ 𝑃)    &   (𝜑 → 𝑉 ∈ 𝑃)    &   (𝜑 → 𝑊 ∈ 𝑃)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ 𝑃)    &   (𝜑 → 𝑍 ∈ 𝑃)    &   (𝜑 → 𝑈 ≠ 𝑉)    &   (𝜑 → 𝑉 ≠ 𝑊)    &   (𝜑 → 𝑋 ≠ 𝑌)    &   (𝜑 → 𝑌 ≠ 𝑍)    &   (𝜑 → 𝑋 ∈ (𝑌𝐿𝑍))    ⇒   (𝜑 → ∃!𝑠 ∈ 𝑃 (⟨“𝑊𝑉𝑠”⟩ ∼ ⟨“𝑋𝑌𝑍”⟩ ∧ (𝑉 − 𝑠) = (𝑌 − 𝑋)))
 
23-Aug-2026angmgmaddov1lem 29391 Lemma for angmgmaddov1 29393. (Contributed by Thierry Arnoux, 23-Aug-2026.)
𝑃 = (Base‘𝐺)    &   𝐴 = {𝑑 ∈ (𝑃 ↑m (0..^3)) ∣ ((𝑑‘0) ≠ (𝑑‘1) ∧ (𝑑‘1) ≠ (𝑑‘2))}    &   𝐼 = (Itv‘𝐺)    &    − = (dist‘𝐺)    &    ∼ = (cgrA‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝑈 ∈ 𝑃)    &   (𝜑 → 𝑉 ∈ 𝑃)    &   (𝜑 → 𝑊 ∈ 𝑃)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ 𝑃)    &   (𝜑 → 𝑍 ∈ 𝑃)    &   (𝜑 → 𝑈 ≠ 𝑉)    &   (𝜑 → 𝑉 ≠ 𝑊)    &   (𝜑 → 𝑋 ≠ 𝑌)    &   (𝜑 → 𝑌 ≠ 𝑍)    &   (𝜑 → ¬ 𝑋 ∈ (𝑌𝐿𝑍))    ⇒   (𝜑 → ∃!𝑠 ∈ 𝑃 (⟨“𝑍𝑌𝑠”⟩ ∼ ⟨“𝑈𝑉𝑊”⟩ ∧ (𝑌 − 𝑠) = (𝑉 − 𝑈) ∧ ((𝑌𝐿𝑍) ∩ (𝑠𝐼𝑋)) ≠ ∅))
 
23-Aug-2026angmgmaddeu7 29390 There exists a unique point 𝑠 satisfying the conditions of angle addition. Case where both angles are straight angles. (Contributed by Thierry Arnoux, 23-Aug-2026.)
𝑃 = (Base‘𝐺)    &   𝐴 = {𝑑 ∈ (𝑃 ↑m (0..^3)) ∣ ((𝑑‘0) ≠ (𝑑‘1) ∧ (𝑑‘1) ≠ (𝑑‘2))}    &   𝐼 = (Itv‘𝐺)    &    − = (dist‘𝐺)    &    ∼ = (cgrA‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝑈 ∈ 𝑃)    &   (𝜑 → 𝑉 ∈ 𝑃)    &   (𝜑 → 𝑊 ∈ 𝑃)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ 𝑃)    &   (𝜑 → 𝑍 ∈ 𝑃)    &   (𝜑 → 𝑈 ≠ 𝑉)    &   (𝜑 → 𝑉 ≠ 𝑊)    &   (𝜑 → 𝑋 ≠ 𝑌)    &   (𝜑 → 𝑌 ≠ 𝑍)    &   (𝜑 → 𝑌 ∈ (𝑋𝐼𝑍))    &   (𝜑 → 𝑉 ∈ (𝑈𝐼𝑊))    ⇒   (𝜑 → ∃!𝑠 ∈ 𝑃 (⟨“𝑍𝑌𝑠”⟩ ∼ ⟨“𝑈𝑉𝑊”⟩ ∧ (𝑌 − 𝑠) = (𝑉 − 𝑈)))
 
23-Aug-2026angmgmaddeu6 29389 There exists a unique point 𝑠 satisfying the conditions of angle addition. Case where the first angle is a zero angle, and the second angle is a straight angle. (Contributed by Thierry Arnoux, 23-Aug-2026.)
𝑃 = (Base‘𝐺)    &   𝐴 = {𝑑 ∈ (𝑃 ↑m (0..^3)) ∣ ((𝑑‘0) ≠ (𝑑‘1) ∧ (𝑑‘1) ≠ (𝑑‘2))}    &   𝐼 = (Itv‘𝐺)    &    − = (dist‘𝐺)    &    ∼ = (cgrA‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝑈 ∈ 𝑃)    &   (𝜑 → 𝑉 ∈ 𝑃)    &   (𝜑 → 𝑊 ∈ 𝑃)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ 𝑃)    &   (𝜑 → 𝑍 ∈ 𝑃)    &   (𝜑 → 𝑈 ≠ 𝑉)    &   (𝜑 → 𝑉 ≠ 𝑊)    &   (𝜑 → 𝑋 ≠ 𝑌)    &   (𝜑 → 𝑌 ≠ 𝑍)    &   (𝜑 → 𝑌 ∈ (𝑋𝐼𝑍))    &   (𝜑 → 𝑈((hlG‘𝐺)‘𝑉)𝑊)    ⇒   (𝜑 → ∃!𝑠 ∈ 𝑃 (⟨“𝑍𝑌𝑠”⟩ ∼ ⟨“𝑈𝑉𝑊”⟩ ∧ (𝑌 − 𝑠) = (𝑉 − 𝑈)))
 
23-Aug-2026angmgmaddeu5 29388 There exists a unique point 𝑠 satisfying the conditions of angle addition. Case where one angle is a zero angle, and the other angle is a straight angle. (Contributed by Thierry Arnoux, 23-Aug-2026.)
𝑃 = (Base‘𝐺)    &   𝐴 = {𝑑 ∈ (𝑃 ↑m (0..^3)) ∣ ((𝑑‘0) ≠ (𝑑‘1) ∧ (𝑑‘1) ≠ (𝑑‘2))}    &   𝐼 = (Itv‘𝐺)    &    − = (dist‘𝐺)    &    ∼ = (cgrA‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝑈 ∈ 𝑃)    &   (𝜑 → 𝑉 ∈ 𝑃)    &   (𝜑 → 𝑊 ∈ 𝑃)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ 𝑃)    &   (𝜑 → 𝑍 ∈ 𝑃)    &   (𝜑 → 𝑈 ≠ 𝑉)    &   (𝜑 → 𝑉 ≠ 𝑊)    &   (𝜑 → 𝑋 ≠ 𝑌)    &   (𝜑 → 𝑌 ≠ 𝑍)    &   (𝜑 → 𝑋((hlG‘𝐺)‘𝑌)𝑍)    &   (𝜑 → 𝑉 ∈ (𝑈𝐼𝑊))    ⇒   (𝜑 → ∃!𝑠 ∈ 𝑃 (⟨“𝑍𝑌𝑠”⟩ ∼ ⟨“𝑈𝑉𝑊”⟩ ∧ (𝑌 − 𝑠) = (𝑉 − 𝑈)))
 
23-Aug-2026angmgmaddeu4 29387 There exists a unique point 𝑠 satisfying the conditions of angle addition. Case where both angles are zero angles. (Contributed by Thierry Arnoux, 23-Aug-2026.)
𝑃 = (Base‘𝐺)    &   𝐴 = {𝑑 ∈ (𝑃 ↑m (0..^3)) ∣ ((𝑑‘0) ≠ (𝑑‘1) ∧ (𝑑‘1) ≠ (𝑑‘2))}    &   𝐼 = (Itv‘𝐺)    &    − = (dist‘𝐺)    &    ∼ = (cgrA‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝑈 ∈ 𝑃)    &   (𝜑 → 𝑉 ∈ 𝑃)    &   (𝜑 → 𝑊 ∈ 𝑃)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ 𝑃)    &   (𝜑 → 𝑍 ∈ 𝑃)    &   (𝜑 → 𝑈 ≠ 𝑉)    &   (𝜑 → 𝑉 ≠ 𝑊)    &   (𝜑 → 𝑋 ≠ 𝑌)    &   (𝜑 → 𝑌 ≠ 𝑍)    &   (𝜑 → 𝑋((hlG‘𝐺)‘𝑌)𝑍)    &   (𝜑 → 𝑈((hlG‘𝐺)‘𝑉)𝑊)    ⇒   (𝜑 → ∃!𝑠 ∈ 𝑃 (⟨“𝑍𝑌𝑠”⟩ ∼ ⟨“𝑈𝑉𝑊”⟩ ∧ (𝑌 − 𝑠) = (𝑉 − 𝑈)))
 
23-Aug-2026angmgmaddeu3 29386 Existence of a unique point for building angle addition. Case where the second angle is a flat angle. (Contributed by Thierry Arnoux, 23-Aug-2026.)
𝑃 = (Base‘𝐺)    &   𝐴 = {𝑑 ∈ (𝑃 ↑m (0..^3)) ∣ ((𝑑‘0) ≠ (𝑑‘1) ∧ (𝑑‘1) ≠ (𝑑‘2))}    &   𝐼 = (Itv‘𝐺)    &    − = (dist‘𝐺)    &    ∼ = (cgrA‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝑈 ∈ 𝑃)    &   (𝜑 → 𝑉 ∈ 𝑃)    &   (𝜑 → 𝑊 ∈ 𝑃)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ 𝑃)    &   (𝜑 → 𝑍 ∈ 𝑃)    &   (𝜑 → 𝑈 ≠ 𝑉)    &   (𝜑 → 𝑉 ≠ 𝑊)    &   (𝜑 → 𝑋 ≠ 𝑌)    &   (𝜑 → 𝑌 ≠ 𝑍)    &   (𝜑 → ¬ 𝑋 ∈ (𝑌𝐿𝑍))    &   (𝜑 → 𝑉 ∈ (𝑈𝐼𝑊))    ⇒   (𝜑 → ∃!𝑠 ∈ 𝑃 (⟨“𝑍𝑌𝑠”⟩ ∼ ⟨“𝑈𝑉𝑊”⟩ ∧ (𝑌 − 𝑠) = (𝑉 − 𝑈) ∧ ((𝑌𝐿𝑍) ∩ (𝑠𝐼𝑋)) ≠ ∅))
 
23-Aug-2026angmgmaddeu2 29385 Existence of a unique point for building angle addition. Case where the second angle is a zero angle. (Contributed by Thierry Arnoux, 23-Aug-2026.)
𝑃 = (Base‘𝐺)    &   𝐴 = {𝑑 ∈ (𝑃 ↑m (0..^3)) ∣ ((𝑑‘0) ≠ (𝑑‘1) ∧ (𝑑‘1) ≠ (𝑑‘2))}    &   𝐼 = (Itv‘𝐺)    &    − = (dist‘𝐺)    &    ∼ = (cgrA‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝑈 ∈ 𝑃)    &   (𝜑 → 𝑉 ∈ 𝑃)    &   (𝜑 → 𝑊 ∈ 𝑃)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ 𝑃)    &   (𝜑 → 𝑍 ∈ 𝑃)    &   (𝜑 → 𝑈 ≠ 𝑉)    &   (𝜑 → 𝑉 ≠ 𝑊)    &   (𝜑 → 𝑋 ≠ 𝑌)    &   (𝜑 → 𝑌 ≠ 𝑍)    &   (𝜑 → ¬ 𝑋 ∈ (𝑌𝐿𝑍))    &   (𝜑 → 𝑈((hlG‘𝐺)‘𝑉)𝑊)    ⇒   (𝜑 → ∃!𝑠 ∈ 𝑃 (⟨“𝑍𝑌𝑠”⟩ ∼ ⟨“𝑈𝑉𝑊”⟩ ∧ (𝑌 − 𝑠) = (𝑉 − 𝑈) ∧ ((𝑌𝐿𝑍) ∩ (𝑠𝐼𝑋)) ≠ ∅))
 
23-Aug-2026angmgmaddeu1 29384 There exists a unique point 𝑠 satisfying the conditions of angle addition. General case. (Contributed by Thierry Arnoux, 23-Aug-2026.)
𝑃 = (Base‘𝐺)    &   𝐴 = {𝑑 ∈ (𝑃 ↑m (0..^3)) ∣ ((𝑑‘0) ≠ (𝑑‘1) ∧ (𝑑‘1) ≠ (𝑑‘2))}    &   𝐼 = (Itv‘𝐺)    &    − = (dist‘𝐺)    &    ∼ = (cgrA‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝑈 ∈ 𝑃)    &   (𝜑 → 𝑉 ∈ 𝑃)    &   (𝜑 → 𝑊 ∈ 𝑃)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ 𝑃)    &   (𝜑 → 𝑍 ∈ 𝑃)    &   (𝜑 → 𝑈 ≠ 𝑉)    &   (𝜑 → 𝑉 ≠ 𝑊)    &   (𝜑 → 𝑋 ≠ 𝑌)    &   (𝜑 → 𝑌 ≠ 𝑍)    &   (𝜑 → ¬ 𝑋 ∈ (𝑌𝐿𝑍))    &   (𝜑 → ¬ 𝑈 ∈ (𝑉𝐿𝑊))    ⇒   (𝜑 → ∃!𝑠 ∈ 𝑃 (⟨“𝑍𝑌𝑠”⟩ ∼ ⟨“𝑈𝑉𝑊”⟩ ∧ (𝑌 − 𝑠) = (𝑉 − 𝑈) ∧ ((𝑌𝐿𝑍) ∩ (𝑠𝐼𝑋)) ≠ ∅))
 
23-Aug-2026elcgrabasrd 29381 Helper theorem for the membership in the base set of the angle addition monoid. (Contributed by Thierry Arnoux, 23-Aug-2026.)
𝐴 = {𝑑 ∈ (𝑃 ↑m (0..^3)) ∣ ((𝑑‘0) ≠ (𝑑‘1) ∧ (𝑑‘1) ≠ (𝑑‘2))}    &   (𝜑 → 𝑃 ∈ 𝑉)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ 𝑃)    &   (𝜑 → 𝑍 ∈ 𝑃)    &   (𝜑 → 𝑋 ≠ 𝑌)    &   (𝜑 → 𝑌 ≠ 𝑍)    ⇒   (𝜑 → ⟨“𝑋𝑌𝑍”⟩ ∈ 𝐴)
 
23-Aug-2026elcgrabasi 29380 Helper theorem for the membership in the base set of the angle addition monoid. (Contributed by Thierry Arnoux, 23-Aug-2026.)
𝑃 ∈ V    &   𝐴 = {𝑑 ∈ (𝑃 ↑m (0..^3)) ∣ ((𝑑‘0) ≠ (𝑑‘1) ∧ (𝑑‘1) ≠ (𝑑‘2))}    &   (𝜑 → 𝐸 ∈ 𝐴)    ⇒   (𝜑 → ∃𝑥 ∈ 𝑃 ∃𝑦 ∈ 𝑃 ∃𝑧 ∈ 𝑃 (𝐸 = ⟨“𝑥𝑦𝑧”⟩ ∧ (𝑥 ≠ 𝑦 ∧ 𝑦 ≠ 𝑧)))
 
23-Aug-2026tgaaddcpbl2 29358 The angular addition is compatible with angle congruence: by adding congruent angles together, we obtain congruent angles. Compared with tgaaddcpbl 29357, this version handles cases where 𝑈, 𝑉 and 𝑊 are aligned. (Contributed by Thierry Arnoux, 23-Aug-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &    ∼ = (cgrA‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝑆 ∈ 𝑃)    &   (𝜑 → 𝑇 ∈ 𝑃)    &   (𝜑 → 𝑈 ∈ 𝑃)    &   (𝜑 → 𝑉 ∈ 𝑃)    &   (𝜑 → 𝑊 ∈ 𝑃)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ 𝑃)    &   (𝜑 → 𝑍 ∈ 𝑃)    &   (𝜑 → 𝑌 ≠ 𝑆)    &   (𝜑 → 𝑉 ≠ 𝑇)    &   (𝜑 → ((𝑌𝐿𝑆) ∩ (𝑋𝐼𝑍)) ≠ ∅)    &   (𝜑 → ((𝑉𝐿𝑇) ∩ (𝑈𝐼𝑊)) ≠ ∅)    &   (𝜑 → ⟨“𝑋𝑌𝑆”⟩ ∼ ⟨“𝑈𝑉𝑇”⟩)    &   (𝜑 → ⟨“𝑆𝑌𝑍”⟩ ∼ ⟨“𝑇𝑉𝑊”⟩)    ⇒   (𝜑 → ⟨“𝑋𝑌𝑍”⟩ ∼ ⟨“𝑈𝑉𝑊”⟩)
 
23-Aug-2026zerocgra 29336 Zero angles are congruent. Zero angles, that is, angles of degree zero, can be expressed by stating that points 𝐴 and 𝐶 are on the same ray starting at 𝐵, that is, 𝐴(𝐾‘𝐵)𝐶. See also flatcgra 29337. (Contributed by Thierry Arnoux, 23-Aug-2026.)
𝑃 = (Base‘𝐺)    &    ∼ = (cgrA‘𝐺)    &   𝐾 = (hlG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴(𝐾‘𝐵)𝐶)    &   (𝜑 → 𝐷(𝐾‘𝐸)𝐹)    &   (𝜑 → 𝐵 ∈ 𝑃)    &   (𝜑 → 𝐸 ∈ 𝑃)    ⇒   (𝜑 → ⟨“𝐴𝐵𝐶”⟩ ∼ ⟨“𝐷𝐸𝐹”⟩)
 
23-Aug-2026lnoppinn0 29236 The segment between two points 𝑋 and 𝑌 on opposite sides of a line 𝐷 intersects 𝐷. (Contributed by Thierry Arnoux, 23-Aug-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝑂 = {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ (𝑃 ∖ 𝐷) ∧ 𝑏 ∈ (𝑃 ∖ 𝐷)) ∧ ∃𝑡 ∈ 𝐷 𝑡 ∈ (𝑎𝐼𝑏))}    &   (𝜑 → 𝐺 ∈ 𝑉)    &   (𝜑 → 𝐷 ∈ ran 𝐿)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ 𝑃)    &   (𝜑 → 𝑋𝑂𝑌)    ⇒   (𝜑 → (𝐷 ∩ (𝑋𝐼𝑌)) ≠ ∅)
 
23-Aug-2026tghlsub 29091 Removing identical parts from the end of a ray segment preserves congruence. (Contributed by Thierry Arnoux, 23-Aug-2026.)
𝑃 = (Base‘𝐺)    &    − = (dist‘𝐺)    &   𝐾 = (hlG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐵 ∈ 𝑃)    &   (𝜑 → 𝐸 ∈ 𝑃)    &   (𝜑 → 𝐴(𝐾‘𝐵)𝐶)    &   (𝜑 → 𝐷(𝐾‘𝐸)𝐹)    &   (𝜑 → (𝐵 − 𝐶) = (𝐸 − 𝐹))    &   (𝜑 → (𝐵 − 𝐴) = (𝐸 − 𝐷))    ⇒   (𝜑 → (𝐶 − 𝐴) = (𝐹 − 𝐷))
 
23-Aug-2026tgsegconeu 28954 The point constructed in axtgsegcon 28931 is unique. (Contributed by Thierry Arnoux, 23-Aug-2026.)
𝑃 = (Base‘𝐺)    &    − = (dist‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ 𝑃)    &   (𝜑 → 𝐴 ∈ 𝑃)    &   (𝜑 → 𝐵 ∈ 𝑃)    &   (𝜑 → 𝑋 ≠ 𝑌)    ⇒   (𝜑 → ∃!𝑧 ∈ 𝑃 (𝑌 ∈ (𝑋𝐼𝑧) ∧ (𝑌 − 𝑧) = (𝐴 − 𝐵)))
 
23-Aug-2026dfric2 20762 Alternate definition of the ring isomorphism relation. (Contributed by Jeff Madsen, 16-Jun-2011.) (Revised by AV, 23-Aug-2026.)
≃𝑟 = {⟨𝑟, 𝑠⟩ ∣ ((𝑟 ∈ Ring ∧ 𝑠 ∈ Ring) ∧ ∃𝑓 𝑓 ∈ (𝑟 RingIso 𝑠))}
 
23-Aug-2026s3rexrd 15107 Converse of s3rex 15106, deduction form. (Contributed by Thierry Arnoux, 23-Aug-2026.)
(𝜑 → 𝑆 ∈ 𝑉)    &   (𝜑 → 𝑋 ∈ 𝑆)    &   (𝜑 → 𝑌 ∈ 𝑆)    &   (𝜑 → 𝑍 ∈ 𝑆)    ⇒   (𝜑 → ⟨“𝑋𝑌𝑍”⟩ ∈ (𝑆 ↑m (0..^3)))
 
23-Aug-2026s3rex 15106 Membership in a family of words of length 3. (Contributed by Thierry Arnoux, 23-Aug-2026.)
𝑆 ∈ V    ⇒   (𝐴 ∈ (𝑆 ↑m (0..^3)) ↔ ∃𝑥 ∈ 𝑆 ∃𝑦 ∈ 𝑆 ∃𝑧 ∈ 𝑆 𝐴 = ⟨“𝑥𝑦𝑧”⟩)
 
23-Aug-2026elrelb 5774 A member of a relation expressed by an ordered pair. (Contributed by AV, 23-Aug-2026.)
(Rel 𝑅 → (𝐴 ∈ 𝑅 ↔ ∃𝑥∃𝑦(𝐴 = ⟨𝑥, 𝑦⟩ ∧ 𝑥𝑅𝑦)))
 
21-Aug-2026dfprop 38740 The set of sentences of propositional calculus is equal to the set of sentences that are either a variable encoded as a natural number, a negation of a sentence propositional calculus, or an implication between two sentences of propositional calculus. (Contributed by Thomas van Maaren, 21-Aug-2026.)
PROP = {𝑥 ∣ (∃𝑧 ∈ PROP (𝑥 = (prop¬‘𝑧) ∨ ∃𝑤 ∈ PROP 𝑥 = (𝑤prop→𝑧)) ∨ ∃𝑛 ∈ ℕ 𝑥 = (propvar ‘𝑛))}
 
21-Aug-2026dfprop2 38739 Every sentence of propositional calculus is either a variable encoded as a natural number, a negation of a sentence of propositional calculus, or an implication between two sentences of propositional calculus. (Contributed by Thomas van Maaren, 21-Aug-2026.)
PROP ⊆ {𝑥 ∣ (∃𝑧 ∈ PROP (𝑥 = (prop¬‘𝑧) ∨ ∃𝑤 ∈ PROP 𝑥 = (𝑤prop→𝑧)) ∨ ∃𝑛 ∈ ℕ 𝑥 = (propvar ‘𝑛))}
 
21-Aug-2026dfprop1 38738 The set of variables encoded as a natural number, negations of sentences of propositional calculus, and implications between sentences of propositional calculus is a subset of PROP. (Contributed by Thomas van Maaren, 21-Aug-2026.)
{𝑥 ∣ (∃𝑧 ∈ PROP (𝑥 = (prop¬‘𝑧) ∨ ∃𝑤 ∈ PROP 𝑥 = (𝑤prop→𝑧)) ∨ ∃𝑛 ∈ ℕ 𝑥 = (propvar ‘𝑛))} ⊆ PROP
 
21-Aug-2026impprop 38737 The implication between two sentences of propositional calculus is a sentence of propositional calculus. (Contributed by Thomas van Maaren, 21-Aug-2026.)
((𝑥 ∈ PROP ∧ 𝑦 ∈ PROP) → (𝑥prop→𝑦) ∈ PROP)
 
21-Aug-2026negprop 38736 The negation of a sentence of propositional calculus is a sentence of propositional calculus. (Contributed by Thomas van Maaren, 21-Aug-2026.)
(𝑥 ∈ PROP → (prop¬‘𝑥) ∈ PROP)
 
21-Aug-2026varprop 38735 Variables encoded as natural numbers are sentences of propositional calculus. (Contributed by Thomas van Maaren, 21-Aug-2026.)
(𝑛 ∈ ℕ → (propvar ‘𝑛) ∈ PROP)
 
21-Aug-2026dfproplem 38734 Given a set A, the set of all variables encoded as natural numbers, negations of elements in A, and implications between elements of A forms a set. This lemma is used when using fvmptd 7001 on the defining function of PROP. (Contributed by Thomas van Maaren, 21-Aug-2026.)
𝐴 ∈ V    ⇒   {𝑥 ∣ (∃𝑧 ∈ 𝐴 (𝑥 = (prop¬‘𝑧) ∨ ∃𝑤 ∈ 𝐴 𝑥 = (𝑤prop→𝑧)) ∨ ∃𝑛 ∈ ℕ 𝑥 = (propvar ‘𝑛))} ∈ V
 
21-Aug-2026df-prop 38733 Define the language of propositional calculus. This definition is noncircular. For a more usable and intuitive, but circular, definition see dfprop 38740. (Contributed by Thomas van Maaren, 21-Aug-2026.)
PROP = setrecs((𝑦 ∈ V ↦ {𝑥 ∣ (∃𝑧 ∈ 𝑦 (𝑥 = (prop¬‘𝑧) ∨ ∃𝑤 ∈ 𝑦 𝑥 = (𝑤prop→𝑧)) ∨ ∃𝑛 ∈ ℕ 𝑥 = (propvar ‘𝑛))}))
 
21-Aug-2026df-propimp 38731 The implication between two sentences of propositional calculus is encoded by concatenating the two sentences and appending a two at the end. (Contributed by Thomas van Maaren, 21-Aug-2026.)
prop→ = (𝑥 ∈ V, 𝑦 ∈ V ↦ ((𝑥 ++ 𝑦) ++ ⟨“2”⟩))
 
21-Aug-2026df-propneg 38730 The negation of a sentence of propositional calculus is encoded by appending a one after the sentence. (Contributed by Thomas van Maaren, 21-Aug-2026.)
prop¬ = (𝑥 ∈ V ↦ (𝑥 ++ ⟨“1”⟩))
 
21-Aug-2026df-propvar 38729 Variables in sentences of propositional calculus are encoded by appending a zero after the number of the variable. (Contributed by Thomas van Maaren, 21-Aug-2026.)
propvar = (𝑛 ∈ ℕ ↦ (⟨“𝑛”⟩ ++ ⟨“0”⟩))
 
21-Aug-2026degenmgm2 19145 A degenerate magma: although the operation is not defined for all pairs of elements of the base set, and its domain is not (a subset of) the base set, and the operation is not a function (see degenmgm2nfun 19144), the structure 𝑀 is still a magma according to our definition. (Contributed by AV, 21-Aug-2026.)
𝑀 = {⟨(Base‘ndx), {∅, 1o}⟩, ⟨(+g‘ndx), {⟨⟨1o, 1o⟩, 1o⟩, ⟨⟨1o, 2o⟩, 1o⟩, ⟨⟨1o, 2o⟩, 2o⟩}⟩}    ⇒   𝑀 ∈ Mgm
 
21-Aug-2026degenmgm2nfun 19144 The operation of a second degenerate magma is not a function. (Contributed by AV, 21-Aug-2026.)
𝑀 = {⟨(Base‘ndx), {∅, 1o}⟩, ⟨(+g‘ndx), {⟨⟨1o, 1o⟩, 1o⟩, ⟨⟨1o, 2o⟩, 1o⟩, ⟨⟨1o, 2o⟩, 2o⟩}⟩}    ⇒    ¬ Fun (+g‘𝑀)
 
21-Aug-2026degenmgm2opdm 19143 The domain of the operation of a second degenerate magma. (Contributed by AV, 21-Aug-2026.)
𝑀 = {⟨(Base‘ndx), {∅, 1o}⟩, ⟨(+g‘ndx), {⟨⟨1o, 1o⟩, 1o⟩, ⟨⟨1o, 2o⟩, 1o⟩, ⟨⟨1o, 2o⟩, 2o⟩}⟩}    ⇒   dom (+g‘𝑀) = ({1o} × {1o, 2o})
 
21-Aug-2026degenmgmnfn 19141 The operation of a degenerate magma is not a function on its base set. (Contributed by AV, 21-Aug-2026.)
𝑀 = {⟨(Base‘ndx), {∅, 1o}⟩, ⟨(+g‘ndx), {⟨⟨1o, 1o⟩, 1o⟩, ⟨⟨1o, 2o⟩, 1o⟩, ⟨⟨1o, ∅⟩, 1o⟩}⟩}    &   𝐵 = (Base‘𝑀)    ⇒    ¬ (+g‘𝑀) Fn (𝐵 × 𝐵)
 
21-Aug-2026degenmgmbas 19140 The base set of a degenerate magma. (Contributed by AV, 21-Aug-2026.)
𝑀 = {⟨(Base‘ndx), {∅, 1o}⟩, ⟨(+g‘ndx), {⟨⟨1o, 1o⟩, 1o⟩, ⟨⟨1o, 2o⟩, 1o⟩, ⟨⟨1o, ∅⟩, 1o⟩}⟩}    &   𝐵 = (Base‘𝑀)    ⇒   𝐵 = {∅, 1o}
 
21-Aug-2026xpsnprg 7143 The Cartesian product of a singleton and an unordered pair. (Contributed by AV, 21-Aug-2026.)
((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑊 ∧ 𝐶 ∈ 𝑈) → ({𝐴} × {𝐵, 𝐶}) = {⟨𝐴, 𝐵⟩, ⟨𝐴, 𝐶⟩})
 
19-Aug-2026veroquadmodzerod 51152 The columns of the Veronese matrix, weighted by the coefficients 𝐾, sum to the zero vector of ℝfld freeLMod (1...6). (Contributed by Jiamin Zhao, 19-Aug-2026.)
𝑉 = (𝑖 ∈ (1...6), 𝑗 ∈ (1...6) ↦ ((veronese‘(𝐴‘𝑖))‘𝑗))    &   (𝜑 → 𝐴:(1...6)⟶(ℝ ↑m (1...3)))    &   (𝜑 → 𝐾:(1...6)⟶ℝ)    &   ((𝜑 ∧ 𝑖 ∈ (1...6)) → (((((𝐾‘1) · (((𝐴‘𝑖)‘1)↑2)) + ((𝐾‘2) · (((𝐴‘𝑖)‘2)↑2))) + ((𝐾‘3) · (((𝐴‘𝑖)‘3)↑2))) + ((((𝐾‘4) · (((𝐴‘𝑖)‘1) · ((𝐴‘𝑖)‘2))) + ((𝐾‘5) · (((𝐴‘𝑖)‘2) · ((𝐴‘𝑖)‘3)))) + ((𝐾‘6) · (((𝐴‘𝑖)‘3) · ((𝐴‘𝑖)‘1))))) = 0)    ⇒   (𝜑 → ((ℝfld freeLMod (1...6)) Σg (𝐾 ∘f ( ·𝑠 ‘(ℝfld freeLMod (1...6)))curry tpos 𝑉)) = (0g‘(ℝfld freeLMod (1...6))))
 
19-Aug-2026veroquadgsumlem 51151 Lemma for veroquadmodzerod 51152. Express the common homogeneous quadratic equation in ℝfld Σg form using the Veronese matrix 𝑉. (Contributed by Jiamin Zhao, 19-Aug-2026.)
𝑉 = (𝑖 ∈ (1...6), 𝑗 ∈ (1...6) ↦ ((veronese‘(𝐴‘𝑖))‘𝑗))    &   (𝜑 → 𝐴:(1...6)⟶(ℝ ↑m (1...3)))    &   (𝜑 → 𝐾:(1...6)⟶ℝ)    &   ((𝜑 ∧ 𝑖 ∈ (1...6)) → (((((𝐾‘1) · (((𝐴‘𝑖)‘1)↑2)) + ((𝐾‘2) · (((𝐴‘𝑖)‘2)↑2))) + ((𝐾‘3) · (((𝐴‘𝑖)‘3)↑2))) + ((((𝐾‘4) · (((𝐴‘𝑖)‘1) · ((𝐴‘𝑖)‘2))) + ((𝐾‘5) · (((𝐴‘𝑖)‘2) · ((𝐴‘𝑖)‘3)))) + ((𝐾‘6) · (((𝐴‘𝑖)‘3) · ((𝐴‘𝑖)‘1))))) = 0)    ⇒   ((𝜑 ∧ 𝑖 ∈ (1...6)) → (ℝfld Σg (𝑗 ∈ (1...6) ↦ ((𝐾‘𝑗) · ((curry 𝑉‘𝑖)‘𝑗)))) = 0)
 
19-Aug-2026veronesematrowexpd 51150 Currying the Veronese matrix gives the indexed family of Veronese images, with each image expressed explicitly by coordinates. (Contributed by Jiamin Zhao, 19-Aug-2026.)
𝑉 = (𝑖 ∈ (1...6), 𝑗 ∈ (1...6) ↦ ((veronese‘(𝐴‘𝑖))‘𝑗))    &   (𝜑 → 𝐴:(1...6)⟶(ℝ ↑m (1...3)))    ⇒   (𝜑 → curry 𝑉 = (𝑖 ∈ (1...6) ↦ (𝑘 ∈ (1...6) ↦ if(𝑘 = 1, (((𝐴‘𝑖)‘1)↑2), if(𝑘 = 2, (((𝐴‘𝑖)‘2)↑2), if(𝑘 = 3, (((𝐴‘𝑖)‘3)↑2), if(𝑘 = 4, (((𝐴‘𝑖)‘1) · ((𝐴‘𝑖)‘2)), if(𝑘 = 5, (((𝐴‘𝑖)‘2) · ((𝐴‘𝑖)‘3)), (((𝐴‘𝑖)‘3) · ((𝐴‘𝑖)‘1))))))))))
 
19-Aug-2026veronesematrowd 51149 Currying the Veronese matrix gives the indexed family of Veronese images of the points 𝐴‘𝑖. (Contributed by Jiamin Zhao, 19-Aug-2026.)
𝑉 = (𝑖 ∈ (1...6), 𝑗 ∈ (1...6) ↦ ((veronese‘(𝐴‘𝑖))‘𝑗))    &   (𝜑 → 𝐴:(1...6)⟶(ℝ ↑m (1...3)))    ⇒   (𝜑 → curry 𝑉 = (𝑖 ∈ (1...6) ↦ (veronese‘(𝐴‘𝑖))))
 
19-Aug-2026veronesematbasd 51148 The matrix whose 𝑖-th row is the Veronese image of 𝐴‘𝑖 belongs to the base set of (1...6) Mat ℝfld. (Contributed by Jiamin Zhao, 19-Aug-2026.)
𝑉 = (𝑖 ∈ (1...6), 𝑗 ∈ (1...6) ↦ ((veronese‘(𝐴‘𝑖))‘𝑗))    &   (𝜑 → 𝐴:(1...6)⟶(ℝ ↑m (1...3)))    ⇒   (𝜑 → 𝑉 ∈ (Base‘((1...6) Mat ℝfld)))
 
19-Aug-2026veronesefvcl 51140 Every coordinate of the Veronese map of a real 3-vector is real. (Contributed by Jiamin Zhao, 19-Aug-2026.)
((𝑄 ∈ (ℝ ↑m (1...3)) ∧ 𝐾 ∈ (1...6)) → ((veronese‘𝑄)‘𝐾) ∈ ℝ)
 
19-Aug-2026omeiunle 47620 The outer measure of the indexed union of a countable set is less than or equal to the extended sum of the outer measures. The proof uses abrexct 23778 rather than fnrndomg 10621, and so does not require ax-ac 10540. (Contributed by Glauco Siliprandi, 17-Aug-2020.) (Revised by Vincent Gonzalez, 19-Aug-2026.)
Ⅎ𝑛𝜑    &   Ⅎ𝑛𝐸    &   (𝜑 → 𝑂 ∈ OutMeas)    &   𝑋 = ∪ dom 𝑂    &   𝑍 = (ℤ≥‘𝑁)    &   (𝜑 → 𝐸:𝑍⟶𝒫 𝑋)    ⇒   (𝜑 → (𝑂‘∪ 𝑛 ∈ 𝑍 (𝐸‘𝑛)) ≤ (Σ^‘(𝑛 ∈ 𝑍 ↦ (𝑂‘(𝐸‘𝑛)))))
 
19-Aug-2026disjinfi 46300 Only a finite number of disjoint sets can have a nonempty intersection with a finite set 𝐶. The proof uses fodomfi 9307 rather than fodomg 10603, and so does not require ax-ac 10540. (Contributed by Glauco Siliprandi, 17-Aug-2020.) (Revised by Vincent Gonzalez, 19-Aug-2026.)
((𝜑 ∧ 𝑥 ∈ 𝐴) → 𝐵 ∈ 𝑉)    &   (𝜑 → Disj 𝑥 ∈ 𝐴 𝐵)    &   (𝜑 → 𝐶 ∈ Fin)    ⇒   (𝜑 → {𝑥 ∈ 𝐴 ∣ (𝐵 ∩ 𝐶) ≠ ∅} ∈ Fin)
 
19-Aug-2026sigaclci 34810 A sigma-algebra is closed under countable intersections. Deduction version. The proof uses abrexct 23778 rather than abrexdom2jm 33151, and so does not require ax-ac 10540. (Contributed by Thierry Arnoux, 19-Sep-2016.) (Revised by Vincent Gonzalez, 19-Aug-2026.)
(((𝑆 ∈ ∪ ran sigAlgebra ∧ 𝐴 ∈ 𝒫 𝑆) ∧ (𝐴 ≼ ω ∧ 𝐴 ≠ ∅)) → ∩ 𝐴 ∈ 𝑆)
 
19-Aug-2026madefi 28304 The made set of an ordinal natural is finite. (Contributed by Scott Fenton, 20-Aug-2025.) (Proof shortened by Vincent Gonzalez, 19-Aug-2026.)
(𝐴 ∈ ω → (M‘𝐴) ∈ Fin)
 
18-Aug-2026degenmgm 19142 A degenerate magma: although the operation is not defined for all pairs of elements of the base set ((∅(+g‘𝑀)1o) and (∅(+g‘𝑀)∅) are not defined, and therefore are ∅ by definition, which is contained in the base set), and its domain is not (a subset of) the base set (2o is in the domain of the operation, but not in the base set) , the structure 𝑀 is still a magma according to our definition. (Contributed by AV, 18-Aug-2026.)
𝑀 = {⟨(Base‘ndx), {∅, 1o}⟩, ⟨(+g‘ndx), {⟨⟨1o, 1o⟩, 1o⟩, ⟨⟨1o, 2o⟩, 1o⟩, ⟨⟨1o, ∅⟩, 1o⟩}⟩}    ⇒   𝑀 ∈ Mgm
 
18-Aug-2026degenmgmopdm 19139 The domain of the operation of a degenerate magma. (Contributed by AV, 18-Aug-2026.)
𝑀 = {⟨(Base‘ndx), {∅, 1o}⟩, ⟨(+g‘ndx), {⟨⟨1o, 1o⟩, 1o⟩, ⟨⟨1o, 2o⟩, 1o⟩, ⟨⟨1o, ∅⟩, 1o⟩}⟩}    ⇒   dom (+g‘𝑀) = ({1o} × {∅, 1o, 2o})
 
18-Aug-2026mndideu 18939 The two-sided identity element of a monoid is unique. Lemma 2.2.1(a) of [Herstein] p. 55. (Contributed by Mario Carneiro, 8-Dec-2014.) (Proof shortened by AV, 18-Aug-2026.)
𝐵 = (Base‘𝐺)    &    + = (+g‘𝐺)    ⇒   (𝐺 ∈ Mnd → ∃!𝑢 ∈ 𝐵 ∀𝑥 ∈ 𝐵 ((𝑢 + 𝑥) = 𝑥 ∧ (𝑥 + 𝑢) = 𝑥))
 
18-Aug-2026mgmideud 18844 Uniqueness of the left and right identity element of a magma when it exists. (Contributed by FL, 12-Dec-2009.) (Revised by Mario Carneiro, 22-Dec-2013.) (Revised by AV, 18-Aug-2026.)
(𝜑 → ∃𝑢 ∈ 𝐵 ∀𝑥 ∈ 𝐵 ((𝑢 + 𝑥) = 𝑥 ∧ (𝑥 + 𝑢) = 𝑥))    ⇒   (𝜑 → ∃!𝑢 ∈ 𝐵 ∀𝑥 ∈ 𝐵 ((𝑢 + 𝑥) = 𝑥 ∧ (𝑥 + 𝑢) = 𝑥))
 
18-Aug-2026fvtp0 7206 The undefined value of a function with a domain of three elements. (Contributed by AV, 18-Aug-2026.)
𝐷 ∈ V    &   𝐸 ∈ V    &   𝐹 ∈ V    &   𝑋 ∈ V    ⇒   ((𝑋 ≠ 𝐴 ∧ 𝑋 ≠ 𝐵 ∧ 𝑋 ≠ 𝐶) → ({⟨𝐴, 𝐷⟩, ⟨𝐵, 𝐸⟩, ⟨𝐶, 𝐹⟩}‘𝑋) = ∅)
 
18-Aug-2026xpsntpg 7144 The Cartesian product of a singleton and an unordered triple. (Contributed by AV, 18-Aug-2026.)
(((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑊) ∧ (𝐶 ∈ 𝑈 ∧ 𝐷 ∈ 𝑇)) → ({𝐴} × {𝐵, 𝐶, 𝐷}) = {⟨𝐴, 𝐵⟩, ⟨𝐴, 𝐶⟩, ⟨𝐴, 𝐷⟩})
 
17-Aug-2026veronesevrowd 51147 The Veronese map at a point, expressed explicitly as a piecewise maps-to function on the six coordinates. (Contributed by Jiamin Zhao, 17-Aug-2026.)
(𝜑 → 𝑃 ∈ (ℝ ↑m (1...3)))    ⇒   (𝜑 → (veronese‘𝑃) = (𝑘 ∈ (1...6) ↦ if(𝑘 = 1, ((𝑃‘1)↑2), if(𝑘 = 2, ((𝑃‘2)↑2), if(𝑘 = 3, ((𝑃‘3)↑2), if(𝑘 = 4, ((𝑃‘1) · (𝑃‘2)), if(𝑘 = 5, ((𝑃‘2) · (𝑃‘3)), ((𝑃‘3) · (𝑃‘1)))))))))
 
17-Aug-2026veronesev6lem 51146 Lemma for veronesevrowd 51147. Value of the sixth coordinate of the Veronese map at a point. (Contributed by Jiamin Zhao, 17-Aug-2026.)
(𝜑 → 𝑃 ∈ (ℝ ↑m (1...3)))    ⇒   (𝜑 → ((veronese‘𝑃)‘6) = ((𝑃‘3) · (𝑃‘1)))
 
17-Aug-2026veronesev5lem 51145 Lemma for veronesevrowd 51147. Value of the fifth coordinate of the Veronese map at a point. (Contributed by Jiamin Zhao, 17-Aug-2026.)
(𝜑 → 𝑃 ∈ (ℝ ↑m (1...3)))    ⇒   (𝜑 → ((veronese‘𝑃)‘5) = ((𝑃‘2) · (𝑃‘3)))
 
17-Aug-2026veronesev4lem 51144 Lemma for veronesevrowd 51147. Value of the fourth coordinate of the Veronese map at a point. (Contributed by Jiamin Zhao, 17-Aug-2026.)
(𝜑 → 𝑃 ∈ (ℝ ↑m (1...3)))    ⇒   (𝜑 → ((veronese‘𝑃)‘4) = ((𝑃‘1) · (𝑃‘2)))
 
17-Aug-2026veronesev3lem 51143 Lemma for veronesevrowd 51147. Value of the third coordinate of the Veronese map at a point. (Contributed by Jiamin Zhao, 17-Aug-2026.)
(𝜑 → 𝑃 ∈ (ℝ ↑m (1...3)))    ⇒   (𝜑 → ((veronese‘𝑃)‘3) = ((𝑃‘3)↑2))
 
17-Aug-2026difelsiga 34813 A sigma-algebra is closed under class differences. The proof goes through difunielsiga 34811 and unelsiga 34812 rather than countable intersection, and so does not use ax-ac 10540. (Contributed by Thierry Arnoux, 13-Sep-2016.) (Proof shortened by Vincent Gonzalez, 17-Aug-2026.)
((𝑆 ∈ ∪ ran sigAlgebra ∧ 𝐴 ∈ 𝑆 ∧ 𝐵 ∈ 𝑆) → (𝐴 ∖ 𝐵) ∈ 𝑆)
 
17-Aug-2026difunielsiga 34811 A sigma-algebra is closed under complement relative to its base set. This is immediate from the definition, see issiga 34790, but the library states it nowhere in this form. (Contributed by Vincent Gonzalez, 17-Aug-2026.)
((𝑆 ∈ ∪ ran sigAlgebra ∧ 𝐴 ∈ 𝑆) → (∪ 𝑆 ∖ 𝐴) ∈ 𝑆)
 
17-Aug-2026mndfo 18953 The addition operation of a monoid is an onto function (assuming it is a function). (Contributed by Mario Carneiro, 11-Oct-2013.) (Proof shortened by AV, 17-Aug-2026.)
𝐵 = (Base‘𝐺)    &    + = (+g‘𝐺)    ⇒   ((𝐺 ∈ Mnd ∧ + Fn (𝐵 × 𝐵)) → + :(𝐵 × 𝐵)–onto→𝐵)
 
17-Aug-2026mndpfo 18952 The addition operation of a monoid as a function is an onto function. (Contributed by FL, 2-Nov-2009.) (Revised by Mario Carneiro, 11-Oct-2013.) (Revised by AV, 23-Jan-2020.) (Proof shortened by AV, 17-Aug-2026.)
𝐵 = (Base‘𝐺)    &    ⨣ = (+𝑓‘𝐺)    ⇒   (𝐺 ∈ Mnd → ⨣ :(𝐵 × 𝐵)–onto→𝐵)
 
17-Aug-2026fnrndomg 10621 The range of a function is dominated by its domain. This theorem requires the axiom of choice ax-ac2 10544; see fnrndomnum 10620 for a version that does not. (Contributed by NM, 1-Sep-2004.) (Proof shortened by Vincent Gonzalez, 17-Aug-2026.)
(𝐴 ∈ 𝐵 → (𝐹 Fn 𝐴 → ran 𝐹 ≼ 𝐴))
 
17-Aug-2026fnrndomnum 10620 A version of fnrndomg 10621 that does not require the axiom of choice ax-ac 10540. (Contributed by Vincent Gonzalez, 17-Aug-2026.)
(𝐴 ∈ dom card → (𝐹 Fn 𝐴 → ran 𝐹 ≼ 𝐴))
 
16-Aug-2026veronesev2lem 51142 Lemma for veronesevrowd 51147. Value of the second coordinate of the Veronese map at a point. (Contributed by Jiamin Zhao, 16-Aug-2026.)
(𝜑 → 𝑃 ∈ (ℝ ↑m (1...3)))    ⇒   (𝜑 → ((veronese‘𝑃)‘2) = ((𝑃‘2)↑2))
 
16-Aug-2026coi1in 38053 Precomposition with the identity expressed as intersection. (Contributed by BJ, 16-Aug-2026.)
(𝐴 ∘ I ) = (𝐴 ∩ (V × V))
 
16-Aug-2026elco 38052 Membership in a composition. (Contributed by BJ, 16-Aug-2026.)
(𝐴 ∈ (𝐶 ∘ 𝐵) ↔ ∃𝑥∃𝑦(𝐴 = ⟨𝑥, 𝑦⟩ ∧ ∃𝑧(𝑥𝐵𝑧 ∧ 𝑧𝐶𝑦)))
 
16-Aug-2026mgmfod 18864 The operation of a magma with identity is an onto function (assuming it is a function). (Contributed by FL, 2-Nov-2009.) (Revised by AV, 16-Aug-2026.)
𝐵 = (Base‘𝐺)    &    + = (+g‘𝐺)    &   (𝜑 → 𝐺 ∈ Mgm)    &   (𝜑 → ∃𝑒 ∈ 𝐵 ∀𝑥 ∈ 𝐵 ((𝑒 + 𝑥) = 𝑥 ∧ (𝑥 + 𝑒) = 𝑥))    &   (𝜑 → + Fn (𝐵 × 𝐵))    ⇒   (𝜑 → + :(𝐵 × 𝐵)–onto→𝐵)
 
16-Aug-2026mgmidprnd 18863 Range of an operation with a left and right identity element. (Contributed by FL, 2-Nov-2009.) (Revised by AV, 16-Aug-2026.)
𝐵 = (Base‘𝐺)    &    + = (+g‘𝐺)    &   (𝜑 → 𝐺 ∈ Mgm)    &   (𝜑 → ∃𝑒 ∈ 𝐵 ∀𝑥 ∈ 𝐵 ((𝑒 + 𝑥) = 𝑥 ∧ (𝑥 + 𝑒) = 𝑥))    &    ⨣ = (+𝑓‘𝐺)    ⇒   (𝜑 → ran ⨣ = 𝐵)
 
16-Aug-2026mgmidpfod 18862 The operation of a magma with identity as a function is an onto function. (Contributed by FL, 2-Nov-2009.) (Revised by Mario Carneiro, 22-Dec-2013.) (Revised by AV, 16-Aug-2026.)
𝐵 = (Base‘𝐺)    &    + = (+g‘𝐺)    &   (𝜑 → 𝐺 ∈ Mgm)    &   (𝜑 → ∃𝑒 ∈ 𝐵 ∀𝑥 ∈ 𝐵 ((𝑒 + 𝑥) = 𝑥 ∧ (𝑥 + 𝑒) = 𝑥))    &    ⨣ = (+𝑓‘𝐺)    ⇒   (𝜑 → ⨣ :(𝐵 × 𝐵)–onto→𝐵)
 
16-Aug-2026mgmn0plusgplusf 18833 The group addition function of a magma is the restriction of its group operation to its base set if the base set does not contain the empty set. (Contributed by AV, 16-Aug-2026.)
𝐵 = (Base‘𝐺)    &    + = (+g‘𝐺)    &   (𝜑 → 𝐺 ∈ Mgm)    &   (𝜑 → ∅ ∉ 𝐵)    &    ⨣ = (+𝑓‘𝐺)    ⇒   (𝜑 → ⨣ = ( + ↾ (𝐵 × 𝐵)))
 
16-Aug-2026mgmn0plusgf 18832 The restriction of the group operation of a magma to its base set is a function if the base set does not contain the empty set. Excluding the empty set from the base set is necessary because of the specific definition of an undefined operation value (see also ndmovcl 7606 and ndmovrcl 7607). (Contributed by AV, 16-Aug-2026.)
𝐵 = (Base‘𝐺)    &    + = (+g‘𝐺)    &   (𝜑 → 𝐺 ∈ Mgm)    &   (𝜑 → ∅ ∉ 𝐵)    &   𝑃 = ( + ↾ (𝐵 × 𝐵))    ⇒   (𝜑 → 𝑃:(𝐵 × 𝐵)⟶𝐵)
 
16-Aug-2026relresfld 6278 Restriction of a relation to its field. (Contributed by FL, 15-Apr-2012.) (Proof shortened by Eric Schmidt, 16-Aug-2026.)
(Rel 𝑅 → (𝑅 ↾ ∪ ∪ 𝑅) = 𝑅)
 
15-Aug-2026veronesev1lem 51141 Lemma for veronesevrowd 51147. Value of the first coordinate of the Veronese map at a point. (Contributed by Jiamin Zhao, 15-Aug-2026.)
(𝜑 → 𝑃 ∈ (ℝ ↑m (1...3)))    ⇒   (𝜑 → ((veronese‘𝑃)‘1) = ((𝑃‘1)↑2))
 
15-Aug-2026f1resfz0f1d 13930 If a function with a sequence of nonnegative integers (starting at 0) as its domain is one-to-one when 0 is removed, and if the range of that restriction does not contain the function's value at the removed integer, then the function is itself one-to-one. (Contributed by BTernaryTau, 4-Oct-2023.) (Revised by Mingli Yuan, 15-Aug-2026.)
(𝜑 → 𝐾 ∈ ℕ0)    &   (𝜑 → 𝐹:(0...𝐾)⟶𝑉)    &   (𝜑 → Fun ◡(𝐹 ↾ (1...𝐾)))    &   (𝜑 → ((𝐹 “ {0}) ∩ (𝐹 “ (1...𝐾))) = ∅)    ⇒   (𝜑 → 𝐹:(0...𝐾)–1-1→𝑉)
 
15-Aug-2026f1resrcmplf1dlem 7278 Lemma for f1resrcmplf1d 7279. (Contributed by BTernaryTau, 27-Sep-2023.) (Revised by Mingli Yuan, 15-Aug-2026.)
(𝜑 → 𝐶 ⊆ 𝐴)    &   (𝜑 → 𝐷 ⊆ 𝐴)    &   (𝜑 → 𝐹:𝐴⟶𝐵)    &   (𝜑 → ((𝐹 “ 𝐶) ∩ (𝐹 “ 𝐷)) = ∅)    &   (𝜑 → 𝑋 ∈ 𝐶)    &   (𝜑 → 𝑌 ∈ 𝐷)    &   (𝜑 → (𝐹‘𝑋) = (𝐹‘𝑌))    ⇒   (𝜑 → 𝑋 = 𝑌)
 
14-Aug-2026veronesevald 51139 Value of the Veronese map at a point, expressed as a maps-to function on the six coordinates. (Contributed by Jiamin Zhao, 14-Aug-2026.)
(𝜑 → 𝑃 ∈ (ℝ ↑m (1...3)))    ⇒   (𝜑 → (veronese‘𝑃) = (𝑘 ∈ (1...6) ↦ (((if(𝑘 = 1, ((𝑃‘1)↑2), 0) + if(𝑘 = 2, ((𝑃‘2)↑2), 0)) + if(𝑘 = 3, ((𝑃‘3)↑2), 0)) + ((if(𝑘 = 4, ((𝑃‘1) · (𝑃‘2)), 0) + if(𝑘 = 5, ((𝑃‘2) · (𝑃‘3)), 0)) + if(𝑘 = 6, ((𝑃‘3) · (𝑃‘1)), 0)))))
 
14-Aug-2026df-veronese 51137 Define the quadratic Veronese map on real 3-vectors, with coordinates ordered as ( x^2 , y^2 , z^2 , x y , y z , z x ). (Contributed by Jiamin Zhao, 14-Aug-2026.)
veronese = (𝑞 ∈ (ℝ ↑m (1...3)) ↦ (𝑘 ∈ (1...6) ↦ (((if(𝑘 = 1, ((𝑞‘1)↑2), 0) + if(𝑘 = 2, ((𝑞‘2)↑2), 0)) + if(𝑘 = 3, ((𝑞‘3)↑2), 0)) + ((if(𝑘 = 4, ((𝑞‘1) · (𝑞‘2)), 0) + if(𝑘 = 5, ((𝑞‘2) · (𝑞‘3)), 0)) + if(𝑘 = 6, ((𝑞‘3) · (𝑞‘1)), 0)))))
 
14-Aug-2026cveronese 51136 Extend class notation to include the quadratic Veronese map on real 3-vectors. (Contributed by Jiamin Zhao, 14-Aug-2026.)
class veronese
 
14-Aug-2026findcard4 38725 Schema for strong induction on the cardinality of a finite set. The inductive hypothesis is that the result is true on any set with less elements. The result is then proven to be true for all finite sets. (Contributed by Thomas van Maaren, 14-Aug-2026.)
(𝑥 = 𝑦 → (𝜑 ↔ 𝜒))    &   (𝑥 = 𝐴 → (𝜑 ↔ 𝜏))    &   (𝑦 ∈ Fin → (∀𝑥((♯‘𝑥) < (♯‘𝑦) → 𝜑) → 𝜒))    ⇒   (𝐴 ∈ Fin → 𝜏)
 
13-Aug-20262elfz13 51112 Membership of 2 in the integer interval ( 1 ... 3 ). (Suggested by tirix.) (Contributed by Jiamin Zhao, 1-Aug-2026.) (Proof shortened by Jiamin Zhao, 13-Aug-2026.)
2 ∈ (1...3)
 
13-Aug-20261elfz13 51111 Membership of 1 in the integer interval ( 1 ... 3 ). (Suggested by avekens.) (Contributed by Jiamin Zhao, 1-Aug-2026.) (Proof shortened by Jiamin Zhao, 13-Aug-2026.)
1 ∈ (1...3)
 
12-Aug-2026crossp3d 51135 The vector triple product expansion (BAC-CAB rule): the cross product of 𝑋 with (𝑌⊠𝑍) equals 𝑌 scaled by the dot product of 𝑋 and 𝑍, minus 𝑍 scaled by the dot product of 𝑋 and 𝑌. The dot products are written out as explicit three-term sums of component products, matching the pointwise style of df-crossp 51119 rather than introducing a separate dot product operator. (Contributed by Jiamin Zhao, 12-Aug-2026.)
(𝜑 → 𝑋 ∈ (ℝ ↑m (1...3)))    &   (𝜑 → 𝑌 ∈ (ℝ ↑m (1...3)))    &   (𝜑 → 𝑍 ∈ (ℝ ↑m (1...3)))    ⇒   (𝜑 → (𝑋⊠(𝑌⊠𝑍)) = (𝑘 ∈ (1...3) ↦ ((((((𝑋‘1) · (𝑍‘1)) + ((𝑋‘2) · (𝑍‘2))) + ((𝑋‘3) · (𝑍‘3))) · (𝑌‘𝑘)) − (((((𝑋‘1) · (𝑌‘1)) + ((𝑋‘2) · (𝑌‘2))) + ((𝑋‘3) · (𝑌‘3))) · (𝑍‘𝑘)))))
 
12-Aug-2026crosspaltd 51134 Antisymmetry of the cross product: swapping the two vectors negates the result. (Contributed by Jiamin Zhao, 12-Aug-2026.)
(𝜑 → 𝐴 ∈ (ℝ ↑m (1...3)))    &   (𝜑 → 𝐵 ∈ (ℝ ↑m (1...3)))    ⇒   (𝜑 → (𝐴⊠𝐵) = (𝑘 ∈ (1...3) ↦ -((𝐵⊠𝐴)‘𝑘)))
 
12-Aug-2026crosspdotd 51133 Value of the scalar triple product, expanded into the standard six-term Sarrus polynomial. (Contributed by Jiamin Zhao, 12-Aug-2026.)
(𝜑 → 𝐴 ∈ (ℝ ↑m (1...3)))    &   (𝜑 → 𝐵 ∈ (ℝ ↑m (1...3)))    &   (𝜑 → 𝐶 ∈ (ℝ ↑m (1...3)))    ⇒   (𝜑 → (𝐵(tripp‘𝐴)𝐶) = (((((𝐴‘1) · (𝐵‘2)) · (𝐶‘3)) − (((𝐴‘1) · (𝐵‘3)) · (𝐶‘2))) + (((((𝐴‘2) · (𝐵‘3)) · (𝐶‘1)) − (((𝐴‘2) · (𝐵‘1)) · (𝐶‘3))) + ((((𝐴‘3) · (𝐵‘1)) · (𝐶‘2)) − (((𝐴‘3) · (𝐵‘2)) · (𝐶‘1))))))
 
12-Aug-2026crosspdotsumlem 51132 Lemma for crosspdotd 51133. Expand the group sum over (1...3) into an explicit three-term sum. (Contributed by Jiamin Zhao, 12-Aug-2026.)
(𝜑 → 𝐴 ∈ (ℝ ↑m (1...3)))    &   (𝜑 → 𝐵 ∈ (ℝ ↑m (1...3)))    &   (𝜑 → 𝐶 ∈ (ℝ ↑m (1...3)))    ⇒   (𝜑 → (ℝfld Σg (𝑘 ∈ (1...3) ↦ ((𝐴‘𝑘) · ((𝐵⊠𝐶)‘𝑘)))) = (((𝐴‘1) · ((𝐵⊠𝐶)‘1)) + (((𝐴‘2) · ((𝐵⊠𝐶)‘2)) + ((𝐴‘3) · ((𝐵⊠𝐶)‘3)))))
 
12-Aug-2026crosspdot0lem 51131 Lemma for crosspdotd 51133. Unfold the curried scalar triple product application into an explicit group sum. (Contributed by Jiamin Zhao, 12-Aug-2026.)
(𝜑 → 𝐴 ∈ (ℝ ↑m (1...3)))    &   (𝜑 → 𝐵 ∈ (ℝ ↑m (1...3)))    &   (𝜑 → 𝐶 ∈ (ℝ ↑m (1...3)))    ⇒   (𝜑 → (𝐵(tripp‘𝐴)𝐶) = (ℝfld Σg (𝑘 ∈ (1...3) ↦ ((𝐴‘𝑘) · ((𝐵⊠𝐶)‘𝑘)))))
 
12-Aug-2026crosspv3d 51130 Value of the third component of the cross product. (Contributed by Jiamin Zhao, 12-Aug-2026.)
(𝜑 → 𝐴 ∈ (ℝ ↑m (1...3)))    &   (𝜑 → 𝐵 ∈ (ℝ ↑m (1...3)))    ⇒   (𝜑 → ((𝐴⊠𝐵)‘3) = (((𝐴‘1) · (𝐵‘2)) − ((𝐴‘2) · (𝐵‘1))))
 
12-Aug-2026crosspv2d 51129 Value of the second component of the cross product. (Contributed by Jiamin Zhao, 12-Aug-2026.)
(𝜑 → 𝐴 ∈ (ℝ ↑m (1...3)))    &   (𝜑 → 𝐵 ∈ (ℝ ↑m (1...3)))    ⇒   (𝜑 → ((𝐴⊠𝐵)‘2) = (((𝐴‘3) · (𝐵‘1)) − ((𝐴‘1) · (𝐵‘3))))
 
12-Aug-2026crosspv1d 51128 Value of the first component of the cross product. (Contributed by Jiamin Zhao, 12-Aug-2026.)
(𝜑 → 𝐴 ∈ (ℝ ↑m (1...3)))    &   (𝜑 → 𝐵 ∈ (ℝ ↑m (1...3)))    ⇒   (𝜑 → ((𝐴⊠𝐵)‘1) = (((𝐴‘2) · (𝐵‘3)) − ((𝐴‘3) · (𝐵‘2))))
 
12-Aug-2026crosspcld 51127 Closure of the cross product: the cross product of two 3-dimensional real coordinate vectors is again such a vector. (Contributed by Jiamin Zhao, 12-Aug-2026.)
(𝜑 → 𝐴 ∈ (ℝ ↑m (1...3)))    &   (𝜑 → 𝐵 ∈ (ℝ ↑m (1...3)))    ⇒   (𝜑 → (𝐴⊠𝐵) ∈ (ℝ ↑m (1...3)))
 
12-Aug-2026tgaas 33091 Angle-angle-side: two triangles with two congruent angles and a congruent side not included between them are congruent. The side included between the two angles is congruent by tgaas1 33090, which reduces the theorem to SAS (tgsas 29405). (Contributed by JAG, 12-Aug-2026.)
𝑃 = (Base‘𝐺)    &    − = (dist‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ 𝑃)    &   (𝜑 → 𝐵 ∈ 𝑃)    &   (𝜑 → 𝐶 ∈ 𝑃)    &   (𝜑 → 𝐷 ∈ 𝑃)    &   (𝜑 → 𝐸 ∈ 𝑃)    &   (𝜑 → 𝐹 ∈ 𝑃)    &   (𝜑 → ¬ (𝐶 ∈ (𝐴𝐿𝐵) ∨ 𝐴 = 𝐵))    &   (𝜑 → (𝐴 − 𝐵) = (𝐷 − 𝐸))    &   (𝜑 → ⟨“𝐴𝐵𝐶”⟩(cgrA‘𝐺)⟨“𝐷𝐸𝐹”⟩)    &   (𝜑 → ⟨“𝐵𝐶𝐴”⟩(cgrA‘𝐺)⟨“𝐸𝐹𝐷”⟩)    ⇒   (𝜑 → ⟨“𝐴𝐵𝐶”⟩(cgrG‘𝐺)⟨“𝐷𝐸𝐹”⟩)
 
12-Aug-2026tgaas1 33090 Under the AAS hypotheses, the side included between the two given angles is congruent. This is the whole content of AAS: tgaas 33091 simply packages it with SAS (tgsas 29405). The point copied onto ray 𝐸𝐹 by tgaascgra 33088 is eliminated here. (Contributed by JAG, 12-Aug-2026.)
𝑃 = (Base‘𝐺)    &    − = (dist‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ 𝑃)    &   (𝜑 → 𝐵 ∈ 𝑃)    &   (𝜑 → 𝐶 ∈ 𝑃)    &   (𝜑 → 𝐷 ∈ 𝑃)    &   (𝜑 → 𝐸 ∈ 𝑃)    &   (𝜑 → 𝐹 ∈ 𝑃)    &   (𝜑 → ¬ (𝐶 ∈ (𝐴𝐿𝐵) ∨ 𝐴 = 𝐵))    &   (𝜑 → (𝐴 − 𝐵) = (𝐷 − 𝐸))    &   (𝜑 → ⟨“𝐴𝐵𝐶”⟩(cgrA‘𝐺)⟨“𝐷𝐸𝐹”⟩)    &   (𝜑 → ⟨“𝐵𝐶𝐴”⟩(cgrA‘𝐺)⟨“𝐸𝐹𝐷”⟩)    ⇒   (𝜑 → (𝐵 − 𝐶) = (𝐸 − 𝐹))
 
12-Aug-2026tgaas1h 33089 tgaas1 33090 with the constructed point 𝐻 still explicit: the case split on 𝐹 = 𝐻. Equal, and the side equality is a substitution; distinct, and tgaasne 33087 closes the branch. BOTH branches are proved -- assuming 𝐹 = 𝐻 would be assuming the theorem. (Contributed by JAG , 12-Aug-2026.)
𝑃 = (Base‘𝐺)    &    − = (dist‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐾 = (hlG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ 𝑃)    &   (𝜑 → 𝐵 ∈ 𝑃)    &   (𝜑 → 𝐶 ∈ 𝑃)    &   (𝜑 → 𝐷 ∈ 𝑃)    &   (𝜑 → 𝐸 ∈ 𝑃)    &   (𝜑 → 𝐹 ∈ 𝑃)    &   (𝜑 → 𝐻 ∈ 𝑃)    &   (𝜑 → ¬ (𝐶 ∈ (𝐴𝐿𝐵) ∨ 𝐴 = 𝐵))    &   (𝜑 → (𝐴 − 𝐵) = (𝐷 − 𝐸))    &   (𝜑 → ⟨“𝐴𝐵𝐶”⟩(cgrA‘𝐺)⟨“𝐷𝐸𝐹”⟩)    &   (𝜑 → ⟨“𝐵𝐶𝐴”⟩(cgrA‘𝐺)⟨“𝐸𝐹𝐷”⟩)    &   (𝜑 → 𝐻(𝐾‘𝐸)𝐹)    &   (𝜑 → (𝐸 − 𝐻) = (𝐵 − 𝐶))    ⇒   (𝜑 → (𝐵 − 𝐶) = (𝐸 − 𝐹))
 
12-Aug-2026tgaascgra 33088 The comparison triangle of the AAS route: with 𝐻 placed on ray 𝐸𝐹 at distance 𝐵𝐶 from 𝐸, the triangle 𝐷𝐸𝐻 is congruent to 𝐴𝐵𝐶 (cgrahl2 29329 then tgsas 29405), so its angle at 𝐻 can be read off (cgrcgra 29333) and matched against the given angle at 𝐹. The result is the angle congruence the case split of tgaas1h 33089 consumes. (Contributed by JAG, 12-Aug-2026.)
𝑃 = (Base‘𝐺)    &    − = (dist‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐾 = (hlG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ 𝑃)    &   (𝜑 → 𝐵 ∈ 𝑃)    &   (𝜑 → 𝐶 ∈ 𝑃)    &   (𝜑 → 𝐷 ∈ 𝑃)    &   (𝜑 → 𝐸 ∈ 𝑃)    &   (𝜑 → 𝐹 ∈ 𝑃)    &   (𝜑 → 𝐻 ∈ 𝑃)    &   (𝜑 → ¬ (𝐶 ∈ (𝐴𝐿𝐵) ∨ 𝐴 = 𝐵))    &   (𝜑 → (𝐴 − 𝐵) = (𝐷 − 𝐸))    &   (𝜑 → ⟨“𝐴𝐵𝐶”⟩(cgrA‘𝐺)⟨“𝐷𝐸𝐹”⟩)    &   (𝜑 → ⟨“𝐵𝐶𝐴”⟩(cgrA‘𝐺)⟨“𝐸𝐹𝐷”⟩)    &   (𝜑 → 𝐻(𝐾‘𝐸)𝐹)    &   (𝜑 → (𝐸 − 𝐻) = (𝐵 − 𝐶))    ⇒   (𝜑 → ⟨“𝐷𝐹𝐸”⟩(cgrA‘𝐺)⟨“𝐷𝐻𝐸”⟩)
 
12-Aug-2026tgaasne 33087 Two DISTINCT points 𝐹 and 𝐻 on one half-line from 𝐸, subtending congruent angles at a point 𝐷 off the line, are contradictory. ishlg 29073 unfolds the half-line to "one of them is strictly between 𝐸 and the other" -- both sub-branches are proved, each by tgaasexc 33086 on its own triangle, and they are not permutations of one another: the second needs the non-collinearity transported to line 𝐸𝐻 by cgrancol 29342. (Contributed by JAG, 12-Aug-2026.)
𝑃 = (Base‘𝐺)    &    − = (dist‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐾 = (hlG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐷 ∈ 𝑃)    &   (𝜑 → 𝐸 ∈ 𝑃)    &   (𝜑 → 𝐹 ∈ 𝑃)    &   (𝜑 → 𝐻 ∈ 𝑃)    &   (𝜑 → ¬ (𝐷 ∈ (𝐸𝐿𝐹) ∨ 𝐸 = 𝐹))    &   (𝜑 → 𝐻(𝐾‘𝐸)𝐹)    &   (𝜑 → 𝐹 ≠ 𝐻)    &   (𝜑 → ⟨“𝐷𝐹𝐸”⟩(cgrA‘𝐺)⟨“𝐷𝐻𝐸”⟩)    ⇒   (𝜑 → 𝜓)
 
12-Aug-2026tgaasexc 33086 The contradiction branch of AAS, stated once for both orders of the two candidate points. 𝑆 lies strictly between 𝐸 and 𝑇, and 𝐷 is off the line, so ⟨“𝐷𝑆𝐸”⟩ is an exterior angle of triangle 𝐷𝑇𝑆 and is STRICTLY greater than the remote interior angle at 𝑇-- while the hypothesis says the two are congruent. tgextan 33084 turns that into anything. (Contributed by JAG, 12-Aug-2026.)
𝑃 = (Base‘𝐺)    &    − = (dist‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐷 ∈ 𝑃)    &   (𝜑 → 𝐸 ∈ 𝑃)    &   (𝜑 → 𝑆 ∈ 𝑃)    &   (𝜑 → 𝑇 ∈ 𝑃)    &   (𝜑 → ¬ (𝐷 ∈ (𝐸𝐿𝑇) ∨ 𝐸 = 𝑇))    &   (𝜑 → 𝑆 ∈ (𝐸𝐼𝑇))    &   (𝜑 → 𝑆 ≠ 𝐸)    &   (𝜑 → 𝑆 ≠ 𝑇)    &   (𝜑 → ⟨“𝐷𝑇𝐸”⟩(cgrA‘𝐺)⟨“𝐷𝑆𝐸”⟩)    ⇒   (𝜑 → 𝜓)
 
12-Aug-2026tgaasncol 33085 Slide a non-collinearity along the line it is off: if 𝑋 is off line 𝑌𝑍 and 𝑊 is a point of that line other than 𝑍, then 𝑋 is off line 𝑍𝑊 too. Lines 𝑍𝑌 and 𝑍𝑊 coincide (tglineeltr 29104), which is what the exterior-angle hypothesis of tgaasexc 33086 needs at the moving point. (Contributed by JAG, 12-Aug-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ 𝑃)    &   (𝜑 → 𝑍 ∈ 𝑃)    &   (𝜑 → 𝑊 ∈ 𝑃)    &   (𝜑 → ¬ (𝑋 ∈ (𝑌𝐿𝑍) ∨ 𝑌 = 𝑍))    &   (𝜑 → (𝑊 ∈ (𝑍𝐿𝑌) ∨ 𝑍 = 𝑌))    &   (𝜑 → 𝑊 ≠ 𝑍)    ⇒   (𝜑 → ¬ (𝑋 ∈ (𝑍𝐿𝑊) ∨ 𝑍 = 𝑊))
 
12-Aug-2026tgextan 33084 tgexta 33083's strictness can be used -- a remote interior angle congruent to the exterior angle is contradictory, so anything follows. This is the shape tgaasexc 33086 consumes: that branch holds an angle congruence and must close on it, which the non-strict ≤∠-only form of tgexta 33083 could never let it do. (Contributed by JAG, 12-Aug-2026.)
𝑃 = (Base‘𝐺)    &    − = (dist‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐾 = (hlG‘𝐺)    &    ≤ = (≤∠‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ 𝑃)    &   (𝜑 → 𝐵 ∈ 𝑃)    &   (𝜑 → 𝐶 ∈ 𝑃)    &   (𝜑 → 𝐷 ∈ 𝑃)    &   (𝜑 → 𝐶 ∈ (𝐵𝐼𝐷))    &   (𝜑 → ¬ (𝐴 ∈ (𝐵𝐿𝐶) ∨ 𝐵 = 𝐶))    &   (𝜑 → 𝐶 ≠ 𝐷)    &   (𝜑 → ⟨“𝐴𝐵𝐶”⟩(cgrA‘𝐺)⟨“𝐴𝐶𝐷”⟩)    ⇒   (𝜑 → 𝜓)
 
12-Aug-2026tgexta 33083 The exterior-angle theorem, GeoCoq l11_41 -- BOTH remote interior angles of the triangle are STRICTLY less than the exterior angle at 𝐶. There is no ltA in set.mm , so strictness is carried inline as ≤∠ together with the non-congruence; the pair is what tgaas 33091's contradiction branch needs, since a bare ≤∠ conclusion is satisfied by a congruence and so contradicts nothing (tgextan 33084 records that the pair is usable). The second conjunct is not a permutation of the first: axtgsegcon 28931 builds a second extension point 𝑦 beyond 𝐶 on line 𝐴𝐶, tgextalt2 33082 reruns the construction there, and the two exterior angles are identified as vertical by tgextaoa 33080. (Contributed by JAG, 12-Aug-2026.)
𝑃 = (Base‘𝐺)    &    − = (dist‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐾 = (hlG‘𝐺)    &    ≤ = (≤∠‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ 𝑃)    &   (𝜑 → 𝐵 ∈ 𝑃)    &   (𝜑 → 𝐶 ∈ 𝑃)    &   (𝜑 → 𝐷 ∈ 𝑃)    &   (𝜑 → 𝐶 ∈ (𝐵𝐼𝐷))    &   (𝜑 → ¬ (𝐴 ∈ (𝐵𝐿𝐶) ∨ 𝐵 = 𝐶))    &   (𝜑 → 𝐶 ≠ 𝐷)    ⇒   (𝜑 → ((⟨“𝐵𝐴𝐶”⟩ ≤ ⟨“𝐴𝐶𝐷”⟩ ∧ ¬ ⟨“𝐵𝐴𝐶”⟩(cgrA‘𝐺)⟨“𝐴𝐶𝐷”⟩) ∧ (⟨“𝐴𝐵𝐶”⟩ ≤ ⟨“𝐴𝐶𝐷”⟩ ∧ ¬ ⟨“𝐴𝐵𝐶”⟩(cgrA‘𝐺)⟨“𝐴𝐶𝐷”⟩)))
 
12-Aug-2026tgextalt2 33082 tgexta 33083's SECOND conjunct, strict, at a supplied second extension point 𝐸. This is NOT a permutation of the first conjunct: 𝐸 is a new point, 𝐶 between 𝐴 and 𝐸, and tgextale 33076 / tgextancgra 33079 are applied a second time at the reconfigured triangle (the roles of 𝐴 and 𝐵 exchanged, exterior angle ⟨“𝐵𝐶𝐸”⟩). tgextaoa 33080 then identifies ⟨“𝐵𝐶𝐸”⟩ with ⟨“𝐴𝐶𝐷”⟩ as vertical angles, and the two halves are transported across that congruence -- leacgra 33069 for ≤∠, and cgratr 29335 under mtand 828 for the negation, which leacgra 33069 cannot move. 𝐸 is existentially constructed by tgexta 33083, not here. (Contributed by JAG, 12-Aug-2026.)
𝑃 = (Base‘𝐺)    &    − = (dist‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐾 = (hlG‘𝐺)    &    ≤ = (≤∠‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ 𝑃)    &   (𝜑 → 𝐵 ∈ 𝑃)    &   (𝜑 → 𝐶 ∈ 𝑃)    &   (𝜑 → 𝐷 ∈ 𝑃)    &   (𝜑 → 𝐸 ∈ 𝑃)    &   (𝜑 → 𝐶 ∈ (𝐵𝐼𝐷))    &   (𝜑 → 𝐶 ∈ (𝐴𝐼𝐸))    &   (𝜑 → ¬ (𝐴 ∈ (𝐵𝐿𝐶) ∨ 𝐵 = 𝐶))    &   (𝜑 → 𝐶 ≠ 𝐷)    &   (𝜑 → 𝐶 ≠ 𝐸)    ⇒   (𝜑 → (⟨“𝐴𝐵𝐶”⟩ ≤ ⟨“𝐴𝐶𝐷”⟩ ∧ ¬ ⟨“𝐴𝐵𝐶”⟩(cgrA‘𝐺)⟨“𝐴𝐶𝐷”⟩))
 
12-Aug-2026tgextalt1 33081 tgexta 33083's FIRST conjunct, strict -- the remote interior angle at 𝐴 is strictly less than the exterior angle at 𝐶. tgextale 33076 and tgextancgra 33079 deliver both halves already, but stated about ⟨“𝐶𝐴𝐵”⟩; tgexta 33083 wants ⟨“𝐵𝐴𝐶”⟩, the same angle read backwards. So this is cgraswap 29332 plus two transports: leacgra1 33068 for the ≤∠ half, and cgratr 29335 under mtand 828 for the negation -- if ⟨“𝐵𝐴𝐶”⟩ were congruent to the exterior angle then so would ⟨“𝐶𝐴𝐵”⟩ be, which tgextancgra 33079 forbids. (Contributed by JAG, 12-Aug-2026.)
𝑃 = (Base‘𝐺)    &    − = (dist‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐾 = (hlG‘𝐺)    &    ≤ = (≤∠‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ 𝑃)    &   (𝜑 → 𝐵 ∈ 𝑃)    &   (𝜑 → 𝐶 ∈ 𝑃)    &   (𝜑 → 𝐷 ∈ 𝑃)    &   (𝜑 → 𝐶 ∈ (𝐵𝐼𝐷))    &   (𝜑 → ¬ (𝐴 ∈ (𝐵𝐿𝐶) ∨ 𝐵 = 𝐶))    &   (𝜑 → 𝐶 ≠ 𝐷)    ⇒   (𝜑 → (⟨“𝐵𝐴𝐶”⟩ ≤ ⟨“𝐴𝐶𝐷”⟩ ∧ ¬ ⟨“𝐵𝐴𝐶”⟩(cgrA‘𝐺)⟨“𝐴𝐶𝐷”⟩))
 
12-Aug-2026tgextaoa 33080 The two exterior angles at 𝐶 are VERTICAL, hence congruent. Ray 𝐶𝐷 is opposite ray 𝐶𝐵 and ray 𝐶𝐸 is opposite ray 𝐶𝐴, so ⟨“𝐵𝐶𝐸”⟩ and ⟨“𝐴𝐶𝐷”⟩ have both legs flipped. One sacgr 29344 (Schwabhaeuser 11.13, GeoCoq l11_13 ) does it in a single shot, because sacgr 29344 flips the first slot of each side independently: the premise it wants is ⟨“𝐷𝐶𝐸”⟩(cgrA‘𝐺)⟨“𝐸𝐶𝐷”⟩, a bare angle reversal by cgraswap 29332, needing no non-collinearity at all. oacgr 29345 (11.14) would prove the same thing from two supplements and is not used. (Contributed by JAG, 12-Aug-2026.)
𝑃 = (Base‘𝐺)    &    − = (dist‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐾 = (hlG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ 𝑃)    &   (𝜑 → 𝐵 ∈ 𝑃)    &   (𝜑 → 𝐶 ∈ 𝑃)    &   (𝜑 → 𝐷 ∈ 𝑃)    &   (𝜑 → 𝐸 ∈ 𝑃)    &   (𝜑 → 𝐶 ∈ (𝐵𝐼𝐷))    &   (𝜑 → 𝐶 ∈ (𝐴𝐼𝐸))    &   (𝜑 → 𝐶 ≠ 𝐵)    &   (𝜑 → 𝐶 ≠ 𝐴)    &   (𝜑 → 𝐷 ≠ 𝐶)    &   (𝜑 → 𝐶 ≠ 𝐸)    ⇒   (𝜑 → ⟨“𝐵𝐶𝐸”⟩(cgrA‘𝐺)⟨“𝐴𝐶𝐷”⟩)
 
12-Aug-2026tgextancgra 33079 The exterior angle is NOT congruent to the remote interior angle -- the strictness tgextale 33076 cannot give, and what tgaas 33091's contradiction branch needs. The exterior angle is ⟨“𝐴𝐶𝐷”⟩, at the extension of 𝐵𝐶 beyond 𝐶. The tail of GeoCoq's l11_41_aux , run through acopyeu 29347 rather than conga_cop_or_out_ts : a congruent exterior angle would, by angle-construction uniqueness, put the midpoint-reflected point of tgmircgra 33071 on the ray 𝐶𝐷-- the two rays make congruent angles with the shared base ray 𝐶𝐴 and, by tgextahp 33078 and hpgid 29249, lie on the same open half-plane of line 𝐴𝐶-- which tgextamirnhl 33077 forbids. Both of acopyeu 29347's non-collinearity hypotheses are discharged, not assumed: source side by rotating the triangle's own ncol , target side by tgextancd 33073. (Contributed by JAG, 12-Aug-2026.)
𝑃 = (Base‘𝐺)    &    − = (dist‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐾 = (hlG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ 𝑃)    &   (𝜑 → 𝐵 ∈ 𝑃)    &   (𝜑 → 𝐶 ∈ 𝑃)    &   (𝜑 → 𝐷 ∈ 𝑃)    &   (𝜑 → 𝐶 ∈ (𝐵𝐼𝐷))    &   (𝜑 → ¬ (𝐴 ∈ (𝐵𝐿𝐶) ∨ 𝐵 = 𝐶))    &   (𝜑 → 𝐶 ≠ 𝐷)    ⇒   (𝜑 → ¬ ⟨“𝐶𝐴𝐵”⟩(cgrA‘𝐺)⟨“𝐴𝐶𝐷”⟩)
 
12-Aug-2026tgextahp 33078 The reflected point and 𝐷 lie on the same OPEN half-plane of line 𝐴𝐶-- the fact acopyeu 29347 requires and inA does not give. tgextalem1inag 33075 puts the reflected point inside the exterior angle, which is non-strict: isinag 29362's witness clause is (𝑥 = 𝐶 ∨ 𝑥(𝐾‘𝐶)𝑃), so a point inside an angle may sit on a boundary ray. The 𝑥 = 𝐶 branch collapses to (𝐴 ∈ (𝐶𝐿𝐷) ∨ 𝐶 = 𝐷) and is killed by tgextancd 33073; the main branch is tgextahpl 33074, whose off-line input is tgextamirn 33072. The $d s are the mandatory ones isinag 29362 carries for the witness variable. (Contributed by JAG , 12-Aug-2026.)
𝑃 = (Base‘𝐺)    &    − = (dist‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐾 = (hlG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ 𝑃)    &   (𝜑 → 𝐵 ∈ 𝑃)    &   (𝜑 → 𝐶 ∈ 𝑃)    &   (𝜑 → 𝐷 ∈ 𝑃)    &   (𝜑 → 𝐶 ∈ (𝐵𝐼𝐷))    &   (𝜑 → ¬ (𝐴 ∈ (𝐵𝐿𝐶) ∨ 𝐵 = 𝐶))    &   (𝜑 → 𝐶 ≠ 𝐷)    ⇒   (𝜑 → (((pInvG‘𝐺)‘(𝐴(midG‘𝐺)𝐶))‘𝐵)((hpG‘𝐺)‘(𝐴𝐿𝐶))𝐷)
 
12-Aug-2026tgextamirnhl 33077 The midpoint-reflected point is not on the ray from 𝐶 through 𝐷. If it were, then -- ray 𝐶𝐷 being the extension of 𝐵𝐶-- it would lie on line 𝐶𝐵; mirln2 29154, the converse of the mirln 29153 used in tgextamirn 33072, would put the midpoint of 𝐴 and 𝐶 on that line too; and the midpoint is collinear with 𝐴 and 𝐶, so 𝐴 would land on line 𝐶𝐵, contradicting the triangle's non-collinearity. 𝑀 ≠ 𝐶 comes from ismidb 29288 / mirinv 29143 / mirne 29144, not from midbtwn 29289. (Contributed by JAG, 12-Aug-2026.)
𝑃 = (Base‘𝐺)    &    − = (dist‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐾 = (hlG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ 𝑃)    &   (𝜑 → 𝐵 ∈ 𝑃)    &   (𝜑 → 𝐶 ∈ 𝑃)    &   (𝜑 → 𝐷 ∈ 𝑃)    &   (𝜑 → 𝐶 ∈ (𝐵𝐼𝐷))    &   (𝜑 → ¬ (𝐴 ∈ (𝐵𝐿𝐶) ∨ 𝐵 = 𝐶))    &   (𝜑 → 𝐶 ≠ 𝐷)    ⇒   (𝜑 → ¬ 𝐷(𝐾‘𝐶)(((pInvG‘𝐺)‘(𝐴(midG‘𝐺)𝐶))‘𝐵))
 
12-Aug-2026tgextale 33076 The non-strict exterior-angle bound, a checkpoint only. tgmircgra 33071 gives the reflected copy of the interior angle, tgextalem1inag 33075 puts that copy inside the exterior angle; inaglea 33064 turns "inside" into ≤∠ and leacgra1 33068 transports the bound along the congruence (flipped with cgracom 29334). No new geometry. This bound is deliberately too weak for tgaas 33091, whose contradiction branch already holds an angle congruence and so satisfies ≤∠ for free -- strictness comes later, and only tgexta 33083 is the exterior-angle theorem. (Contributed by JAG, 12-Aug-2026.)
𝑃 = (Base‘𝐺)    &    − = (dist‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐾 = (hlG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ 𝑃)    &   (𝜑 → 𝐵 ∈ 𝑃)    &   (𝜑 → 𝐶 ∈ 𝑃)    &   (𝜑 → 𝐷 ∈ 𝑃)    &   (𝜑 → 𝐶 ∈ (𝐵𝐼𝐷))    &   (𝜑 → ¬ (𝐴 ∈ (𝐵𝐿𝐶) ∨ 𝐵 = 𝐶))    &   (𝜑 → 𝐶 ≠ 𝐷)    ⇒   (𝜑 → ⟨“𝐶𝐴𝐵”⟩(≤∠‘𝐺)⟨“𝐴𝐶𝐷”⟩)
 
12-Aug-2026tgextalem1inag 33075 The point obtained by reflecting 𝐵 through the midpoint of 𝐴 and 𝐶 lies inside the exterior angle ⟨“𝐴𝐶𝐷”⟩. Proved by Pasch on the midpoint and the extension, turned into an in-angle statement with isinagd 29363 and moved from ray 𝐶𝑀 to ray 𝐶𝐴 by inaghl 29369. (Contributed by JAG, 12-Aug-2026.)
𝑃 = (Base‘𝐺)    &    − = (dist‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐾 = (hlG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ 𝑃)    &   (𝜑 → 𝐵 ∈ 𝑃)    &   (𝜑 → 𝐶 ∈ 𝑃)    &   (𝜑 → 𝐷 ∈ 𝑃)    &   (𝜑 → 𝐶 ∈ (𝐵𝐼𝐷))    &   (𝜑 → ¬ (𝐴 ∈ (𝐵𝐿𝐶) ∨ 𝐵 = 𝐶))    &   (𝜑 → 𝐶 ≠ 𝐷)    ⇒   (𝜑 → (((pInvG‘𝐺)‘(𝐴(midG‘𝐺)𝐶))‘𝐵)(inA‘𝐺)⟨“𝐴𝐶𝐷”⟩)
 
12-Aug-2026tgextahpl 33074 The generic open half-plane core. From a point 𝑋 between 𝐴 and 𝐷 that is on the half-line from 𝐶 through 𝑊, with 𝑊 off line 𝐴𝐶, both 𝑋 and 𝐷 and both 𝑋 and 𝑊 land on the same side of line 𝐴𝐶 (two colhp 29253 applications), and hpgcom 29250 / hpgtr 29251 compose them. 𝑋 ≠ 𝐶 is read off .xk by hlne1 29076, so no 𝑥 = 𝐶 case reaches here. The $d s are on proof dummies only -- colhp 29253's class abstraction needs its own bound variables -- so nothing propagates to callers. (Contributed by JAG, 12-Aug-2026.)
𝑃 = (Base‘𝐺)    &    − = (dist‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐾 = (hlG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ 𝑃)    &   (𝜑 → 𝐶 ∈ 𝑃)    &   (𝜑 → 𝐷 ∈ 𝑃)    &   (𝜑 → 𝑊 ∈ 𝑃)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → ¬ (𝐴 ∈ (𝐶𝐿𝐷) ∨ 𝐶 = 𝐷))    &   (𝜑 → ¬ 𝑊 ∈ (𝐴𝐿𝐶))    &   (𝜑 → 𝑋 ∈ (𝐴𝐼𝐷))    &   (𝜑 → 𝑋(𝐾‘𝐶)𝑊)    ⇒   (𝜑 → 𝑊((hpG‘𝐺)‘(𝐴𝐿𝐶))𝐷)
 
12-Aug-2026tgextancd 33073 The target-side non-collinearity of the exterior angle. Line 𝐶𝐷 is line 𝐶𝐵-- 𝐶 lies between 𝐵 and 𝐷, and 𝐶 ≠ 𝐷-- so 𝐴 is off it exactly because the triangle is non-degenerate. This is acopyeu 29347's acopy.2 frame hypothesis in tgextancgra 33079, and it is what excludes isinag 29362's 𝑥 = 𝐶 branch in tgextahp 33078. (Contributed by JAG, 12-Aug-2026.)
𝑃 = (Base‘𝐺)    &    − = (dist‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ 𝑃)    &   (𝜑 → 𝐵 ∈ 𝑃)    &   (𝜑 → 𝐶 ∈ 𝑃)    &   (𝜑 → 𝐷 ∈ 𝑃)    &   (𝜑 → 𝐶 ∈ (𝐵𝐼𝐷))    &   (𝜑 → ¬ (𝐴 ∈ (𝐵𝐿𝐶) ∨ 𝐵 = 𝐶))    &   (𝜑 → 𝐶 ≠ 𝐷)    ⇒   (𝜑 → ¬ (𝐴 ∈ (𝐶𝐿𝐷) ∨ 𝐶 = 𝐷))
 
12-Aug-2026tgextamirn 33072 The midpoint-reflected point is off line 𝐴𝐶. If it were on that line, mirln 29153-- whose centre-on-the-line hypothesis is the midpoint, itself on 𝐴𝐶-- would put its reflection there too, and mirmir 29139 says that reflection is 𝐵, contradicting the triangle's non-collinearity. This is the strengthening inA cannot give: it is what turns "inside the angle" into an open half-plane fact. (Contributed by JAG, 12-Aug-2026.)
𝑃 = (Base‘𝐺)    &    − = (dist‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ 𝑃)    &   (𝜑 → 𝐵 ∈ 𝑃)    &   (𝜑 → 𝐶 ∈ 𝑃)    &   (𝜑 → ¬ (𝐴 ∈ (𝐵𝐿𝐶) ∨ 𝐵 = 𝐶))    ⇒   (𝜑 → ¬ (((pInvG‘𝐺)‘(𝐴(midG‘𝐺)𝐶))‘𝐵) ∈ (𝐴𝐿𝐶))
 
12-Aug-2026tgmircgra 33071 The angle congruence the exterior-angle theorem opens with: the interior angle at 𝐴 in triangle 𝐶𝐴𝐵 is congruent to the angle at 𝐶 in the midpoint-reflected triangle. This is cgrcgra 29333 over tgmircgrg 33070; the vertex distinctnesses come from the non-collinearity via tgbcne 33051 and tgacne 33050. (Contributed by JAG, 12-Aug-2026.)
𝑃 = (Base‘𝐺)    &    − = (dist‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ 𝑃)    &   (𝜑 → 𝐵 ∈ 𝑃)    &   (𝜑 → 𝐶 ∈ 𝑃)    &   (𝜑 → ¬ (𝐴 ∈ (𝐵𝐿𝐶) ∨ 𝐵 = 𝐶))    ⇒   (𝜑 → ⟨“𝐶𝐴𝐵”⟩(cgrA‘𝐺)⟨“𝐴𝐶(((pInvG‘𝐺)‘(𝐴(midG‘𝐺)𝐶))‘𝐵)”⟩)
 
12-Aug-2026tgmircgrg 33070 Reflecting 𝐵 through the midpoint of 𝐴 and 𝐶 carries triangle 𝐶𝐴𝐵 onto 𝐴𝐶𝑃, where 𝑃 is the reflected point. The dimension condition the mid* family carries is discharged from the non-collinearity through ncoltgdim2 29033, not taken as a hypothesis. (Contributed by JAG, 12-Aug-2026.)
𝑃 = (Base‘𝐺)    &    − = (dist‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ 𝑃)    &   (𝜑 → 𝐵 ∈ 𝑃)    &   (𝜑 → 𝐶 ∈ 𝑃)    &   (𝜑 → ¬ (𝐴 ∈ (𝐵𝐿𝐶) ∨ 𝐵 = 𝐶))    ⇒   (𝜑 → ⟨“𝐶𝐴𝐵”⟩(cgrG‘𝐺)⟨“𝐴𝐶(((pInvG‘𝐺)‘(𝐴(midG‘𝐺)𝐶))‘𝐵)”⟩)
 
12-Aug-2026leacgra 33069 GeoCoq l11_30 analogue: ≤∠ is preserved when both compared angles are replaced by congruent angles. (Contributed by JAG, 12-Aug-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐾 = (hlG‘𝐺)    &    ≤ = (≤∠‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ 𝑃)    &   (𝜑 → 𝐵 ∈ 𝑃)    &   (𝜑 → 𝐶 ∈ 𝑃)    &   (𝜑 → 𝐷 ∈ 𝑃)    &   (𝜑 → 𝐸 ∈ 𝑃)    &   (𝜑 → 𝐹 ∈ 𝑃)    &   (𝜑 → 𝐻 ∈ 𝑃)    &   (𝜑 → 𝑈 ∈ 𝑃)    &   (𝜑 → 𝐽 ∈ 𝑃)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ 𝑃)    &   (𝜑 → 𝑍 ∈ 𝑃)    &   (𝜑 → ⟨“𝐴𝐵𝐶”⟩ ≤ ⟨“𝐷𝐸𝐹”⟩)    &   (𝜑 → ⟨“𝐴𝐵𝐶”⟩(cgrA‘𝐺)⟨“𝐻𝑈𝐽”⟩)    &   (𝜑 → ⟨“𝐷𝐸𝐹”⟩(cgrA‘𝐺)⟨“𝑋𝑌𝑍”⟩)    ⇒   (𝜑 → ⟨“𝐻𝑈𝐽”⟩ ≤ ⟨“𝑋𝑌𝑍”⟩)
 
12-Aug-2026leacgra1 33068 Source-side ≤∠ transport: replacing the smaller angle by a congruent angle preserves the angle order. The counterpart of leacgra2 33067, proved directly from the witness form of ≤∠ (isleag 29371, isleagd 29372). (Contributed by JAG, 12-Aug-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐾 = (hlG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ 𝑃)    &   (𝜑 → 𝐵 ∈ 𝑃)    &   (𝜑 → 𝐶 ∈ 𝑃)    &   (𝜑 → 𝐷 ∈ 𝑃)    &   (𝜑 → 𝐸 ∈ 𝑃)    &   (𝜑 → 𝐹 ∈ 𝑃)    &   (𝜑 → 𝐻 ∈ 𝑃)    &   (𝜑 → 𝑈 ∈ 𝑃)    &   (𝜑 → 𝐽 ∈ 𝑃)    &   (𝜑 → ⟨“𝐴𝐵𝐶”⟩(≤∠‘𝐺)⟨“𝐷𝐸𝐹”⟩)    &   (𝜑 → ⟨“𝐴𝐵𝐶”⟩(cgrA‘𝐺)⟨“𝐻𝑈𝐽”⟩)    ⇒   (𝜑 → ⟨“𝐻𝑈𝐽”⟩(≤∠‘𝐺)⟨“𝐷𝐸𝐹”⟩)
 
12-Aug-2026leacgra2 33067 Target-side ≤∠ transport: replacing the larger angle by a congruent angle preserves the angle order. Proved from leawittrg 33066 and isleag 29371, the witness form of ≤∠. (Contributed by JAG, 12-Aug-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐾 = (hlG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ 𝑃)    &   (𝜑 → 𝐵 ∈ 𝑃)    &   (𝜑 → 𝐶 ∈ 𝑃)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ 𝑃)    &   (𝜑 → 𝑍 ∈ 𝑃)    &   (𝜑 → 𝐷 ∈ 𝑃)    &   (𝜑 → 𝐸 ∈ 𝑃)    &   (𝜑 → 𝐹 ∈ 𝑃)    &   (𝜑 → ⟨“𝐴𝐵𝐶”⟩(≤∠‘𝐺)⟨“𝑋𝑌𝑍”⟩)    &   (𝜑 → ⟨“𝑋𝑌𝑍”⟩(cgrA‘𝐺)⟨“𝐷𝐸𝐹”⟩)    ⇒   (𝜑 → ⟨“𝐴𝐵𝐶”⟩(≤∠‘𝐺)⟨“𝐷𝐸𝐹”⟩)
 
12-Aug-2026leawittrg 33066 Target-side ≤∠ witness transport: move a witness inside ⟨“𝐷𝐸𝐹”⟩ across a congruent target angle ⟨“𝑋𝑌𝑍”⟩, carrying the angle ⟨“𝐻𝑈𝐽”⟩ copied at that witness with it. (Contributed by JAG, 12-Aug-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐾 = (hlG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐷 ∈ 𝑃)    &   (𝜑 → 𝐸 ∈ 𝑃)    &   (𝜑 → 𝐹 ∈ 𝑃)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ 𝑃)    &   (𝜑 → 𝑍 ∈ 𝑃)    &   (𝜑 → 𝐻 ∈ 𝑃)    &   (𝜑 → 𝑈 ∈ 𝑃)    &   (𝜑 → 𝐽 ∈ 𝑃)    &   (𝜑 → 𝑊 ∈ 𝑃)    &   (𝜑 → 𝑊(inA‘𝐺)⟨“𝐷𝐸𝐹”⟩)    &   (𝜑 → ⟨“𝐻𝑈𝐽”⟩(cgrA‘𝐺)⟨“𝐷𝐸𝑊”⟩)    &   (𝜑 → ⟨“𝐷𝐸𝐹”⟩(cgrA‘𝐺)⟨“𝑋𝑌𝑍”⟩)    ⇒   (𝜑 → ∃𝑣 ∈ 𝑃 (𝑣(inA‘𝐺)⟨“𝑋𝑌𝑍”⟩ ∧ ⟨“𝐻𝑈𝐽”⟩(cgrA‘𝐺)⟨“𝑋𝑌𝑣”⟩))
 
12-Aug-2026cgrainag 33065 Target-side in-angle transport: if 𝑊 lies inside angle ⟨“𝐷𝐸𝐹”⟩ and that angle is congruent to ⟨“𝑋𝑌𝑍”⟩, then some point inside ⟨“𝑋𝑌𝑍”⟩ makes ⟨“𝑋𝑌𝑣”⟩ congruent to the sub-angle ⟨“𝐷𝐸𝑊”⟩. The geometric core of leawittrg 33066. (Contributed by JAG, 12-Aug-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐾 = (hlG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐷 ∈ 𝑃)    &   (𝜑 → 𝐸 ∈ 𝑃)    &   (𝜑 → 𝐹 ∈ 𝑃)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ 𝑃)    &   (𝜑 → 𝑍 ∈ 𝑃)    &   (𝜑 → 𝑊 ∈ 𝑃)    &   (𝜑 → 𝑊(inA‘𝐺)⟨“𝐷𝐸𝐹”⟩)    &   (𝜑 → ⟨“𝐷𝐸𝐹”⟩(cgrA‘𝐺)⟨“𝑋𝑌𝑍”⟩)    ⇒   (𝜑 → ∃𝑣 ∈ 𝑃 (𝑣(inA‘𝐺)⟨“𝑋𝑌𝑍”⟩ ∧ ⟨“𝐷𝐸𝑊”⟩(cgrA‘𝐺)⟨“𝑋𝑌𝑣”⟩))
 
12-Aug-2026inaglea 33064 If 𝐶 lies inside angle ⟨“𝐴𝐵𝑌”⟩, then angle ⟨“𝐴𝐵𝐶”⟩ is less than or equal to ⟨“𝐴𝐵𝑌”⟩. (Contributed by JAG, 12-Aug-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐾 = (hlG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ 𝑃)    &   (𝜑 → 𝐵 ∈ 𝑃)    &   (𝜑 → 𝐶 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ 𝑃)    &   (𝜑 → 𝐶(inA‘𝐺)⟨“𝐴𝐵𝑌”⟩)    ⇒   (𝜑 → ⟨“𝐴𝐵𝐶”⟩(≤∠‘𝐺)⟨“𝐴𝐵𝑌”⟩)
 
12-Aug-2026inagcgratrgn 33063 In-angle transport, non-collinear case: unfold isinag 29362, eliminate its segment-point existential, and dispatch on the disjunct it carries -- 𝑥 = 𝐸 to inagcgrabtwn 33056, 𝑥(𝐾‘𝐸)𝑊 to inagcgratrgncol 33062. (Contributed by JAG, 12-Aug-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐾 = (hlG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐷 ∈ 𝑃)    &   (𝜑 → 𝐸 ∈ 𝑃)    &   (𝜑 → 𝐹 ∈ 𝑃)    &   (𝜑 → 𝑊 ∈ 𝑃)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ 𝑃)    &   (𝜑 → 𝑍 ∈ 𝑃)    &   (𝜑 → ⟨“𝐷𝐸𝐹”⟩(cgrA‘𝐺)⟨“𝑋𝑌𝑍”⟩)    &   𝐿 = (LineG‘𝐺)    &   (𝜑 → 𝑊(inA‘𝐺)⟨“𝐷𝐸𝐹”⟩)    &   (𝜑 → ¬ (𝑊 ∈ (𝐷𝐿𝐸) ∨ 𝐷 = 𝐸))    ⇒   (𝜑 → ∃𝑣 ∈ 𝑃 (𝑣(inA‘𝐺)⟨“𝑋𝑌𝑍”⟩ ∧ ⟨“𝐷𝐸𝑊”⟩(cgrA‘𝐺)⟨“𝑋𝑌𝑣”⟩))
 
12-Aug-2026inagcgratrgncol 33062 In-angle transport once the segment point 𝐽 of isinag 29362 is on the ray 𝐸𝑊: iscgrag 33057 normalizes the target arms and its two existentials are eliminated here, leaving inagcgratrgxfr 33061 to do the transfer. (Contributed by JAG, 12-Aug-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐾 = (hlG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐷 ∈ 𝑃)    &   (𝜑 → 𝐸 ∈ 𝑃)    &   (𝜑 → 𝐹 ∈ 𝑃)    &   (𝜑 → 𝑊 ∈ 𝑃)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ 𝑃)    &   (𝜑 → 𝑍 ∈ 𝑃)    &   (𝜑 → ⟨“𝐷𝐸𝐹”⟩(cgrA‘𝐺)⟨“𝑋𝑌𝑍”⟩)    &   (𝜑 → 𝐽 ∈ 𝑃)    &   (𝜑 → 𝐷 ≠ 𝐸)    &   (𝜑 → 𝐽 ∈ (𝐷𝐼𝐹))    &   (𝜑 → 𝐽(𝐾‘𝐸)𝑊)    ⇒   (𝜑 → ∃𝑣 ∈ 𝑃 (𝑣(inA‘𝐺)⟨“𝑋𝑌𝑍”⟩ ∧ ⟨“𝐷𝐸𝑊”⟩(cgrA‘𝐺)⟨“𝑋𝑌𝑣”⟩))
 
12-Aug-2026inagcgratrgxfr 33061 In-angle transport with the target arms already normalized to 𝑆 and 𝑇: cgrgptxfr 33058 transfers the segment point 𝐽 to a point of (𝑆𝐼𝑇), and that one existential is eliminated here. (Contributed by JAG, 12-Aug-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐾 = (hlG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐷 ∈ 𝑃)    &   (𝜑 → 𝐸 ∈ 𝑃)    &   (𝜑 → 𝐹 ∈ 𝑃)    &   (𝜑 → 𝑊 ∈ 𝑃)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ 𝑃)    &   (𝜑 → 𝑍 ∈ 𝑃)    &   (𝜑 → 𝐽 ∈ 𝑃)    &   (𝜑 → 𝑆 ∈ 𝑃)    &   (𝜑 → 𝑇 ∈ 𝑃)    &   (𝜑 → 𝐷 ≠ 𝐸)    &   (𝜑 → 𝐽 ∈ (𝐷𝐼𝐹))    &   (𝜑 → 𝐽(𝐾‘𝐸)𝑊)    &   (𝜑 → 𝑆(𝐾‘𝑌)𝑋)    &   (𝜑 → 𝑇(𝐾‘𝑌)𝑍)    &   (𝜑 → ⟨“𝐷𝐸𝐹”⟩(cgrG‘𝐺)⟨“𝑆𝑌𝑇”⟩)    ⇒   (𝜑 → ∃𝑣 ∈ 𝑃 (𝑣(inA‘𝐺)⟨“𝑋𝑌𝑍”⟩ ∧ ⟨“𝐷𝐸𝑊”⟩(cgrA‘𝐺)⟨“𝑋𝑌𝑣”⟩))
 
12-Aug-2026inagcgratrgw 33060 inagcgratrgmain 33059 with the existential introduced at its own witness 𝑄. Split out so that the substitution instance is built once, at the top level, rather than under the existential eliminations that produce 𝑆, 𝑇 and 𝑄. (Contributed by JAG, 12-Aug-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐾 = (hlG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐷 ∈ 𝑃)    &   (𝜑 → 𝐸 ∈ 𝑃)    &   (𝜑 → 𝑊 ∈ 𝑃)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ 𝑃)    &   (𝜑 → 𝑍 ∈ 𝑃)    &   (𝜑 → 𝐽 ∈ 𝑃)    &   (𝜑 → 𝑆 ∈ 𝑃)    &   (𝜑 → 𝑇 ∈ 𝑃)    &   (𝜑 → 𝑄 ∈ 𝑃)    &   (𝜑 → 𝐷 ≠ 𝐸)    &   (𝜑 → 𝐽(𝐾‘𝐸)𝑊)    &   (𝜑 → 𝑆(𝐾‘𝑌)𝑋)    &   (𝜑 → 𝑇(𝐾‘𝑌)𝑍)    &   (𝜑 → 𝑄 ∈ (𝑆𝐼𝑇))    &   (𝜑 → ⟨“𝐷𝐸𝐽”⟩(cgrG‘𝐺)⟨“𝑆𝑌𝑄”⟩)    ⇒   (𝜑 → ∃𝑣 ∈ 𝑃 (𝑣(inA‘𝐺)⟨“𝑋𝑌𝑍”⟩ ∧ ⟨“𝐷𝐸𝑊”⟩(cgrA‘𝐺)⟨“𝑋𝑌𝑣”⟩))
 
12-Aug-2026inagcgratrgmain 33059 In-angle transport, the non-degenerate main case, with its three constructions carried as hypotheses: 𝐽 the segment point from isinag 29362, 𝑆 and 𝑇 the normalized target arms from iscgrag 33057, and 𝑄 the transferred point from cgrgptxfr 33058. Concludes the body of cgrainag 33065's existential at the witness 𝑄. **No acopy 29346 and no half-plane fact**: the witness is the transferred point, not a fresh angle copy, which is what removes the non-collinearity obligations. (Contributed by JAG, 12-Aug-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐾 = (hlG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐷 ∈ 𝑃)    &   (𝜑 → 𝐸 ∈ 𝑃)    &   (𝜑 → 𝑊 ∈ 𝑃)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ 𝑃)    &   (𝜑 → 𝑍 ∈ 𝑃)    &   (𝜑 → 𝐽 ∈ 𝑃)    &   (𝜑 → 𝑆 ∈ 𝑃)    &   (𝜑 → 𝑇 ∈ 𝑃)    &   (𝜑 → 𝑄 ∈ 𝑃)    &   (𝜑 → 𝐷 ≠ 𝐸)    &   (𝜑 → 𝐽(𝐾‘𝐸)𝑊)    &   (𝜑 → 𝑆(𝐾‘𝑌)𝑋)    &   (𝜑 → 𝑇(𝐾‘𝑌)𝑍)    &   (𝜑 → 𝑄 ∈ (𝑆𝐼𝑇))    &   (𝜑 → ⟨“𝐷𝐸𝐽”⟩(cgrG‘𝐺)⟨“𝑆𝑌𝑄”⟩)    &    − = (dist‘𝐺)    ⇒   (𝜑 → (𝑄(inA‘𝐺)⟨“𝑋𝑌𝑍”⟩ ∧ ⟨“𝐷𝐸𝑊”⟩(cgrA‘𝐺)⟨“𝑋𝑌𝑄”⟩))
 
12-Aug-2026cgrgptxfr 33058 Transfer a segment point across a triangle congruence: given ⟨“𝐴𝐵𝐶”⟩cgrG⟨“𝑋𝐸𝑍”⟩ and 𝐽 between 𝐴 and 𝐶, the corresponding point on (𝑋𝐼𝑍) exists, with its betweenness, its two distances and the sub-triangle congruence. GeoCoq reaches this through l4_6 and cong2_conga_cong ; here cgrg3col4 29377 (Schwabhauser 11.28) constructs the point with every pairwise distance and tgbtwnxfr 28998 -- which *is* l4_6 -- supplies the image betweenness. The 𝐴 = 𝐶 case takes cgrg3col4 29377's right disjunct, since tgellng 29021 needs 𝐴 ≠ 𝐶 and cgrA does not supply it. (Contributed by JAG, 12-Aug-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &    − = (dist‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ 𝑃)    &   (𝜑 → 𝐵 ∈ 𝑃)    &   (𝜑 → 𝐶 ∈ 𝑃)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝐸 ∈ 𝑃)    &   (𝜑 → 𝑍 ∈ 𝑃)    &   (𝜑 → 𝐽 ∈ 𝑃)    &   (𝜑 → ⟨“𝐴𝐵𝐶”⟩(cgrG‘𝐺)⟨“𝑋𝐸𝑍”⟩)    &   (𝜑 → 𝐽 ∈ (𝐴𝐼𝐶))    ⇒   (𝜑 → ∃𝑦 ∈ 𝑃 ((𝑦 ∈ (𝑋𝐼𝑍) ∧ ⟨“𝐴𝐵𝐽”⟩(cgrG‘𝐺)⟨“𝑋𝐸𝑦”⟩) ∧ ((𝐴 − 𝐽) = (𝑋 − 𝑦) ∧ (𝐽 − 𝐶) = (𝑦 − 𝑍))))
 
12-Aug-2026iscgrag 33057 Ray normalization: an angle congruence yields two points on the target rays carrying a full triangle congruence, together with the two arm lengths. This is the forward direction of iscgra 29321 (Schwabhauser 11.3) repackaged -- nothing is constructed; the distances are read off the cgrG with cgr3simp1 28988 and cgr3simp2 28989. No non-degeneracy hypothesis is needed or wanted: cgrA carries vertex distinctness intrinsically (cgrane1 29324 through cgrane4 29327), and an extra hypothesis would obstruct the degenerate branches. (Contributed by JAG, 12-Aug-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐾 = (hlG‘𝐺)    &    − = (dist‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ 𝑃)    &   (𝜑 → 𝐵 ∈ 𝑃)    &   (𝜑 → 𝐶 ∈ 𝑃)    &   (𝜑 → 𝐷 ∈ 𝑃)    &   (𝜑 → 𝐸 ∈ 𝑃)    &   (𝜑 → 𝐹 ∈ 𝑃)    &   (𝜑 → ⟨“𝐴𝐵𝐶”⟩(cgrA‘𝐺)⟨“𝐷𝐸𝐹”⟩)    ⇒   (𝜑 → ∃𝑥 ∈ 𝑃 ∃𝑦 ∈ 𝑃 ((⟨“𝐴𝐵𝐶”⟩(cgrG‘𝐺)⟨“𝑥𝐸𝑦”⟩ ∧ 𝑥(𝐾‘𝐸)𝐷 ∧ 𝑦(𝐾‘𝐸)𝐹) ∧ ((𝐸 − 𝑥) = (𝐵 − 𝐴) ∧ (𝐸 − 𝑦) = (𝐵 − 𝐶))))
 
12-Aug-2026inagcgrabtwn 33056 In-angle transport, degenerate branch (iii): the containing angle is **flat** while the sub-angle is not. This is the 𝑥 = 𝐸 disjunct of isinag 29362, which the non-degenerate spine cannot reach. Unlike branches (i) and (ii) the copied angle must be *constructed*: the congruence hypothesis relates 𝑊 to nothing on the target side, and acopy 29346 needs a point off line 𝑋𝑌 to pick a side, which the collinear 𝑍 cannot be. ncoltgdim2 29033 takes the dimension from this branch's own non-collinearity and tglowdim2ln 29125 produces that point. (Contributed by JAG, 12-Aug-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐾 = (hlG‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐷 ∈ 𝑃)    &   (𝜑 → 𝐸 ∈ 𝑃)    &   (𝜑 → 𝐹 ∈ 𝑃)    &   (𝜑 → 𝑊 ∈ 𝑃)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ 𝑃)    &   (𝜑 → 𝑍 ∈ 𝑃)    &   (𝜑 → ⟨“𝐷𝐸𝐹”⟩(cgrA‘𝐺)⟨“𝑋𝑌𝑍”⟩)    &   (𝜑 → 𝐸 ∈ (𝐷𝐼𝐹))    &   (𝜑 → ¬ (𝑊 ∈ (𝐷𝐿𝐸) ∨ 𝐷 = 𝐸))    ⇒   (𝜑 → ∃𝑣 ∈ 𝑃 (𝑣(inA‘𝐺)⟨“𝑋𝑌𝑍”⟩ ∧ ⟨“𝐷𝐸𝑊”⟩(cgrA‘𝐺)⟨“𝑋𝑌𝑣”⟩))
 
12-Aug-2026inagcgrasubbtwn 33055 In-angle transport, degenerate branch (ii): the sub-angle ⟨“𝐷𝐸𝑊”⟩ is **flat**, 𝐸 lying between 𝐷 and 𝑊. The witness is built beyond 𝑌 on the ray opposite 𝑌𝑋 with axtgsegcon 28931, and flatcgra 29337 supplies the copied angle from the two betweennesses. The in-angle conjunct goes through inagbtwn 33053, which carries the flatness up to the containing angle, then cgrabtwn 29339 across the congruence and isinagd 29363 on the target. (Contributed by JAG, 12-Aug-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐾 = (hlG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐷 ∈ 𝑃)    &   (𝜑 → 𝐸 ∈ 𝑃)    &   (𝜑 → 𝐹 ∈ 𝑃)    &   (𝜑 → 𝑊 ∈ 𝑃)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ 𝑃)    &   (𝜑 → 𝑍 ∈ 𝑃)    &   (𝜑 → 𝑊(inA‘𝐺)⟨“𝐷𝐸𝐹”⟩)    &   (𝜑 → ⟨“𝐷𝐸𝐹”⟩(cgrA‘𝐺)⟨“𝑋𝑌𝑍”⟩)    &   (𝜑 → 𝐸 ∈ (𝐷𝐼𝑊))    ⇒   (𝜑 → ∃𝑣 ∈ 𝑃 (𝑣(inA‘𝐺)⟨“𝑋𝑌𝑍”⟩ ∧ ⟨“𝐷𝐸𝑊”⟩(cgrA‘𝐺)⟨“𝑋𝑌𝑣”⟩))
 
12-Aug-2026inagcgrasubhl 33054 In-angle transport, degenerate branch (i): the sub-angle ⟨“𝐷𝐸𝑊”⟩ is **null**, 𝑊 lying on ray 𝐸𝐷. The witness is not constructed -- it is 𝑋, the target's own first arm -- and cgrahlb 33052 supplies the copied angle from the two ray degeneracies. No GeoCoq counterpart: GeoCoq's branch only locates a witness supplied by its universal statement. (Contributed by JAG, 12-Aug-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐾 = (hlG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐷 ∈ 𝑃)    &   (𝜑 → 𝐸 ∈ 𝑃)    &   (𝜑 → 𝐹 ∈ 𝑃)    &   (𝜑 → 𝑊 ∈ 𝑃)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ 𝑃)    &   (𝜑 → 𝑍 ∈ 𝑃)    &   (𝜑 → ⟨“𝐷𝐸𝐹”⟩(cgrA‘𝐺)⟨“𝑋𝑌𝑍”⟩)    &   (𝜑 → 𝐷(𝐾‘𝐸)𝑊)    ⇒   (𝜑 → ∃𝑣 ∈ 𝑃 (𝑣(inA‘𝐺)⟨“𝑋𝑌𝑍”⟩ ∧ ⟨“𝐷𝐸𝑊”⟩(cgrA‘𝐺)⟨“𝑋𝑌𝑣”⟩))
 
12-Aug-2026inagbtwn 33053 A flat sub-angle forces the containing angle flat: if 𝑊 is inside angle ⟨“𝐷𝐸𝐹”⟩ and 𝐸 lies between 𝐷 and 𝑊, then 𝐸 lies between 𝐷 and 𝐹. This is GeoCoq bet_in_angle_bet. Proved by unfolding isinag 29362 and following its segment point. (Contributed by JAG, 12-Aug-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐾 = (hlG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐷 ∈ 𝑃)    &   (𝜑 → 𝐸 ∈ 𝑃)    &   (𝜑 → 𝐹 ∈ 𝑃)    &   (𝜑 → 𝑊 ∈ 𝑃)    &   (𝜑 → 𝑊(inA‘𝐺)⟨“𝐷𝐸𝐹”⟩)    &   (𝜑 → 𝐸 ∈ (𝐷𝐼𝑊))    ⇒   (𝜑 → 𝐸 ∈ (𝐷𝐼𝐹))
 
12-Aug-2026cgrahlb 33052 Two null angles are congruent: if 𝐴 and 𝐶 lie on one half-line from 𝐵, and 𝐷 and 𝐹 on one half-line from 𝐸, then angle ⟨“𝐴𝐵𝐶”⟩ is congruent to ⟨“𝐷𝐸𝐹”⟩. This is GeoCoq l11_21_b ; set.mm has only the converse, cgrahl 29340 (GeoCoq l11_21_a ). Proved by copying both arms onto the target rays with hlcgrex 29087 and closing the third side by segment subtraction (tgcgrsub2 29063), so it needs no non-collinear frame. (Contributed by JAG, 12-Aug-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐾 = (hlG‘𝐺)    &    − = (dist‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ 𝑃)    &   (𝜑 → 𝐵 ∈ 𝑃)    &   (𝜑 → 𝐶 ∈ 𝑃)    &   (𝜑 → 𝐷 ∈ 𝑃)    &   (𝜑 → 𝐸 ∈ 𝑃)    &   (𝜑 → 𝐹 ∈ 𝑃)    &   (𝜑 → 𝐴(𝐾‘𝐵)𝐶)    &   (𝜑 → 𝐷(𝐾‘𝐸)𝐹)    ⇒   (𝜑 → ⟨“𝐴𝐵𝐶”⟩(cgrA‘𝐺)⟨“𝐷𝐸𝐹”⟩)
 
12-Aug-2026tgbcne 33051 Non-collinearity of triangle 𝐴𝐵𝐶 implies distinct vertices 𝐵 and 𝐶. (Contributed by JAG, 12-Aug-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ 𝑃)    &   (𝜑 → 𝐵 ∈ 𝑃)    &   (𝜑 → 𝐶 ∈ 𝑃)    &   (𝜑 → ¬ (𝐶 ∈ (𝐴𝐿𝐵) ∨ 𝐴 = 𝐵))    ⇒   (𝜑 → 𝐵 ≠ 𝐶)
 
12-Aug-2026tgacne 33050 Non-collinearity of triangle 𝐴𝐵𝐶 implies distinct vertices 𝐴 and 𝐶. (Contributed by JAG, 12-Aug-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ 𝑃)    &   (𝜑 → 𝐵 ∈ 𝑃)    &   (𝜑 → 𝐶 ∈ 𝑃)    &   (𝜑 → ¬ (𝐶 ∈ (𝐴𝐿𝐵) ∨ 𝐴 = 𝐵))    ⇒   (𝜑 → 𝐴 ≠ 𝐶)
 
12-Aug-2026ress0g 18959 0g is unaffected by restriction. This is a bit more generic than submnd0 18961. (Contributed by Thierry Arnoux, 23-Oct-2017.) (Proof shortened by AV, 12-Aug-2026.)
𝑆 = (𝑅 ↾s 𝐴)    &   𝐵 = (Base‘𝑅)    &    0 = (0g‘𝑅)    ⇒   ((𝑅 ∈ Mnd ∧ 0 ∈ 𝐴 ∧ 𝐴 ⊆ 𝐵) → 0 = (0g‘𝑆))
 
12-Aug-2026idressid 18867 The restriction of a structure with an identity element to a subset containing the identity element has the same identity element. (Contributed by Jeff Madsen, 8-Jun-2010.) (Revised by Mario Carneiro, 23-Dec-2013.) (Revised by AV, 12-Aug-2026.)
𝐵 = (Base‘𝐺)    &    + = (+g‘𝐺)    &    0 = (0g‘𝐺)    &   (𝜑 → ∃𝑒 ∈ 𝐵 ∀𝑥 ∈ 𝐵 ((𝑒 + 𝑥) = 𝑥 ∧ (𝑥 + 𝑒) = 𝑥))    &   𝑆 = (𝐺 ↾s 𝐴)    &   (𝜑 → 𝐴 ⊆ 𝐵)    &   (𝜑 → 0 ∈ 𝐴)    ⇒   (𝜑 → (0g‘𝑆) = 0 )
 
11-Aug-2026crosspclem 51126 Lemma for crosspcld 51127. Closure of the three-way coordinate case split used in the cross product's mapping rule. (Contributed by Jiamin Zhao, 11-Aug-2026.)
(𝜑 → 𝐴 ∈ (ℝ ↑m (1...3)))    &   (𝜑 → 𝐵 ∈ (ℝ ↑m (1...3)))    ⇒   (𝜑 → if(𝑘 = 1, (((𝐴‘2) · (𝐵‘3)) − ((𝐴‘3) · (𝐵‘2))), if(𝑘 = 2, (((𝐴‘3) · (𝐵‘1)) − ((𝐴‘1) · (𝐵‘3))), (((𝐴‘1) · (𝐵‘2)) − ((𝐴‘2) · (𝐵‘1))))) ∈ ℝ)
 
11-Aug-2026crosspcle3d 51125 Closure of the third component of the cross product's coordinate formula. (Contributed by Jiamin Zhao, 11-Aug-2026.)
(𝜑 → 𝐴 ∈ (ℝ ↑m (1...3)))    &   (𝜑 → 𝐵 ∈ (ℝ ↑m (1...3)))    ⇒   (𝜑 → (((𝐴‘1) · (𝐵‘2)) − ((𝐴‘2) · (𝐵‘1))) ∈ ℝ)
 
11-Aug-2026crosspcle2d 51124 Closure of the second component of the cross product's coordinate formula. (Contributed by Jiamin Zhao, 11-Aug-2026.)
(𝜑 → 𝐴 ∈ (ℝ ↑m (1...3)))    &   (𝜑 → 𝐵 ∈ (ℝ ↑m (1...3)))    ⇒   (𝜑 → (((𝐴‘3) · (𝐵‘1)) − ((𝐴‘1) · (𝐵‘3))) ∈ ℝ)
 
11-Aug-2026crosspcle1d 51123 Closure of the first component of the cross product's coordinate formula. (Contributed by Jiamin Zhao, 11-Aug-2026.)
(𝜑 → 𝐴 ∈ (ℝ ↑m (1...3)))    &   (𝜑 → 𝐵 ∈ (ℝ ↑m (1...3)))    ⇒   (𝜑 → (((𝐴‘2) · (𝐵‘3)) − ((𝐴‘3) · (𝐵‘2))) ∈ ℝ)
 
11-Aug-2026wrdf1d 51108 A one-to-one word maps its domain into its alphabet. (Contributed by Mingli Yuan, 11-Aug-2026.)
(𝜑 → 𝑊 ∈ Word 𝐷)    &   (𝜑 → Fun ◡𝑊)    ⇒   (𝜑 → 𝑊:dom 𝑊–1-1→𝐷)
 
11-Aug-2026idressidex 18866 The restriction of a structure with an identity element to a subset containing the identity element has an identity element. (Contributed by Jeff Madsen, 8-Jun-2010.) (Revised by Mario Carneiro, 23-Dec-2013.) (Revised by AV, 11-Aug-2026.)
𝐵 = (Base‘𝐺)    &    + = (+g‘𝐺)    &    0 = (0g‘𝐺)    &   (𝜑 → ∃𝑒 ∈ 𝐵 ∀𝑥 ∈ 𝐵 ((𝑒 + 𝑥) = 𝑥 ∧ (𝑥 + 𝑒) = 𝑥))    &   𝑆 = (𝐺 ↾s 𝐴)    &   (𝜑 → 𝐴 ⊆ 𝐵)    &   (𝜑 → 0 ∈ 𝐴)    ⇒   (𝜑 → ∃𝑒 ∈ 𝐴 ∀𝑥 ∈ 𝐴 ((𝑒 + 𝑥) = 𝑥 ∧ (𝑥 + 𝑒) = 𝑥))
 
11-Aug-2026idressidex0 18865 The restriction of a structure with an identity element to a subset containing the identity element has an identity element. (Contributed by Jeff Madsen, 8-Jun-2010.) (Revised by Mario Carneiro, 23-Dec-2013.) (Revised by AV, 11-Aug-2026.)
𝐵 = (Base‘𝐺)    &    + = (+g‘𝐺)    &    0 = (0g‘𝐺)    &   (𝜑 → ∃𝑒 ∈ 𝐵 ∀𝑥 ∈ 𝐵 ((𝑒 + 𝑥) = 𝑥 ∧ (𝑥 + 𝑒) = 𝑥))    &   𝑆 = (𝐺 ↾s 𝐴)    &   (𝜑 → 𝐴 ⊆ 𝐵)    &   (𝜑 → 0 ∈ 𝐴)    &   𝐶 = (Base‘𝑆)    ⇒   (𝜑 → ∃𝑒 ∈ 𝐶 ∀𝑥 ∈ 𝐶 ((𝑒 + 𝑥) = 𝑥 ∧ (𝑥 + 𝑒) = 𝑥))
 
11-Aug-20260gisid 18853 In a structure with an identity element, the group identity element is an identity element of the structure. (Contributed by Jeff Madsen, 8-Jun-2010.) (Revised by Mario Carneiro, 23-Dec-2013.) (Revised by AV, 11-Aug-2026.)
𝐵 = (Base‘𝐺)    &    0 = (0g‘𝐺)    &    + = (+g‘𝐺)    &   (𝜑 → ∃𝑒 ∈ 𝐵 ∀𝑥 ∈ 𝐵 ((𝑒 + 𝑥) = 𝑥 ∧ (𝑥 + 𝑒) = 𝑥))    ⇒   (𝜑 → ( 0 ∈ 𝐵 ∧ ∀𝑥 ∈ 𝐵 (( 0 + 𝑥) = 𝑥 ∧ (𝑥 + 0 ) = 𝑥)))
 
10-Aug-2026rr3fv3cld 51117 Third component of a 3-dimensional real coordinate vector is real. (Contributed by Jiamin Zhao, 10-Aug-2026.)
(𝜑 → 𝐴 ∈ (ℝ ↑m (1...3)))    ⇒   (𝜑 → (𝐴‘3) ∈ ℝ)
 
10-Aug-2026rr3fv2cld 51116 Second component of a 3-dimensional real coordinate vector is real. (Contributed by Jiamin Zhao, 10-Aug-2026.)
(𝜑 → 𝐴 ∈ (ℝ ↑m (1...3)))    ⇒   (𝜑 → (𝐴‘2) ∈ ℝ)
 
10-Aug-2026rr3fv1cld 51115 First component of a 3-dimensional real coordinate vector is real. (Contributed by Jiamin Zhao, 10-Aug-2026.)
(𝜑 → 𝐴 ∈ (ℝ ↑m (1...3)))    ⇒   (𝜑 → (𝐴‘1) ∈ ℝ)
 
10-Aug-2026had0 1633 If the first input is false, then the adder sum is equivalent to the exclusive disjunction of the other two inputs, and conversely. (Contributed by Mario Carneiro, 4-Sep-2016.) (Proof shortened by Wolf Lammen, 12-Jul-2020.) Strengthen to a biconditional. (Revised by BJ, 10-Aug-2026.)
(¬ 𝜑 ↔ (hadd(𝜑, 𝜓, 𝜒) ↔ (𝜓 ⊻ 𝜒)))
 
10-Aug-2026had1 1632 If the first input is true, then the adder sum is equivalent to the biconditionality of the other two inputs, and conversely. (Contributed by Mario Carneiro, 4-Sep-2016.) (Proof shortened by Wolf Lammen, 11-Jul-2020.) Strengthen to a biconditional. (Revised by BJ, 10-Aug-2026.)
(𝜑 ↔ (hadd(𝜑, 𝜓, 𝜒) ↔ (𝜓 ↔ 𝜒)))
 
10-Aug-2026birot 389 Rotation of the arguments of the nested implication (. ↔ (. ↔ .)) (a general phenomenon for a commutative associative binary operation, see e.g., inrot 4129) . (Contributed by BJ, 10-Aug-2026.)
((𝜑 ↔ (𝜓 ↔ 𝜒)) ↔ (𝜓 ↔ (𝜒 ↔ 𝜑)))
 
8-Aug-2026dfring2 20522 The predicate "is a unital ring" based on a ring being abelian. Definition of "ring with unit" in [Lang] p. 83. (Contributed by Jeff Hankins, 21-Nov-2006.) (Revised by AV, 8-Aug-2026.)
𝐵 = (Base‘𝑅)    &    · = (.r‘𝑅)    &   𝐺 = (mulGrp‘𝑅)    &    + = (+g‘𝑅)    ⇒   (𝑅 ∈ Ring ↔ (𝑅 ∈ Abel ∧ 𝐺 ∈ Mnd ∧ ∀𝑥 ∈ 𝐵 ∀𝑦 ∈ 𝐵 ∀𝑧 ∈ 𝐵 ((𝑥 · (𝑦 + 𝑧)) = ((𝑥 · 𝑦) + (𝑥 · 𝑧)) ∧ ((𝑥 + 𝑦) · 𝑧) = ((𝑥 · 𝑧) + (𝑦 · 𝑧)))))
 
8-Aug-2026relcnvtrg 6268 Subclass law for converse of a composition. A particular case is ((𝑅 ∘ 𝑅) ⊆ 𝑅 ↔ (◡𝑅 ∘ ◡𝑅) ⊆ ◡𝑅), which says that a relation is transitive iff its converse is transitive. (Contributed by FL, 19-Sep-2011.) Generalize to a statement about three classes rather than one. (Revised by Peter Mazsa, 17-Oct-2023.) Remove antecedent. (Revised by Eric Schmidt, 8-Aug-2026.)
((𝑅 ∘ 𝑆) ⊆ 𝑇 ↔ (◡𝑆 ∘ ◡𝑅) ⊆ ◡𝑇)
 
5-Aug-2026f1owe 7361 Well-ordering of isomorphic relations. (Contributed by NM, 4-Mar-1997.) Strengthen to biconditional. (Revised by Eric Schmidt, 5-Aug-2026.)
𝑅 = {⟨𝑥, 𝑦⟩ ∣ (𝐹‘𝑥)𝑆(𝐹‘𝑦)}    ⇒   (𝐹:𝐴–1-1-onto→𝐵 → (𝑅 We 𝐴 ↔ 𝑆 We 𝐵))
 
4-Aug-2026f1we 7363 Pull back a well ordering by a one-to-one function. (Contributed by Eric Schmidt, 4-Aug-2026.)
𝑅 = {⟨𝑥, 𝑦⟩ ∣ (𝐹‘𝑥)𝑆(𝐹‘𝑦)}    ⇒   (𝐹:𝐴–1-1→𝐵 → (𝑆 We 𝐵 → 𝑅 We 𝐴))
 
3-Aug-2026nadddird 37067 Natural multiplication distributes over natural addition. Deduction form. (Contributed by Scott Fenton, 3-Aug-2026.)
(𝜑 → 𝐴 ∈ On)    &   (𝜑 → 𝐵 ∈ On)    &   (𝜑 → 𝐶 ∈ On)    ⇒   (𝜑 → ((𝐴 +no 𝐵) ·no 𝐶) = ((𝐴 ·no 𝐶) +no (𝐵 ·no 𝐶)))
 
3-Aug-2026nadddid 37066 Natural multiplication distributes over natural addition. Deduction form. (Contributed by Scott Fenton, 3-Aug-2026.)
(𝜑 → 𝐴 ∈ On)    &   (𝜑 → 𝐵 ∈ On)    &   (𝜑 → 𝐶 ∈ On)    ⇒   (𝜑 → (𝐴 ·no (𝐵 +no 𝐶)) = ((𝐴 ·no 𝐵) +no (𝐴 ·no 𝐶)))
 
3-Aug-2026nadddilem4 37064 Lemma for nadddi 37065. Prove the forward implication. (Contributed by Scott Fenton, 3-Aug-2026.)
(𝜑 → 𝐴 ∈ On)    &   (𝜑 → 𝐵 ∈ On)    &   (𝜑 → 𝐶 ∈ On)    &   (𝜑 → ∀𝑑 ∈ 𝐴 (𝑑 ·no (𝐵 +no 𝐶)) = ((𝑑 ·no 𝐵) +no (𝑑 ·no 𝐶)))    &   (𝜑 → ∀𝑒 ∈ 𝐵 (𝐴 ·no (𝑒 +no 𝐶)) = ((𝐴 ·no 𝑒) +no (𝐴 ·no 𝐶)))    &   (𝜑 → ∀𝑓 ∈ 𝐶 (𝐴 ·no (𝐵 +no 𝑓)) = ((𝐴 ·no 𝐵) +no (𝐴 ·no 𝑓)))    &   (𝜑 → ∀𝑑 ∈ 𝐴 ∀𝑒 ∈ 𝐵 (𝑑 ·no (𝑒 +no 𝐶)) = ((𝑑 ·no 𝑒) +no (𝑑 ·no 𝐶)))    &   (𝜑 → ∀𝑑 ∈ 𝐴 ∀𝑓 ∈ 𝐶 (𝑑 ·no (𝐵 +no 𝑓)) = ((𝑑 ·no 𝐵) +no (𝑑 ·no 𝑓)))    ⇒   (𝜑 → (𝐴 ·no (𝐵 +no 𝐶)) ⊆ ((𝐴 ·no 𝐵) +no (𝐴 ·no 𝐶)))
 
3-Aug-2026nadddilem3 37063 Lemma for nadddi 37065. Prove a subcase of the forward implication. (Contributed by Scott Fenton, 3-Aug-2026.)
(𝜑 → 𝐴 ∈ On)    &   (𝜑 → 𝐵 ∈ On)    &   (𝜑 → 𝐶 ∈ On)    &   (𝜑 → 𝑋 ∈ 𝐴)    &   (𝜑 → 𝑌 ∈ (𝐵 +no 𝐶))    &   (𝜑 → 𝑍 ∈ 𝐵)    &   (𝜑 → 𝑌 ⊆ (𝑍 +no 𝐶))    &   (𝜑 → ∀𝑑 ∈ 𝐴 (𝑑 ·no (𝐵 +no 𝐶)) = ((𝑑 ·no 𝐵) +no (𝑑 ·no 𝐶)))    &   (𝜑 → ∀𝑒 ∈ 𝐵 (𝐴 ·no (𝑒 +no 𝐶)) = ((𝐴 ·no 𝑒) +no (𝐴 ·no 𝐶)))    &   (𝜑 → ∀𝑑 ∈ 𝐴 ∀𝑒 ∈ 𝐵 (𝑑 ·no (𝑒 +no 𝐶)) = ((𝑑 ·no 𝑒) +no (𝑑 ·no 𝐶)))    ⇒   (𝜑 → ((𝑋 ·no (𝐵 +no 𝐶)) +no (𝐴 ·no 𝑌)) ∈ (((𝐴 ·no 𝐵) +no (𝐴 ·no 𝐶)) +no (𝑋 ·no 𝑌)))
 
2-Aug-2026abweex 35769 The class of well-orders of a set 𝐴 and its subsets is a set. (Contributed by BTernaryTau, 2-Aug-2026.)
(𝐴 ∈ 𝑉 → {𝑟 ∣ ∃𝑥(𝑥 ⊆ 𝐴 ∧ 𝑟 ⊆ (𝑥 × 𝑥) ∧ 𝑟 We 𝑥)} ∈ V)
 
2-Aug-2026tgaaddcpbl 29357 The angular addition is compatible with angle congruence: by adding congruent angles together, we obtain congruent angles. Theorem 11.22 of [Schwabhauser] p. 99. The angles ⟨“𝑋𝑌𝑆”⟩ and ⟨“𝑆𝑌𝑍”⟩ are added to result in ⟨“𝑋𝑌𝑍”⟩, and ⟨“𝑈𝑉𝑇”⟩ and ⟨“𝑇𝑉𝑊”⟩ are added to result in ⟨“𝑈𝑉𝑊”⟩. (Contributed by Thierry Arnoux, 2-Aug-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &    ∼ = (cgrA‘𝐺)    &   𝑂 = {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ (𝑃 ∖ (𝑌𝐿𝑆)) ∧ 𝑏 ∈ (𝑃 ∖ (𝑌𝐿𝑆))) ∧ ∃𝑠 ∈ (𝑌𝐿𝑆)𝑠 ∈ (𝑎𝐼𝑏))}    &   𝑄 = {⟨𝑐, 𝑑⟩ ∣ ((𝑐 ∈ (𝑃 ∖ (𝑉𝐿𝑇)) ∧ 𝑑 ∈ (𝑃 ∖ (𝑉𝐿𝑇))) ∧ ∃𝑡 ∈ (𝑉𝐿𝑇)𝑡 ∈ (𝑐𝐼𝑑))}    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝑆 ∈ 𝑃)    &   (𝜑 → 𝑇 ∈ 𝑃)    &   (𝜑 → 𝑈 ∈ 𝑃)    &   (𝜑 → 𝑉 ∈ 𝑃)    &   (𝜑 → 𝑊 ∈ 𝑃)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ 𝑃)    &   (𝜑 → 𝑍 ∈ 𝑃)    &   (𝜑 → 𝑌 ≠ 𝑆)    &   (𝜑 → 𝑉 ≠ 𝑇)    &   (𝜑 → 𝑋𝑂𝑍)    &   (𝜑 → 𝑈𝑄𝑊)    &   (𝜑 → ⟨“𝑋𝑌𝑆”⟩ ∼ ⟨“𝑈𝑉𝑇”⟩)    &   (𝜑 → ⟨“𝑆𝑌𝑍”⟩ ∼ ⟨“𝑇𝑉𝑊”⟩)    ⇒   (𝜑 → ⟨“𝑋𝑌𝑍”⟩ ∼ ⟨“𝑈𝑉𝑊”⟩)
 
2-Aug-2026tgaaddcpbllem3 29356 Lemma for tgaaddcpbl 29357. (Contributed by Thierry Arnoux, 2-Aug-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &    ∼ = (cgrA‘𝐺)    &   𝑂 = {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ (𝑃 ∖ (𝑌𝐿𝑆)) ∧ 𝑏 ∈ (𝑃 ∖ (𝑌𝐿𝑆))) ∧ ∃𝑠 ∈ (𝑌𝐿𝑆)𝑠 ∈ (𝑎𝐼𝑏))}    &   𝑄 = {⟨𝑐, 𝑑⟩ ∣ ((𝑐 ∈ (𝑃 ∖ (𝑉𝐿𝑇)) ∧ 𝑑 ∈ (𝑃 ∖ (𝑉𝐿𝑇))) ∧ ∃𝑡 ∈ (𝑉𝐿𝑇)𝑡 ∈ (𝑐𝐼𝑑))}    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝑆 ∈ 𝑃)    &   (𝜑 → 𝑇 ∈ 𝑃)    &   (𝜑 → 𝑈 ∈ 𝑃)    &   (𝜑 → 𝑉 ∈ 𝑃)    &   (𝜑 → 𝑊 ∈ 𝑃)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ 𝑃)    &   (𝜑 → 𝑍 ∈ 𝑃)    &   (𝜑 → 𝑌 ≠ 𝑆)    &   (𝜑 → 𝑉 ≠ 𝑇)    &   (𝜑 → 𝑋𝑂𝑍)    &   (𝜑 → 𝑈𝑄𝑊)    &   (𝜑 → ⟨“𝑋𝑌𝑆”⟩ ∼ ⟨“𝑈𝑉𝑇”⟩)    &   (𝜑 → ⟨“𝑆𝑌𝑍”⟩ ∼ ⟨“𝑇𝑉𝑊”⟩)    &   (𝜑 → ¬ 𝑌 ∈ (𝑋𝐼𝑍))    ⇒   (𝜑 → ⟨“𝑋𝑌𝑍”⟩ ∼ ⟨“𝑈𝑉𝑊”⟩)
 
2-Aug-2026tgaaddcpbllem2 29355 Lemma for tgaaddcpbl 29357. (Contributed by Thierry Arnoux, 2-Aug-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &    ∼ = (cgrA‘𝐺)    &   𝑂 = {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ (𝑃 ∖ (𝑌𝐿𝑆)) ∧ 𝑏 ∈ (𝑃 ∖ (𝑌𝐿𝑆))) ∧ ∃𝑠 ∈ (𝑌𝐿𝑆)𝑠 ∈ (𝑎𝐼𝑏))}    &   𝑄 = {⟨𝑐, 𝑑⟩ ∣ ((𝑐 ∈ (𝑃 ∖ (𝑉𝐿𝑇)) ∧ 𝑑 ∈ (𝑃 ∖ (𝑉𝐿𝑇))) ∧ ∃𝑡 ∈ (𝑉𝐿𝑇)𝑡 ∈ (𝑐𝐼𝑑))}    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝑆 ∈ 𝑃)    &   (𝜑 → 𝑇 ∈ 𝑃)    &   (𝜑 → 𝑈 ∈ 𝑃)    &   (𝜑 → 𝑉 ∈ 𝑃)    &   (𝜑 → 𝑊 ∈ 𝑃)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ 𝑃)    &   (𝜑 → 𝑍 ∈ 𝑃)    &   (𝜑 → 𝑌 ≠ 𝑆)    &   (𝜑 → 𝑉 ≠ 𝑇)    &   (𝜑 → 𝑋𝑂𝑍)    &   (𝜑 → 𝑈𝑄𝑊)    &   (𝜑 → ⟨“𝑋𝑌𝑆”⟩ ∼ ⟨“𝑈𝑉𝑇”⟩)    &   (𝜑 → ⟨“𝑆𝑌𝑍”⟩ ∼ ⟨“𝑇𝑉𝑊”⟩)    &   (𝜑 → ¬ 𝑌 ∈ (𝑋𝐼𝑍))    &   (𝜑 → 𝑅 ∈ (𝑌𝐿𝑆))    &   (𝜑 → 𝑅 ∈ (𝑋𝐼𝑍))    &   (𝜑 → 𝑌 ∈ (𝑆𝐼𝑅))    &   𝑀 = ((pInvG‘𝐺)‘𝑉)    &   𝐾 = (hlG‘𝐺)    ⇒   (𝜑 → ⟨“𝑋𝑌𝑍”⟩ ∼ ⟨“𝑈𝑉𝑊”⟩)
 
2-Aug-2026tgaaddcpbllem1 29354 Lemma for tgaaddcpbl 29357. (Contributed by Thierry Arnoux, 2-Aug-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &    ∼ = (cgrA‘𝐺)    &   𝑂 = {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ (𝑃 ∖ (𝑌𝐿𝑆)) ∧ 𝑏 ∈ (𝑃 ∖ (𝑌𝐿𝑆))) ∧ ∃𝑠 ∈ (𝑌𝐿𝑆)𝑠 ∈ (𝑎𝐼𝑏))}    &   𝑄 = {⟨𝑐, 𝑑⟩ ∣ ((𝑐 ∈ (𝑃 ∖ (𝑉𝐿𝑇)) ∧ 𝑑 ∈ (𝑃 ∖ (𝑉𝐿𝑇))) ∧ ∃𝑡 ∈ (𝑉𝐿𝑇)𝑡 ∈ (𝑐𝐼𝑑))}    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝑆 ∈ 𝑃)    &   (𝜑 → 𝑇 ∈ 𝑃)    &   (𝜑 → 𝑈 ∈ 𝑃)    &   (𝜑 → 𝑉 ∈ 𝑃)    &   (𝜑 → 𝑊 ∈ 𝑃)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ 𝑃)    &   (𝜑 → 𝑍 ∈ 𝑃)    &   (𝜑 → 𝑌 ≠ 𝑆)    &   (𝜑 → 𝑉 ≠ 𝑇)    &   (𝜑 → 𝑋𝑂𝑍)    &   (𝜑 → 𝑈𝑄𝑊)    &   (𝜑 → ⟨“𝑋𝑌𝑆”⟩ ∼ ⟨“𝑈𝑉𝑇”⟩)    &   (𝜑 → ⟨“𝑆𝑌𝑍”⟩ ∼ ⟨“𝑇𝑉𝑊”⟩)    &   (𝜑 → ¬ 𝑌 ∈ (𝑋𝐼𝑍))    &   𝐾 = (hlG‘𝐺)    &   (𝜑 → 𝑅 ∈ (𝑌𝐿𝑆))    &   (𝜑 → 𝑅 ∈ (𝑋𝐼𝑍))    &   (𝜑 → 𝑅(𝐾‘𝑌)𝑆)    ⇒   (𝜑 → ⟨“𝑋𝑌𝑍”⟩ ∼ ⟨“𝑈𝑉𝑊”⟩)
 
1-Aug-20263elfz13 51113 Membership of 3 in the integer interval ( 1 ... 3 ). (Contributed by Jiamin Zhao, 1-Aug-2026.)
3 ∈ (1...3)
 
1-Aug-20262ne3 51110 2 is not equal to 3. (Contributed by Jiamin Zhao, 1-Aug-2026.)
2 ≠ 3
 
1-Aug-20261ne3 51109 1 is not equal to 3. (Contributed by Jiamin Zhao, 1-Aug-2026.)
1 ≠ 3
 
31-Jul-2026crosspval 51122 Value of the cross product of two 3-dimensional real coordinate vectors as a function on (1...3). (Contributed by Jiamin Zhao, 31-Jul-2026.)
((𝐴 ∈ (ℝ ↑m (1...3)) ∧ 𝐵 ∈ (ℝ ↑m (1...3))) → (𝐴⊠𝐵) = (𝑘 ∈ (1...3) ↦ if(𝑘 = 1, (((𝐴‘2) · (𝐵‘3)) − ((𝐴‘3) · (𝐵‘2))), if(𝑘 = 2, (((𝐴‘3) · (𝐵‘1)) − ((𝐴‘1) · (𝐵‘3))), (((𝐴‘1) · (𝐵‘2)) − ((𝐴‘2) · (𝐵‘1)))))))
 
31-Jul-2026df-tripp 51121 Define the scalar triple product of three 3-dimensional real coordinate vectors as the dot product of the first vector 𝑥 with the cross product of the other two (𝑦 and 𝑧). Apply as (𝑦(tripp‘𝑥)𝑧). Vectors are represented as functions on (1...3). (Contributed by Jiamin Zhao, 31-Jul-2026.)
tripp = (𝑥 ∈ (ℝ ↑m (1...3)) ↦ (𝑦 ∈ (ℝ ↑m (1...3)), 𝑧 ∈ (ℝ ↑m (1...3)) ↦ (ℝfld Σg (𝑘 ∈ (1...3) ↦ ((𝑥‘𝑘) · ((𝑦⊠𝑧)‘𝑘))))))
 
31-Jul-2026ctripp 51120 Extend class notation to include the scalar triple product of 3-dimensional real coordinate vectors. (Contributed by Jiamin Zhao, 31-Jul-2026.)
class tripp
 
31-Jul-2026df-crossp 51119 Define the cross product of two 3-dimensional real coordinate vectors. Vectors are represented as functions on (1...3). (Contributed by Jiamin Zhao, 31-Jul-2026.)
⊠ = (𝑢 ∈ (ℝ ↑m (1...3)), 𝑣 ∈ (ℝ ↑m (1...3)) ↦ (𝑘 ∈ (1...3) ↦ if(𝑘 = 1, (((𝑢‘2) · (𝑣‘3)) − ((𝑢‘3) · (𝑣‘2))), if(𝑘 = 2, (((𝑢‘3) · (𝑣‘1)) − ((𝑢‘1) · (𝑣‘3))), (((𝑢‘1) · (𝑣‘2)) − ((𝑢‘2) · (𝑣‘1)))))))
 
31-Jul-2026ccrossp 51118 Extend class notation to include the cross product operation. (Contributed by Jiamin Zhao, 31-Jul-2026.)
class ⊠
 
31-Jul-2026rr3fvcl 51114 The components of a 3-dimensional real coordinate vector are real numbers. (Contributed by Jiamin Zhao, 31-Jul-2026.)
(𝐴 ∈ (ℝ ↑m (1...3)) → ((𝐴‘1) ∈ ℝ ∧ (𝐴‘2) ∈ ℝ ∧ (𝐴‘3) ∈ ℝ))
 
31-Jul-2026numtowerdt 48009 Certain number sets and fields form a tower. In particular, singleton 1, natural numbers, natural numbers with zero, integers, rationals, algebraic reals (notice that current definition allows algebraic numbers to be complex thus the restriction), reals and complex number sets are a tower of proper subsets. (Contributed by Ender Ting, 31-Jul-2026.)
⟨“{1}ℕℕ0ℤℚ(𝔸 ∩ ℝ)ℝℂ”⟩ ∈ ( [⊊] Chain V)
 
31-Jul-2026nadddilem2 37062 Lemma for nadddi 37065. Prove the reverse implication. (Contributed by Scott Fenton, 31-Jul-2026.)
(𝜑 → 𝐴 ∈ On)    &   (𝜑 → 𝐵 ∈ On)    &   (𝜑 → 𝐶 ∈ On)    &   (𝜑 → ∀𝑑 ∈ 𝐴 (𝑑 ·no (𝐵 +no 𝐶)) = ((𝑑 ·no 𝐵) +no (𝑑 ·no 𝐶)))    &   (𝜑 → ∀𝑒 ∈ 𝐵 (𝐴 ·no (𝑒 +no 𝐶)) = ((𝐴 ·no 𝑒) +no (𝐴 ·no 𝐶)))    &   (𝜑 → ∀𝑓 ∈ 𝐶 (𝐴 ·no (𝐵 +no 𝑓)) = ((𝐴 ·no 𝐵) +no (𝐴 ·no 𝑓)))    &   (𝜑 → ∀𝑑 ∈ 𝐴 ∀𝑒 ∈ 𝐵 (𝑑 ·no (𝑒 +no 𝐶)) = ((𝑑 ·no 𝑒) +no (𝑑 ·no 𝐶)))    &   (𝜑 → ∀𝑑 ∈ 𝐴 ∀𝑓 ∈ 𝐶 (𝑑 ·no (𝐵 +no 𝑓)) = ((𝑑 ·no 𝐵) +no (𝑑 ·no 𝑓)))    ⇒   (𝜑 → ((𝐴 ·no 𝐵) +no (𝐴 ·no 𝐶)) ⊆ (𝐴 ·no (𝐵 +no 𝐶)))
 
31-Jul-2026nadddilem1 37061 Lemma for nadddi 37065. Prove a subcase of the reverse implication. (Contributed by Scott Fenton, 31-Jul-2026.)
(𝜑 → 𝐴 ∈ On)    &   (𝜑 → 𝐵 ∈ On)    &   (𝜑 → 𝐶 ∈ On)    &   (𝜑 → ∀𝑑 ∈ 𝐴 (𝑑 ·no (𝐵 +no 𝐶)) = ((𝑑 ·no 𝐵) +no (𝑑 ·no 𝐶)))    &   (𝜑 → ∀𝑓 ∈ 𝐶 (𝐴 ·no (𝐵 +no 𝑓)) = ((𝐴 ·no 𝐵) +no (𝐴 ·no 𝑓)))    &   (𝜑 → ∀𝑑 ∈ 𝐴 ∀𝑓 ∈ 𝐶 (𝑑 ·no (𝐵 +no 𝑓)) = ((𝑑 ·no 𝐵) +no (𝑑 ·no 𝑓)))    ⇒   ((𝜑 ∧ 𝑌 ∈ (𝐴 ·no 𝐶)) → ((𝐴 ·no 𝐵) +no 𝑌) ∈ (𝐴 ·no (𝐵 +no 𝐶)))
 
31-Jul-2026onelssd 37042 An element of an ordinal number is a subset of the number. Deduction form. (Contributed by Scott Fenton, 31-Jul-2026.)
(𝜑 → 𝐴 ∈ On)    &   (𝜑 → 𝐵 ∈ 𝐴)    ⇒   (𝜑 → 𝐵 ⊆ 𝐴)
 
31-Jul-2026ontr2d 37041 Transitive law for ordinal numbers. Exercise 3 of [TakeutiZaring] p. 40. Deduction form. (Contributed by Scott Fenton, 31-Jul-2026.)
(𝜑 → 𝐴 ∈ On)    &   (𝜑 → 𝐶 ∈ On)    &   (𝜑 → 𝐴 ⊆ 𝐵)    &   (𝜑 → 𝐵 ∈ 𝐶)    ⇒   (𝜑 → 𝐴 ∈ 𝐶)
 
31-Jul-2026onelond 37040 An element of an ordinal number is an ordinal number. Theorem 2.2(iii) of [BellMachover] p. 469. Lemma 1.3 of [Schloeder] p. 1. Deduction form. (Contributed by Scott Fenton, 31-Jul-2026.)
(𝜑 → 𝐴 ∈ On)    &   (𝜑 → 𝐵 ∈ 𝐴)    ⇒   (𝜑 → 𝐵 ∈ On)
 
31-Jul-2026acwer1prc 35816 The class of all well-orderings of the stages of the cumulative hierarchy is a proper class. (Contributed by BTernaryTau, 31-Jul-2026.)
𝑊 = {𝑟 ∣ ∃𝑥 ∈ On (𝑟 ⊆ ((𝑅1‘𝑥) × (𝑅1‘𝑥)) ∧ 𝑟 We (𝑅1‘𝑥))}    ⇒   (CHOICE → ¬ 𝑊 ∈ V)
 
31-Jul-2026acwer1prclem 35815 Lemma for acwer1prc 35816. (Contributed by BTernaryTau, 31-Jul-2026.)
𝑊 = {𝑟 ∣ ∃𝑥 ∈ On (𝑟 ⊆ ((𝑅1‘𝑥) × (𝑅1‘𝑥)) ∧ 𝑟 We (𝑅1‘𝑥))}    ⇒   ((CHOICE ∧ ω ≼ 𝐴 ∧ (card‘(𝑅1‘𝐵)) = 𝐴) → ∃𝑠((card‘𝑠) ∈ (card “ 𝑊) ∧ (card‘𝑠) = 𝐴))
 
31-Jul-2026weexenwe 35812 If a well-ordering of an infinite set exists, then a well-ordering equinumerous to the set exists. (Contributed by BTernaryTau, 31-Jul-2026.)
((∃𝑟 𝑟 We 𝐴 ∧ ω ≼ 𝐴) → ∃𝑠(𝑠 ⊆ (𝐴 × 𝐴) ∧ 𝑠 We 𝐴 ∧ 𝑠 ≈ 𝐴))
 
30-Jul-2026nadd32d 37052 Commutative/associative law that swaps the last two terms in a triple sum. Deduction form. (Contributed by Scott Fenton, 30-Jul-2026.)
(𝜑 → 𝐴 ∈ On)    &   (𝜑 → 𝐵 ∈ On)    &   (𝜑 → 𝐶 ∈ On)    ⇒   (𝜑 → ((𝐴 +no 𝐵) +no 𝐶) = ((𝐴 +no 𝐶) +no 𝐵))
 
30-Jul-2026naddassd 37051 Natural addition associates. Deduction form. (Contributed by Scott Fenton, 30-Jul-2026.)
(𝜑 → 𝐴 ∈ On)    &   (𝜑 → 𝐵 ∈ On)    &   (𝜑 → 𝐶 ∈ On)    ⇒   (𝜑 → ((𝐴 +no 𝐵) +no 𝐶) = (𝐴 +no (𝐵 +no 𝐶)))
 
30-Jul-2026naddcomd 37050 Natural addition commutes. Deduction form. (Contributed by Scott Fenton, 30-Jul-2026.)
(𝜑 → 𝐴 ∈ On)    &   (𝜑 → 𝐵 ∈ On)    ⇒   (𝜑 → (𝐴 +no 𝐵) = (𝐵 +no 𝐴))
 
30-Jul-2026naddlidd 37049 Identity law for natural addition. Deduction form. (Contributed by Scott Fenton, 30-Jul-2026.)
(𝜑 → 𝐴 ∈ On)    ⇒   (𝜑 → (∅ +no 𝐴) = 𝐴)
 
30-Jul-2026naddridd 37048 Identity law for natural addition. Deduction form. (Contributed by Scott Fenton, 30-Jul-2026.)
(𝜑 → 𝐴 ∈ On)    ⇒   (𝜑 → (𝐴 +no ∅) = 𝐴)
 
30-Jul-2026nmulcomd 37047 Natural multiplication commutes. Deduction form. (Contributed by Scott Fenton, 30-Jul-2026.)
(𝜑 → 𝐴 ∈ On)    &   (𝜑 → 𝐵 ∈ On)    ⇒   (𝜑 → (𝐴 ·no 𝐵) = (𝐵 ·no 𝐴))
 
30-Jul-2026nmullidd 37046 Identity law for natural multiplication. Deduction form. (Contributed by Scott Fenton, 30-Jul-2026.)
(𝜑 → 𝐴 ∈ On)    ⇒   (𝜑 → (1o ·no 𝐴) = 𝐴)
 
30-Jul-2026nmulridd 37045 Identity law for natural multiplication. Deduction form. (Contributed by Scott Fenton, 30-Jul-2026.)
(𝜑 → 𝐴 ∈ On)    ⇒   (𝜑 → (𝐴 ·no 1o) = 𝐴)
 
30-Jul-2026nmull0d 37044 Natural multiplication by zero. Deduction form. (Contributed by Scott Fenton, 30-Jul-2026.)
(𝜑 → 𝐴 ∈ On)    ⇒   (𝜑 → (∅ ·no 𝐴) = ∅)
 
30-Jul-2026nmulr0d 37043 Natural multiplication by zero. Deduction form. (Contributed by Scott Fenton, 30-Jul-2026.)
(𝜑 → 𝐴 ∈ On)    ⇒   (𝜑 → (𝐴 ·no ∅) = ∅)
 
28-Jul-2026tmachfullfin 48054 Folk theorem. For any algorithm deterministically processing a stream of data (essentially, an infinite tape with cell indices 𝐼 and finite alphabet 𝑈), if it terminates on every possible input, then it never looks beyond a finite portion ∪ ran 𝑆 of the input.

Termination is expressed here with a weaker condition: that an execution may only look at a finite number of cells. Obviously, a program which finishes in a finite number of steps can only scan finite set of cells.

This theorem has many corollaries, such as: any encoding scheme able to represent all integers has at least one non-decodable tape (in other terms, encoding of the infinity).

I no longer have the source for this theorem but I believe I first read about it on LessWrong. My gratitude to Grok for suggesting that this theorem will require Axiom of Choice, and to DeepSeek for suggesting the topology-based proof route. (Contributed by Ender Ting, 28-Jul-2026.)

(𝜑 → 𝑈 ∈ Fin)    &   (𝜑 → 𝐼 ∈ V)    &   (𝜑 → 𝑇 = (𝑈 ↑m 𝐼))    &   (𝜑 → 𝑆:𝑇⟶(𝒫 𝐼 ∩ Fin))    &   (𝜑 → 𝐴 = (𝑧 ∈ 𝑇 ↦ {𝑦 ∈ 𝑇 ∣ (𝑦 ↾ (𝑆‘𝑧)) = (𝑧 ↾ (𝑆‘𝑧))}))    &   (𝜑 → ∀𝑧 ∈ 𝑇 ∀𝑦 ∈ (𝐴‘𝑧)(𝑆‘𝑦) = (𝑆‘𝑧))    ⇒   (𝜑 → ∪ ran 𝑆 ∈ Fin)
 
28-Jul-2026tmachlem-fssscan 48053 Any scan set is finite. (Contributed by Ender Ting, 28-Jul-2026.)
(𝜑 → 𝑈 ∈ Fin)    &   (𝜑 → 𝐼 ∈ V)    &   (𝜑 → 𝑇 = (𝑈 ↑m 𝐼))    &   (𝜑 → 𝑆:𝑇⟶(𝒫 𝐼 ∩ Fin))    &   (𝜑 → 𝐴 = (𝑧 ∈ 𝑇 ↦ {𝑦 ∈ 𝑇 ∣ (𝑦 ↾ (𝑆‘𝑧)) = (𝑧 ↾ (𝑆‘𝑧))}))    &   (𝜑 → ∀𝑧 ∈ 𝑇 ∀𝑦 ∈ (𝐴‘𝑧)(𝑆‘𝑦) = (𝑆‘𝑧))    ⇒   (𝜑 → ran 𝑆 ⊆ Fin)
 
28-Jul-2026tmachlem-franscan 48052 There is a finite number of different scan sets. (Contributed by Ender Ting, 28-Jul-2026.)
(𝜑 → 𝑈 ∈ Fin)    &   (𝜑 → 𝐼 ∈ V)    &   (𝜑 → 𝑇 = (𝑈 ↑m 𝐼))    &   (𝜑 → 𝑆:𝑇⟶(𝒫 𝐼 ∩ Fin))    &   (𝜑 → 𝐴 = (𝑧 ∈ 𝑇 ↦ {𝑦 ∈ 𝑇 ∣ (𝑦 ↾ (𝑆‘𝑧)) = (𝑧 ↾ (𝑆‘𝑧))}))    &   (𝜑 → ∀𝑧 ∈ 𝑇 ∀𝑦 ∈ (𝐴‘𝑧)(𝑆‘𝑦) = (𝑆‘𝑧))    ⇒   (𝜑 → ran 𝑆 ∈ Fin)
 
28-Jul-2026tmachlem-agreefin 48051 Any agreement set has a finite (singleton) list of possible scans. (Contributed by Ender Ting, 28-Jul-2026.)
(𝜑 → 𝑈 ∈ Fin)    &   (𝜑 → 𝐼 ∈ V)    &   (𝜑 → 𝑇 = (𝑈 ↑m 𝐼))    &   (𝜑 → 𝑆:𝑇⟶(𝒫 𝐼 ∩ Fin))    &   (𝜑 → 𝐴 = (𝑧 ∈ 𝑇 ↦ {𝑦 ∈ 𝑇 ∣ (𝑦 ↾ (𝑆‘𝑧)) = (𝑧 ↾ (𝑆‘𝑧))}))    &   (𝜑 → ∀𝑧 ∈ 𝑇 ∀𝑦 ∈ (𝐴‘𝑧)(𝑆‘𝑦) = (𝑆‘𝑧))    ⇒   ((𝜑 ∧ 𝑏 ∈ ran 𝐴) → (𝑆 “ 𝑏) ∈ Fin)
 
28-Jul-2026tmachlem-agreesn 48050 Scans for all tapes of a single agreement set are identical. (Contributed by Ender Ting, 28-Jul-2026.)
(𝜑 → 𝑈 ∈ Fin)    &   (𝜑 → 𝐼 ∈ V)    &   (𝜑 → 𝑇 = (𝑈 ↑m 𝐼))    &   (𝜑 → 𝑆:𝑇⟶(𝒫 𝐼 ∩ Fin))    &   (𝜑 → 𝐴 = (𝑧 ∈ 𝑇 ↦ {𝑦 ∈ 𝑇 ∣ (𝑦 ↾ (𝑆‘𝑧)) = (𝑧 ↾ (𝑆‘𝑧))}))    &   (𝜑 → ∀𝑧 ∈ 𝑇 ∀𝑦 ∈ (𝐴‘𝑧)(𝑆‘𝑦) = (𝑆‘𝑧))    ⇒   ((𝜑 ∧ 𝑎 ∈ 𝑇) → (𝑆 “ (𝐴‘𝑎)) = {(𝑆‘𝑎)})
 
28-Jul-2026tmachlem-exagreecover 48049 Particular properties of the finite cover of agreesets. (Contributed by Ender Ting, 28-Jul-2026.)
(𝜑 → 𝑈 ∈ Fin)    &   (𝜑 → 𝐼 ∈ V)    &   (𝜑 → 𝑇 = (𝑈 ↑m 𝐼))    &   (𝜑 → 𝑆:𝑇⟶(𝒫 𝐼 ∩ Fin))    &   (𝜑 → 𝐴 = (𝑧 ∈ 𝑇 ↦ {𝑦 ∈ 𝑇 ∣ (𝑦 ↾ (𝑆‘𝑧)) = (𝑧 ↾ (𝑆‘𝑧))}))    &   (𝜑 → ∀𝑧 ∈ 𝑇 ∀𝑦 ∈ (𝐴‘𝑧)(𝑆‘𝑦) = (𝑆‘𝑧))    ⇒   (𝜑 → ∃𝑎(𝑎 ⊆ ran 𝐴 ∧ 𝑎 ∈ Fin ∧ 𝑇 = ∪ 𝑎))
 
28-Jul-2026tmachlem-extpcover 48048 Product topology of tapes admits finite cover. (Contributed by Ender Ting, 28-Jul-2026.)
(𝜑 → 𝑈 ∈ Fin)    &   (𝜑 → 𝐼 ∈ V)    &   (𝜑 → 𝑇 = (𝑈 ↑m 𝐼))    &   (𝜑 → 𝑆:𝑇⟶(𝒫 𝐼 ∩ Fin))    &   (𝜑 → 𝐴 = (𝑧 ∈ 𝑇 ↦ {𝑦 ∈ 𝑇 ∣ (𝑦 ↾ (𝑆‘𝑧)) = (𝑧 ↾ (𝑆‘𝑧))}))    &   (𝜑 → ∀𝑧 ∈ 𝑇 ∀𝑦 ∈ (𝐴‘𝑧)(𝑆‘𝑦) = (𝑆‘𝑧))    ⇒   (𝜑 → ∃𝑎 ∈ (𝒫 ran 𝐴 ∩ Fin)∪ (∏t‘(𝑖 ∈ 𝐼 ↦ 𝒫 𝑈)) = ∪ 𝑎)
 
28-Jul-2026tmachlem-exlargecover 48047 Product topology of tapes has an open cover. (Contributed by Ender Ting, 28-Jul-2026.)
(𝜑 → 𝑈 ∈ Fin)    &   (𝜑 → 𝐼 ∈ V)    &   (𝜑 → 𝑇 = (𝑈 ↑m 𝐼))    &   (𝜑 → 𝑆:𝑇⟶(𝒫 𝐼 ∩ Fin))    &   (𝜑 → 𝐴 = (𝑧 ∈ 𝑇 ↦ {𝑦 ∈ 𝑇 ∣ (𝑦 ↾ (𝑆‘𝑧)) = (𝑧 ↾ (𝑆‘𝑧))}))    &   (𝜑 → ∀𝑧 ∈ 𝑇 ∀𝑦 ∈ (𝐴‘𝑧)(𝑆‘𝑦) = (𝑆‘𝑧))    ⇒   (𝜑 → ∪ ran 𝐴 = 𝑇)
 
28-Jul-2026tmachlem-uassst 48046 Union of all agreement sets only includes tapes. (Contributed by Ender Ting, 28-Jul-2026.)
(𝜑 → 𝑈 ∈ Fin)    &   (𝜑 → 𝐼 ∈ V)    &   (𝜑 → 𝑇 = (𝑈 ↑m 𝐼))    &   (𝜑 → 𝑆:𝑇⟶(𝒫 𝐼 ∩ Fin))    &   (𝜑 → 𝐴 = (𝑧 ∈ 𝑇 ↦ {𝑦 ∈ 𝑇 ∣ (𝑦 ↾ (𝑆‘𝑧)) = (𝑧 ↾ (𝑆‘𝑧))}))    &   (𝜑 → ∀𝑧 ∈ 𝑇 ∀𝑦 ∈ (𝐴‘𝑧)(𝑆‘𝑦) = (𝑆‘𝑧))    ⇒   (𝜑 → ∪ ran 𝐴 ⊆ 𝑇)
 
28-Jul-2026tmachlem-tpbase 48042 The base set of product topology of tapes is the set of tapes. (Contributed by Ender Ting, 28-Jul-2026.)
(𝜑 → 𝑈 ∈ Fin)    &   (𝜑 → 𝐼 ∈ V)    &   (𝜑 → 𝑇 = (𝑈 ↑m 𝐼))    &   (𝜑 → 𝑆:𝑇⟶(𝒫 𝐼 ∩ Fin))    &   (𝜑 → 𝐴 = (𝑧 ∈ 𝑇 ↦ {𝑦 ∈ 𝑇 ∣ (𝑦 ↾ (𝑆‘𝑧)) = (𝑧 ↾ (𝑆‘𝑧))}))    &   (𝜑 → ∀𝑧 ∈ 𝑇 ∀𝑦 ∈ (𝐴‘𝑧)(𝑆‘𝑦) = (𝑆‘𝑧))    ⇒   (𝜑 → ∪ (∏t‘(𝑖 ∈ 𝐼 ↦ 𝒫 𝑈)) = 𝑇)
 
27-Jul-2026tmachlem-tpopen2 48045 Variable-renaming lemma connecting tmachlem-agreeprod 48040 and tmachlem-tpopen 48044. (Contributed by Ender Ting, 27-Jul-2026.)
(𝜑 → 𝑈 ∈ Fin)    &   (𝜑 → 𝐼 ∈ V)    &   (𝜑 → 𝑇 = (𝑈 ↑m 𝐼))    &   (𝜑 → 𝑆:𝑇⟶(𝒫 𝐼 ∩ Fin))    &   (𝜑 → 𝐴 = (𝑧 ∈ 𝑇 ↦ {𝑦 ∈ 𝑇 ∣ (𝑦 ↾ (𝑆‘𝑧)) = (𝑧 ↾ (𝑆‘𝑧))}))    &   (𝜑 → ∀𝑧 ∈ 𝑇 ∀𝑦 ∈ (𝐴‘𝑧)(𝑆‘𝑦) = (𝑆‘𝑧))    ⇒   ((𝜑 ∧ 𝑎 ∈ 𝑇) → (𝐴‘𝑎) ∈ (∏t‘(𝑏 ∈ 𝐼 ↦ 𝒫 𝑈)))
 
27-Jul-2026tmachlem-tpopen 48044 Agreement sets are open in the product topology of tapes. (Contributed by Ender Ting, 27-Jul-2026.)
(𝜑 → 𝑈 ∈ Fin)    &   (𝜑 → 𝐼 ∈ V)    &   (𝜑 → 𝑇 = (𝑈 ↑m 𝐼))    &   (𝜑 → 𝑆:𝑇⟶(𝒫 𝐼 ∩ Fin))    &   (𝜑 → 𝐴 = (𝑧 ∈ 𝑇 ↦ {𝑦 ∈ 𝑇 ∣ (𝑦 ↾ (𝑆‘𝑧)) = (𝑧 ↾ (𝑆‘𝑧))}))    &   (𝜑 → ∀𝑧 ∈ 𝑇 ∀𝑦 ∈ (𝐴‘𝑧)(𝑆‘𝑦) = (𝑆‘𝑧))    ⇒   ((𝜑 ∧ 𝑎 ∈ 𝑇) → X𝑏 ∈ 𝐼 if(𝑏 ∈ (𝑆‘𝑎), {(𝑎‘𝑏)}, 𝑈) ∈ (∏t‘(𝑖 ∈ 𝐼 ↦ 𝒫 𝑈)))
 
27-Jul-2026tmachlem-tpitem 48043 Topology lemma. (Contributed by Ender Ting, 27-Jul-2026.)
(𝜑 → 𝑈 ∈ Fin)    &   (𝜑 → 𝐼 ∈ V)    &   (𝜑 → 𝑇 = (𝑈 ↑m 𝐼))    &   (𝜑 → 𝑆:𝑇⟶(𝒫 𝐼 ∩ Fin))    &   (𝜑 → 𝐴 = (𝑧 ∈ 𝑇 ↦ {𝑦 ∈ 𝑇 ∣ (𝑦 ↾ (𝑆‘𝑧)) = (𝑧 ↾ (𝑆‘𝑧))}))    &   (𝜑 → ∀𝑧 ∈ 𝑇 ∀𝑦 ∈ (𝐴‘𝑧)(𝑆‘𝑦) = (𝑆‘𝑧))    ⇒   ((𝜑 ∧ 𝑎 ∈ 𝐼) → ((𝑖 ∈ 𝐼 ↦ 𝒫 𝑈)‘𝑎) = 𝒫 𝑈)
 
27-Jul-2026tmachlem-tpcomp 48041 Product (discrete) topology of tapes is compact by Tychonoff's theorem. To work for infinite index sets (such as ℤ for 𝐼 which is the main interpretation), it requires Choice. (Contributed by Ender Ting, 27-Jul-2026.)
(𝜑 → 𝑈 ∈ Fin)    &   (𝜑 → 𝐼 ∈ V)    &   (𝜑 → 𝑇 = (𝑈 ↑m 𝐼))    &   (𝜑 → 𝑆:𝑇⟶(𝒫 𝐼 ∩ Fin))    &   (𝜑 → 𝐴 = (𝑧 ∈ 𝑇 ↦ {𝑦 ∈ 𝑇 ∣ (𝑦 ↾ (𝑆‘𝑧)) = (𝑧 ↾ (𝑆‘𝑧))}))    &   (𝜑 → ∀𝑧 ∈ 𝑇 ∀𝑦 ∈ (𝐴‘𝑧)(𝑆‘𝑦) = (𝑆‘𝑧))    ⇒   (𝜑 → (∏t‘(𝑖 ∈ 𝐼 ↦ 𝒫 𝑈)) ∈ Comp)
 
27-Jul-2026tmachlem-agreeprod 48040 Agreement set can be written as infinite product of acceptable values for tape's cells. (Contributed by Ender Ting, 27-Jul-2026.)
(𝜑 → 𝑈 ∈ Fin)    &   (𝜑 → 𝐼 ∈ V)    &   (𝜑 → 𝑇 = (𝑈 ↑m 𝐼))    &   (𝜑 → 𝑆:𝑇⟶(𝒫 𝐼 ∩ Fin))    &   (𝜑 → 𝐴 = (𝑧 ∈ 𝑇 ↦ {𝑦 ∈ 𝑇 ∣ (𝑦 ↾ (𝑆‘𝑧)) = (𝑧 ↾ (𝑆‘𝑧))}))    &   (𝜑 → ∀𝑧 ∈ 𝑇 ∀𝑦 ∈ (𝐴‘𝑧)(𝑆‘𝑦) = (𝑆‘𝑧))    ⇒   ((𝜑 ∧ 𝑎 ∈ 𝑇) → (𝐴‘𝑎) = X𝑖 ∈ 𝐼 if(𝑖 ∈ (𝑆‘𝑎), {(𝑎‘𝑖)}, 𝑈))
 
27-Jul-2026tmachlem-agreeself 48039 Any tape belongs to its own agreement set. (Contributed by Ender Ting, 27-Jul-2026.)
(𝜑 → 𝑈 ∈ Fin)    &   (𝜑 → 𝐼 ∈ V)    &   (𝜑 → 𝑇 = (𝑈 ↑m 𝐼))    &   (𝜑 → 𝑆:𝑇⟶(𝒫 𝐼 ∩ Fin))    &   (𝜑 → 𝐴 = (𝑧 ∈ 𝑇 ↦ {𝑦 ∈ 𝑇 ∣ (𝑦 ↾ (𝑆‘𝑧)) = (𝑧 ↾ (𝑆‘𝑧))}))    &   (𝜑 → ∀𝑧 ∈ 𝑇 ∀𝑦 ∈ (𝐴‘𝑧)(𝑆‘𝑦) = (𝑆‘𝑧))    ⇒   ((𝜑 ∧ 𝑎 ∈ 𝑇) → 𝑎 ∈ (𝐴‘𝑎))
 
27-Jul-2026tmachlem-finscan 48038 Execution on any tape only scanned a finite number of cells. (Contributed by Ender Ting, 27-Jul-2026.)
(𝜑 → 𝑈 ∈ Fin)    &   (𝜑 → 𝐼 ∈ V)    &   (𝜑 → 𝑇 = (𝑈 ↑m 𝐼))    &   (𝜑 → 𝑆:𝑇⟶(𝒫 𝐼 ∩ Fin))    &   (𝜑 → 𝐴 = (𝑧 ∈ 𝑇 ↦ {𝑦 ∈ 𝑇 ∣ (𝑦 ↾ (𝑆‘𝑧)) = (𝑧 ↾ (𝑆‘𝑧))}))    &   (𝜑 → ∀𝑧 ∈ 𝑇 ∀𝑦 ∈ (𝐴‘𝑧)(𝑆‘𝑦) = (𝑆‘𝑧))    ⇒   ((𝜑 ∧ 𝑎 ∈ 𝑇) → (𝑆‘𝑎) ∈ Fin)
 
27-Jul-2026tmachlem-extapes 48037 The class of all tapes is a set. (Contributed by Ender Ting, 27-Jul-2026.)
(𝜑 → 𝑈 ∈ Fin)    &   (𝜑 → 𝐼 ∈ V)    &   (𝜑 → 𝑇 = (𝑈 ↑m 𝐼))    &   (𝜑 → 𝑆:𝑇⟶(𝒫 𝐼 ∩ Fin))    &   (𝜑 → 𝐴 = (𝑧 ∈ 𝑇 ↦ {𝑦 ∈ 𝑇 ∣ (𝑦 ↾ (𝑆‘𝑧)) = (𝑧 ↾ (𝑆‘𝑧))}))    &   (𝜑 → ∀𝑧 ∈ 𝑇 ∀𝑦 ∈ (𝐴‘𝑧)(𝑆‘𝑦) = (𝑆‘𝑧))    ⇒   (𝜑 → 𝑇 ∈ V)
 
27-Jul-2026nadddi 37065 Natural multiplication distributes over natural addition. (Contributed by Scott Fenton, 27-Jul-2026.)
((𝐴 ∈ On ∧ 𝐵 ∈ On ∧ 𝐶 ∈ On) → (𝐴 ·no (𝐵 +no 𝐶)) = ((𝐴 ·no 𝐵) +no (𝐴 ·no 𝐶)))
 
24-Jul-2026goldratval 48029 Value of the golden ratio. (Contributed by Ender Ting, 24-Jul-2026.)
𝐹 = (2 · (cos‘(π / 5)))    ⇒   𝐹 = ((1 + (√‘5)) / 2)
 
24-Jul-2026goldratmolem4 48028 Lemma 4 for determining the value of golden ratio. (Contributed by Ender Ting, 24-Jul-2026.)
𝐹 = (2 · (cos‘(π / 5)))    ⇒   (((𝐹↑2) − 𝐹) − 1) = 0
 
24-Jul-2026goldpolyfactor 48020 Factorization of a polynomial which has golden ratio among its roots, done by term-by-term-by-term multiplying and summing a few shorter polynomials. (Contributed by Ender Ting, 24-Jul-2026.)
𝐹 ∈ ℂ    ⇒   (((((𝐹↑2) − 𝐹) − 1) · (((𝐹↑2) − 𝐹) − 1)) · (𝐹 + 2)) = ((((𝐹↑5) − (5 · (𝐹↑3))) + (5 · 𝐹)) + 2)
 
24-Jul-2026chnrun2 48003 Superadditivity of chain constructor over relation parameter. (Contributed by Ender Ting, 24-Jul-2026.)
((𝑅 Chain 𝐵) ∪ ( < Chain 𝐵)) ⊆ ((𝑅 ∪ < ) Chain 𝐵)
 
24-Jul-2026chnrun 48002 Satisfying either of two chain relations is sufficient to make a chain under their union. (Contributed by Ender Ting, 24-Jul-2026.)
((𝐴 ∈ (𝑅 Chain 𝐵) ∨ 𝐴 ∈ ( < Chain 𝐵)) → 𝐴 ∈ ((𝑅 ∪ < ) Chain 𝐵))
 
24-Jul-2026chnrin2 48001 Distribution of chain class constructor over relation intersection. (Contributed by Ender Ting, 24-Jul-2026.)
((𝑅 ∩ < ) Chain 𝐵) = ((𝑅 Chain 𝐵) ∩ ( < Chain 𝐵))
 
24-Jul-2026chnrrin 48000 A chain of elements satisfying two relations at once is a chain under either of them. (Contributed by Ender Ting, 24-Jul-2026.)
(𝐴 ∈ ((𝑅 ∩ < ) Chain 𝐵) → (𝐴 ∈ (𝑅 Chain 𝐵) ∧ 𝐴 ∈ ( < Chain 𝐵)))
 
24-Jul-2026chnrin 47999 Satisfying two chain relations makes a chain under their intersection. (Contributed by Ender Ting, 24-Jul-2026.)
((𝐴 ∈ (𝑅 Chain 𝐵) ∧ 𝐴 ∈ ( < Chain 𝐵)) → 𝐴 ∈ ((𝑅 ∩ < ) Chain 𝐵))
 
24-Jul-2026chndun2 47998 Superaddivity of chain constructor over alphabet parameter. (Contributed by Ender Ting, 24-Jul-2026.)
((𝑅 Chain 𝐵) ∪ (𝑅 Chain 𝐶)) ⊆ (𝑅 Chain (𝐵 ∪ 𝐶))
 
24-Jul-2026chndun 47997 Chains in either of two alphabets are chains in their union. (Contributed by Ender Ting, 24-Jul-2026.)
((𝐴 ∈ (𝑅 Chain 𝐵) ∨ 𝐴 ∈ (𝑅 Chain 𝐶)) → 𝐴 ∈ (𝑅 Chain (𝐵 ∪ 𝐶)))
 
24-Jul-2026chndin2 47996 Distribution of chain class constructor over alphabet intersection. (Contributed by Ender Ting, 24-Jul-2026.)
(𝑅 Chain (𝐵 ∩ 𝐶)) = ((𝑅 Chain 𝐵) ∩ (𝑅 Chain 𝐶))
 
24-Jul-2026chndrin 47995 A chain whose alphabet is intersection of two classes is also a chain in each of those alphabets. (Contributed by Ender Ting, 24-Jul-2026.)
(𝐴 ∈ (𝑅 Chain (𝐵 ∩ 𝐶)) → (𝐴 ∈ (𝑅 Chain 𝐵) ∧ 𝐴 ∈ (𝑅 Chain 𝐶)))
 
24-Jul-2026chndin 47994 A chain in two alphabets at once is also a chain in their intersection. (Contributed by Ender Ting, 24-Jul-2026.)
((𝐴 ∈ (𝑅 Chain 𝐵) ∧ 𝐴 ∈ (𝑅 Chain 𝐶)) → 𝐴 ∈ (𝑅 Chain (𝐵 ∩ 𝐶)))
 
24-Jul-2026wrddun2 47993 Superadditivity of word constructor. Class of words over union alphabet includes all words over either alphabet in the union; if 𝐵 and 𝐶 are non-empty and different, then this subclass relation is strict because of the words which have symbols both from 𝐵 and from 𝐶. (Contributed by Ender Ting, 24-Jul-2026.)
(Word 𝐵 ∪ Word 𝐶) ⊆ Word (𝐵 ∪ 𝐶)
 
24-Jul-2026wrddun 47992 Words in either of two alphabets are words in their union. (Contributed by Ender Ting, 24-Jul-2026.)
((𝐴 ∈ Word 𝐵 ∨ 𝐴 ∈ Word 𝐶) → 𝐴 ∈ Word (𝐵 ∪ 𝐶))
 
24-Jul-2026wrddin2 47991 Distribution of word class constructor over class intersection. (Contributed by Ender Ting, 24-Jul-2026.)
Word (𝐵 ∩ 𝐶) = (Word 𝐵 ∩ Word 𝐶)
 
24-Jul-2026wrddrin 47990 A word whose alphabet is intersection of two classes is also a word in each of those alphabets. (Contributed by Ender Ting, 24-Jul-2026.)
(𝐴 ∈ Word (𝐵 ∩ 𝐶) → (𝐴 ∈ Word 𝐵 ∧ 𝐴 ∈ Word 𝐶))
 
24-Jul-2026wrddin 47989 A word in two alphabets is also a word under their intersection. (Contributed by Ender Ting, 24-Jul-2026.)
((𝐴 ∈ Word 𝐵 ∧ 𝐴 ∈ Word 𝐶) → 𝐴 ∈ Word (𝐵 ∩ 𝐶))
 
24-Jul-2026ricer 20761 Ring isomorphism is an equivalence relation. (Contributed by Jeff Madsen, 16-Jun-2011.) (Revised by Mario Carneiro, 12-Aug-2015.) (Revised by AV, 24-Jul-2026.)
≃𝑟 Er Ring
 
24-Jul-2026ricref 20753 Ring isomorphism is reflexive. (Contributed by by AV, 24-Jul-2026.)
(𝑅 ∈ Ring → 𝑅 ≃𝑟 𝑅)
 
24-Jul-2026ricrel 20749 The domain of the ring isomorphism relation is a relation. (Contributed by AV, 24-Jul-2026.)
Rel ≃𝑟
 
24-Jul-2026rhmkerinj 20745 A ring homomorphism is injective if and only if its kernel is zero. (Contributed by Jeff Madsen, 16-Jun-2011.) (Revised by AV, 24-Jul-2026.)
𝐵 = (Base‘𝑅)    &   𝐶 = (Base‘𝑆)    &    0 = (0g‘𝑅)    &   𝑍 = (0g‘𝑆)    ⇒   (𝐹 ∈ (𝑅 RingHom 𝑆) → (𝐹:𝐵–1-1→𝐶 ↔ (◡𝐹 “ {𝑍}) = { 0 }))
 
24-Jul-2026rimval 20735 The set of ring isomorphisms. (Contributed by Jeff Madsen, 16-Jun-2011.) (Revised by AV, 24-Jul-2026.)
𝐵 = (Base‘𝑅)    &   𝐶 = (Base‘𝑆)    ⇒   (𝑅 RingIso 𝑆) = {𝑓 ∈ (𝑅 RingHom 𝑆) ∣ 𝑓:𝐵–1-1-onto→𝐶}
 
24-Jul-2026isrhm0 20711 The predicate "is a ring homomorphism from 𝑅 to 𝑆". (Contributed by Jeff Madsen, 19-Jun-2010.) (Revised by AV, 24-Jul-2026.)
𝐵 = (Base‘𝑅)    &   𝐶 = (Base‘𝑆)    &    1 = (1r‘𝑅)    &   𝑁 = (1r‘𝑆)    &    · = (.r‘𝑅)    &    × = (.r‘𝑆)    &    + = (+g‘𝑅)    &    ⨣ = (+g‘𝑆)    ⇒   ((𝑅 ∈ Ring ∧ 𝑆 ∈ Ring) → (𝐹 ∈ (𝑅 RingHom 𝑆) ↔ (𝐹:𝐵⟶𝐶 ∧ (𝐹‘ 1 ) = 𝑁 ∧ ∀𝑥 ∈ 𝐵 ∀𝑦 ∈ 𝐵 ((𝐹‘(𝑥 + 𝑦)) = ((𝐹‘𝑥) ⨣ (𝐹‘𝑦)) ∧ (𝐹‘(𝑥 · 𝑦)) = ((𝐹‘𝑥) × (𝐹‘𝑦))))))
 
24-Jul-2026rhmval0 20710 The set of ring homomorphisms. (Contributed by Jeff Madsen, 19-Jun-2010.) (Revised by Mario Carneiro, 22-Sep-2015.) (Revised by AV, 24-Jul-2026.)
𝐵 = (Base‘𝑅)    &   𝐶 = (Base‘𝑆)    &    1 = (1r‘𝑅)    &   𝑁 = (1r‘𝑆)    &    · = (.r‘𝑅)    &    × = (.r‘𝑆)    &    + = (+g‘𝑅)    &    ⨣ = (+g‘𝑆)    ⇒   ((𝑅 ∈ Ring ∧ 𝑆 ∈ Ring) → (𝑅 RingHom 𝑆) = {𝑓 ∈ (𝐶 ↑m 𝐵) ∣ ((𝑓‘ 1 ) = 𝑁 ∧ ∀𝑥 ∈ 𝐵 ∀𝑦 ∈ 𝐵 ((𝑓‘(𝑥 + 𝑦)) = ((𝑓‘𝑥) ⨣ (𝑓‘𝑦)) ∧ (𝑓‘(𝑥 · 𝑦)) = ((𝑓‘𝑥) × (𝑓‘𝑦))))})
 
23-Jul-2026goldratmolem3 48027 Lemma 3 for determining the value of golden ratio. (Contributed by Ender Ting, 23-Jul-2026.)
𝐹 = (2 · (cos‘(π / 5)))    ⇒   ((((𝐹↑5) − (5 · (𝐹↑3))) + (5 · 𝐹)) + 2) = 0
 
23-Jul-2026isdrng5 21013 A division ring is a ring in which 1 ≠ 0 and every nonzero element is invertible. (Contributed by Jeff Madsen, 8-Jun-2010.) (Revised by AV, 23-Jul-2026.)
𝐵 = (Base‘𝑅)    &    0 = (0g‘𝑅)    &    1 = (1r‘𝑅)    &    · = (.r‘𝑅)    ⇒   (𝑅 ∈ DivRing ↔ (𝑅 ∈ Ring ∧ 1 ≠ 0 ∧ ∀𝑥 ∈ (𝐵 ∖ { 0 })∃𝑦 ∈ 𝐵 (𝑦 · 𝑥) = 1 ))
 
23-Jul-2026brric2 20759 The ring isomorphism relation. (Contributed by Jeff Madsen, 16-Jun-2011.) (Revised by AV, 23-Jul-2026.)
((𝑅 ∈ Ring ∧ 𝑆 ∈ Ring) → (𝑅 ≃𝑟 𝑆 ↔ ∃𝑓 𝑓 ∈ (𝑅 RingIso 𝑆)))
 
23-Jul-2026ricrcl 20755 Ring isomorphism implies the right side is a ring. (Contributed by AV, 23-Jul-2026.)
(𝑅 ≃𝑟 𝑆 → 𝑆 ∈ Ring)
 
23-Jul-2026riclcl 20754 Ring isomorphism implies the left side is a ring. (Contributed by AV, 23-Jul-2026.)
(𝑅 ≃𝑟 𝑆 → 𝑅 ∈ Ring)
 
23-Jul-2026rhm0 20728 A ring homomorphism preserves 0. (Contributed by Jeff Madsen, 2-Jan-2011.) (Revised by AV, 23-Jul-2026.)
0 = (0g‘𝑅)    &   𝑍 = (0g‘𝑆)    ⇒   (𝐹 ∈ (𝑅 RingHom 𝑆) → (𝐹‘ 0 ) = 𝑍)
 
22-Jul-2026sqrtnpoly 48036 Square root function is not polynomial with complex coefficients either. Otherwise, its composition with a square monomial - the identity - would have to be of even degree. (Contributed by Ender Ting, 22-Jul-2026.)
¬ √ ∈ (Poly‘ℂ)
 
22-Jul-2026sqrtrrnpoly 48035 Real square root is not a polynomial with real coefficients, because its value is imaginary for negative arguments. (Contributed by Ender Ting, 22-Jul-2026.)
¬ √ ∈ (Poly‘ℝ)
 
22-Jul-2026sqrtqaa 48008 Square root of a rational number is algebraic. (Contributed by Ender Ting, 22-Jul-2026.)
(𝐴 ∈ ℚ → (√‘𝐴) ∈ 𝔸)
 
22-Jul-2026sqrtnzqaa 48007 Square root of a nonzero rational is algebraic. (Contributed by Ender Ting, 22-Jul-2026.)
((𝐴 ∈ ℚ ∧ 𝐴 ≠ 0) → (√‘𝐴) ∈ 𝔸)
 
22-Jul-2026zrdrng 21031 A zero ring is not a division ring. (Contributed by FL, 24-Jan-2010.) (Revised by AV, 22-Jul-2026.)
0 = (0g‘𝑅)    &    1 = (1r‘𝑅)    ⇒   ( 0 = 1 → ¬ 𝑅 ∈ DivRing)
 
22-Jul-2026isdrng3 21012 A division ring is a ring in which 1 ≠ 0 and every nonzero element is invertible. (Contributed by Jeff Madsen, 8-Jun-2010.) (Revised by AV, 22-Jul-2026.)
𝐵 = (Base‘𝑅)    &    0 = (0g‘𝑅)    &    1 = (1r‘𝑅)    &    · = (.r‘𝑅)    ⇒   (𝑅 ∈ DivRing ↔ (𝑅 ∈ Ring ∧ 1 ≠ 0 ∧ ∀𝑥 ∈ (𝐵 ∖ { 0 })∃𝑦 ∈ (𝐵 ∖ { 0 })(𝑦 · 𝑥) = 1 ))
 
22-Jul-2026isdrng3lem2 21011 Lemma for isdrng3 21012 (for the right to left implication). Formerly part of proof for isdrng3 21012. (Contributed by Jeff Madsen, 8-Jun-2010.) (Revised by AV, 22-Jul-2026.)
𝐵 = (Base‘𝑅)    &    0 = (0g‘𝑅)    &    1 = (1r‘𝑅)    &    · = (.r‘𝑅)    ⇒   ((𝑅 ∈ Ring ∧ 1 ≠ 0 ∧ ∀𝑥 ∈ (𝐵 ∖ { 0 })∃𝑦 ∈ (𝐵 ∖ { 0 })(𝑦 · 𝑥) = 1 ) → ((mulGrp‘𝑅) ↾s (𝐵 ∖ { 0 })) ∈ Grp)
 
22-Jul-2026isdrng3lem1 21010 Lemma for isdrng3 21012 (for the left to right implication). Formerly part of proof for isdrng3 21012. (Contributed by Jeff Madsen, 8-Jun-2010.) (Revised by AV, 22-Jul-2026.)
𝐵 = (Base‘𝑅)    &    0 = (0g‘𝑅)    &    1 = (1r‘𝑅)    &    · = (.r‘𝑅)    ⇒   ((𝑅 ∈ Ring ∧ ((mulGrp‘𝑅) ↾s (𝐵 ∖ { 0 })) ∈ Grp) → ∀𝑥 ∈ (𝐵 ∖ { 0 })∃𝑦 ∈ (𝐵 ∖ { 0 })(𝑦 · 𝑥) = 1 )
 
22-Jul-2026isdrng3lem0 21009 Lemma for isdrng3 21012: The base set of a multipication group restricted to a subset of the original base set. (Contributed by AV, 22-Jul-2026.)
𝐵 = (Base‘𝑅)    ⇒   (Base‘((mulGrp‘𝑅) ↾s (𝐵 ∖ 𝑋))) = (𝐵 ∖ 𝑋)
 
22-Jul-2026hta 9965 A ZFC emulation of Hilbert's transfinite axiom. The set 𝐵 has the properties of Hilbert's epsilon, except that it also depends on a well-ordering 𝑅. This theorem arose from discussions with Raph Levien on 5-Mar-2004 about translating the HOL proof language, which uses Hilbert's epsilon. See https://us.metamath.org/downloads/choice.txt (copy of obsolete link http://ghilbert.org/choice.txt) and https://us.metamath.org/downloads/megillaward2005he.pdf.

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

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

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

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

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

(∀∃!𝑥(𝜑 → 𝜓) ↔ (∀𝑥(𝜑 → 𝜓) ∧ ∃!𝑥(𝜑 ∧ 𝜓)))
 
21-Jul-2026nfralseu 51099 Bound-variable hypothesis builder for "all some one" restricted to a class. This is the "all some one" counterpart of nfrals 51068. (Contributed by David A. Wheeler, 21-Jul-2026.)
Ⅎ𝑥𝐴    &   Ⅎ𝑥𝜑    &   Ⅎ𝑥𝜓    ⇒   Ⅎ𝑥∀∃!𝑦 ∈ 𝐴(𝜑 → 𝜓)
 
21-Jul-2026nfalseu 51098 Bound-variable hypothesis builder for "all some one". This is the "all some one" counterpart of nfals 51067. Unlike nfals 51067 it requires 𝑥 and 𝑦 to be disjoint, because the corresponding builder for ∃! is nfeuw 2618, which requires it; the version without that requirement, nfeu 2619, depends on ax-13 2401 and its use is discouraged. (Contributed by David A. Wheeler, 21-Jul-2026.)
Ⅎ𝑥𝜑    &   Ⅎ𝑥𝜓    ⇒   Ⅎ𝑥∀∃!𝑦(𝜑 → 𝜓)
 
21-Jul-2026ralseubii 51097 Congruence for "all some one" restricted to a class. This is the "all some one" counterpart of ralsbii 51065. (Contributed by David A. Wheeler, 21-Jul-2026.)
(𝜑 ↔ 𝜒)    &   (𝜓 ↔ 𝜃)    ⇒   (∀∃!𝑥 ∈ 𝐴(𝜑 → 𝜓) ↔ ∀∃!𝑥 ∈ 𝐴(𝜒 → 𝜃))
 
21-Jul-2026alseubii 51096 Congruence: equivalents may be substituted inside an "all some one". This is the "all some one" counterpart of alsbii 51064. (Contributed by David A. Wheeler, 21-Jul-2026.)
(𝜑 ↔ 𝜒)    &   (𝜓 ↔ 𝜃)    ⇒   (∀∃!𝑥(𝜑 → 𝜓) ↔ ∀∃!𝑥(𝜒 → 𝜃))
 
21-Jul-2026ralseu2d 51095 Deduction rule: Given "all some one" applied to a class, you can extract the "exactly one" part. Note that the witness must satisfy the antecedent 𝜓, not merely be a member of 𝐴. (Contributed by David A. Wheeler, 21-Jul-2026.)
(𝜑 → ∀∃!𝑥 ∈ 𝐴(𝜓 → 𝜒))    ⇒   (𝜑 → ∃!𝑥 ∈ 𝐴 𝜓)
 
21-Jul-2026ralseu1d 51094 Deduction rule: Given "all some one" applied to a class, you can extract the "for all" part. (Contributed by David A. Wheeler, 21-Jul-2026.)
(𝜑 → ∀∃!𝑥 ∈ 𝐴(𝜓 → 𝜒))    ⇒   (𝜑 → ∀𝑥 ∈ 𝐴 (𝜓 → 𝜒))
 
21-Jul-2026alseu2d 51093 Deduction rule: Given "all some one" applied to a top-level inference, you can extract the "exactly one" part. (Contributed by David A. Wheeler, 21-Jul-2026.)
(𝜑 → ∀∃!𝑥(𝜓 → 𝜒))    ⇒   (𝜑 → ∃!𝑥𝜓)
 
21-Jul-2026alseu1d 51092 Deduction rule: Given "all some one" applied to a top-level inference, you can extract the "for all" part. (Contributed by David A. Wheeler, 21-Jul-2026.)
(𝜑 → ∀∃!𝑥(𝜓 → 𝜒))    ⇒   (𝜑 → ∀𝑥(𝜓 → 𝜒))
 
21-Jul-2026ralseud 51091 Introduction rule for "all some one" restricted to a class. This is the converse of ralseu1d 51094 and ralseu2d 51095 taken together. (Contributed by David A. Wheeler, 21-Jul-2026.)
(𝜑 → ∀𝑥 ∈ 𝐴 (𝜓 → 𝜒))    &   (𝜑 → ∃!𝑥 ∈ 𝐴 𝜓)    ⇒   (𝜑 → ∀∃!𝑥 ∈ 𝐴(𝜓 → 𝜒))
 
21-Jul-2026alseud 51090 Introduction rule: "all some one" holds if the "for all" part holds and the antecedent has exactly one witness. This is the converse of alseu1d 51092 and alseu2d 51093 taken together. (Contributed by David A. Wheeler, 21-Jul-2026.)
(𝜑 → ∀𝑥(𝜓 → 𝜒))    &   (𝜑 → ∃!𝑥𝜓)    ⇒   (𝜑 → ∀∃!𝑥(𝜓 → 𝜒))
 
21-Jul-2026ralseurals 51089 "All some one" restricted to a class implies "all some" restricted to that class. Restricted counterpart of alseuals 51088. (Contributed by David A. Wheeler, 21-Jul-2026.)
(∀∃!𝑥 ∈ 𝐴(𝜑 → 𝜓) → ∀∃𝑥 ∈ 𝐴(𝜑 → 𝜓))
 
21-Jul-2026alseuals 51088 "All some one" implies "all some": requiring exactly one witness is stronger than requiring at least one. Any consequence of an allsome statement is therefore a consequence of the corresponding "all some one" statement, which is how alseu-no-surprise 51102 is proved. (Contributed by David A. Wheeler, 21-Jul-2026.)
(∀∃!𝑥(𝜑 → 𝜓) → ∀∃𝑥(𝜑 → 𝜓))
 
21-Jul-2026dfralseu2 51087 The bounded "all some one" form is the general form with the class membership folded into the antecedent. This is the "all some one" counterpart of dfrals2 51054. (Contributed by David A. Wheeler, 21-Jul-2026.)
(∀∃!𝑥 ∈ 𝐴(𝜑 → 𝜓) ↔ ∀∃!𝑥((𝑥 ∈ 𝐴 ∧ 𝜑) → 𝜓))
 
21-Jul-2026df-ralseu 51086 Define "all some one" applied to a class, which means 𝜓 is true whenever 𝜑 is true for 𝑥 in 𝐴, and exactly one 𝑥 in 𝐴 satisfies 𝜑. (Contributed by David A. Wheeler, 21-Jul-2026.)
(∀∃!𝑥 ∈ 𝐴(𝜑 → 𝜓) ↔ (∀𝑥 ∈ 𝐴 (𝜑 → 𝜓) ∧ ∃!𝑥 ∈ 𝐴 𝜑))
 
21-Jul-2026df-alseu 51085 Define "all some one" applied to a top-level implication, which means 𝜓 is true whenever 𝜑 is true and exactly one 𝑥 satisfies 𝜑. (Contributed by David A. Wheeler, 21-Jul-2026.)
(∀∃!𝑥(𝜑 → 𝜓) ↔ (∀𝑥(𝜑 → 𝜓) ∧ ∃!𝑥𝜑))
 
21-Jul-2026wralseu 51084 Extend wff definition to include "all some one" applied to a class, which means 𝜓 is true whenever 𝜑 is true for 𝑥 in 𝐴, and exactly one 𝑥 in 𝐴 satisfies 𝜑. (Contributed by David A. Wheeler, 21-Jul-2026.)
wff ∀∃!𝑥 ∈ 𝐴(𝜑 → 𝜓)
 
21-Jul-2026walseu 51083 Extend wff definition to include "all some one" applied to a top-level implication, which means 𝜓 is true whenever 𝜑 is true, and exactly one 𝑥 satisfies 𝜑. (Contributed by David A. Wheeler, 21-Jul-2026.)
wff ∀∃!𝑥(𝜑 → 𝜓)
 
21-Jul-2026sqrtnnaa 48006 Square root of a natural number is algebraic. (Contributed by Ender Ting, 21-Jul-2026.)
(𝐴 ∈ ℕ → (√‘𝐴) ∈ 𝔸)
 
21-Jul-2026naddle 37060 Condition for bounding natural addition above. (Contributed by Scott Fenton, 21-Jul-2026.)
((𝐴 ∈ On ∧ 𝐵 ∈ On ∧ 𝐶 ∈ On) → ((𝐴 +no 𝐵) ⊆ 𝐶 ↔ (∀𝑎 ∈ 𝐴 (𝑎 +no 𝐵) ∈ 𝐶 ∧ ∀𝑏 ∈ 𝐵 (𝐴 +no 𝑏) ∈ 𝐶)))
 
21-Jul-2026ltnadd 37059 Condition for bounding a natural sum below. (Contributed by Scott Fenton, 21-Jul-2026.)
((𝐴 ∈ On ∧ 𝐵 ∈ On ∧ 𝐶 ∈ On) → (𝐴 ∈ (𝐵 +no 𝐶) ↔ (∃𝑏 ∈ 𝐵 𝐴 ⊆ (𝑏 +no 𝐶) ∨ ∃𝑐 ∈ 𝐶 𝐴 ⊆ (𝐵 +no 𝑐))))
 
21-Jul-2026nmullid 37039 Identity law for natural multiplication. (Contributed by Scott Fenton, 21-Jul-2026.)
(𝐴 ∈ On → (1o ·no 𝐴) = 𝐴)
 
21-Jul-2026nmulrid 37038 Identity law for natural multiplication. (Contributed by Scott Fenton, 21-Jul-2026.)
(𝐴 ∈ On → (𝐴 ·no 1o) = 𝐴)
 
21-Jul-2026aaliou3r 26684 The sum presented above is convergent, which means that the "Liouville number" is indeed real. (Contributed by Ender Ting, 21-Jul-2026.)
Σ𝑘 ∈ ℕ (2↑ -(!‘𝑘)) ∈ ℝ
 
21-Jul-20261aa 26655 One is algebraic. (Contributed by Ender Ting, 21-Jul-2026.)
1 ∈ 𝔸
 
21-Jul-20260aa 26654 Zero is algebraic. (Contributed by Ender Ting, 21-Jul-2026.)
0 ∈ 𝔸
 
20-Jul-2026ralsanmo 51075 An "all some" statement restricted to a class, conjoined with the claim that at most one 𝑥 in 𝐴 satisfies its antecedent, is equivalent to the universal part conjoined with the claim that exactly one 𝑥 in 𝐴 satisfies the antecedent. This is the restricted counterpart of alsanmo 51074. (Contributed by Peter Mazsa and David A. Wheeler, 20-Jul-2026.)
((∀∃𝑥 ∈ 𝐴(𝜑 → 𝜓) ∧ ∃*𝑥 ∈ 𝐴 𝜑) ↔ (∀𝑥 ∈ 𝐴 (𝜑 → 𝜓) ∧ ∃!𝑥 ∈ 𝐴 𝜑))
 
20-Jul-2026alsanmo 51074 An "all some" statement conjoined with the claim that at most one 𝑥 satisfies its antecedent is equivalent to the universal part conjoined with the claim that exactly one 𝑥 satisfies the antecedent. The "all some" quantifier supplies the existence of such an 𝑥 and ∃*𝑥𝜑 supplies the at-most-one part, so together they yield ∃!𝑥𝜑. (Contributed by Peter Mazsa and David A. Wheeler, 20-Jul-2026.)
((∀∃𝑥(𝜑 → 𝜓) ∧ ∃*𝑥𝜑) ↔ (∀𝑥(𝜑 → 𝜓) ∧ ∃!𝑥𝜑))
 
20-Jul-2026rexrals 51073 If a member of 𝐴 satisfying the antecedent exists, then a restricted "all some" statement reduces to its universal part. This is the restricted counterpart of rexals 51079. (Contributed by Peter Mazsa and David A. Wheeler, 20-Jul-2026.)
(∃𝑥 ∈ 𝐴 𝜑 → (∀∃𝑥 ∈ 𝐴(𝜑 → 𝜓) ↔ ∀𝑥 ∈ 𝐴 (𝜑 → 𝜓)))
 
20-Jul-2026ralrals 51072 If the universal part of a restricted "all some" statement holds, then the statement reduces to the existence of a member of 𝐴 satisfying its antecedent. This is the restricted counterpart of ralals 51078. (Contributed by Peter Mazsa and David A. Wheeler, 20-Jul-2026.)
(∀𝑥 ∈ 𝐴 (𝜑 → 𝜓) → (∀∃𝑥 ∈ 𝐴(𝜑 → 𝜓) ↔ ∃𝑥 ∈ 𝐴 𝜑))
 
20-Jul-2026tgaltai 29450 Parallelism implies alternate angles congruence: if a line (𝑋𝐿𝑍) crosses two parallel lines (𝑋𝐿𝑌) and (𝑍𝐿𝑊), then the alternate angles are congruent. First direction of Theorem 12.21 of [Schwabhauser] p. 126. This is also Proposition 1.29 of Euclid's Elements . (Contributed by Thierry Arnoux, 20-Jul-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &    ∥ = (parlnG‘𝐺)    &   𝑂 = {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ (𝑃 ∖ (𝑋𝐿𝑍)) ∧ 𝑏 ∈ (𝑃 ∖ (𝑋𝐿𝑍))) ∧ ∃𝑡 ∈ (𝑋𝐿𝑍)𝑡 ∈ (𝑎𝐼𝑏))}    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐺 ∈ TarskiGE)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ 𝑃)    &   (𝜑 → 𝑍 ∈ 𝑃)    &   (𝜑 → 𝑊 ∈ 𝑃)    &   (𝜑 → (𝑋𝐿𝑌) ∥ (𝑍𝐿𝑊))    &   (𝜑 → 𝑌𝑂𝑊)    &   (𝜑 → 𝑋 ≠ 𝑍)    ⇒   (𝜑 → ⟨“𝑌𝑋𝑍”⟩(cgrA‘𝐺)⟨“𝑊𝑍𝑋”⟩)
 
20-Jul-2026quadcgrprlng 29449 Nontrivial quadrilaterals with congruent and parallel opposite sides are parallelograms. Theorem 12.20 of [Schwabhauser] p. 126. (Contributed by Thierry Arnoux, 20-Jul-2026.)
𝑃 = (Base‘𝐺)    &    − = (dist‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &    ∥ = (parlnG‘𝐺)    &   𝑂 = {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ (𝑃 ∖ (𝑋𝐿𝑍)) ∧ 𝑏 ∈ (𝑃 ∖ (𝑋𝐿𝑍))) ∧ ∃𝑡 ∈ (𝑋𝐿𝑍)𝑡 ∈ (𝑎𝐼𝑏))}    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐺 ∈ TarskiGE)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ 𝑃)    &   (𝜑 → 𝑍 ∈ 𝑃)    &   (𝜑 → 𝑊 ∈ 𝑃)    &   (𝜑 → ¬ (𝑋 ∈ (𝑌𝐿𝑍) ∨ 𝑌 = 𝑍))    &   (𝜑 → (𝑋𝐿𝑌) ∥ (𝑍𝐿𝑊))    &   (𝜑 → (𝑋 − 𝑌) = (𝑍 − 𝑊))    &   (𝜑 → 𝑌𝑂𝑊)    ⇒   (𝜑 → ((𝑌𝐿𝑍) ∥ (𝑊𝐿𝑋) ∧ (𝑌 − 𝑍) = (𝑊 − 𝑋)))
 
20-Jul-2026prlngsymquadopp 29448 In parallelograms, opposing vertices are on opposite sides of the diagonal. Second part of Theorem 12.19 of [Schwabhauser] p. 126. (Contributed by Thierry Arnoux, 20-Jul-2026.)
𝑃 = (Base‘𝐺)    &    − = (dist‘𝐺)    &   𝐿 = (LineG‘𝐺)    &    ∥ = (parlnG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐺 ∈ TarskiGE)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ 𝑃)    &   (𝜑 → 𝑍 ∈ 𝑃)    &   (𝜑 → 𝑊 ∈ 𝑃)    &   (𝜑 → ¬ (𝑋 ∈ (𝑌𝐿𝑍) ∨ 𝑌 = 𝑍))    &   (𝜑 → (𝑋𝐿𝑌) ∥ (𝑍𝐿𝑊))    &   (𝜑 → (𝑌𝐿𝑍) ∥ (𝑊𝐿𝑋))    &   𝑂 = {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ (𝑃 ∖ (𝑋𝐿𝑍)) ∧ 𝑏 ∈ (𝑃 ∖ (𝑋𝐿𝑍))) ∧ ∃𝑡 ∈ (𝑋𝐿𝑍)𝑡 ∈ (𝑎𝐼𝑏))}    &   𝐼 = (Itv‘𝐺)    ⇒   (𝜑 → 𝑊𝑂𝑌)
 
20-Jul-2026prlngsymquad 29447 All parallelograms are symmetric quadrilaterals. First part of Theorem 12.19 of [Schwabhauser] p. 126. (Contributed by Thierry Arnoux, 20-Jul-2026.)
𝑃 = (Base‘𝐺)    &    − = (dist‘𝐺)    &   𝐿 = (LineG‘𝐺)    &    ∥ = (parlnG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐺 ∈ TarskiGE)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ 𝑃)    &   (𝜑 → 𝑍 ∈ 𝑃)    &   (𝜑 → 𝑊 ∈ 𝑃)    &   (𝜑 → ¬ (𝑋 ∈ (𝑌𝐿𝑍) ∨ 𝑌 = 𝑍))    &   (𝜑 → (𝑋𝐿𝑌) ∥ (𝑍𝐿𝑊))    &   (𝜑 → (𝑌𝐿𝑍) ∥ (𝑊𝐿𝑋))    ⇒   (𝜑 → ((𝑋 − 𝑌) = (𝑍 − 𝑊) ∧ (𝑌 − 𝑍) = (𝑊 − 𝑋)))
 
20-Jul-2026prlngsymquadlem 29446 Lemma for prlngsymquad 29447. (Contributed by Thierry Arnoux, 20-Jul-2026.)
𝑃 = (Base‘𝐺)    &    − = (dist‘𝐺)    &   𝐿 = (LineG‘𝐺)    &    ∥ = (parlnG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐺 ∈ TarskiGE)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ 𝑃)    &   (𝜑 → 𝑍 ∈ 𝑃)    &   (𝜑 → 𝑊 ∈ 𝑃)    &   (𝜑 → ¬ (𝑋 ∈ (𝑌𝐿𝑍) ∨ 𝑌 = 𝑍))    &   (𝜑 → (𝑋𝐿𝑌) ∥ (𝑍𝐿𝑊))    &   (𝜑 → (𝑌𝐿𝑍) ∥ (𝑊𝐿𝑋))    &   𝑇 = (((pInvG‘𝐺)‘(𝑋(midG‘𝐺)𝑍))‘𝑌)    ⇒   (𝜑 → 𝑇 = 𝑊)
 
20-Jul-2026symquadprlng 29445 Symmetrical quadrilaterals are parallelograms. Theorem 12.18 of [Schwabhauser] p. 126. (Contributed by Thierry Arnoux, 20-Jul-2026.)
𝑃 = (Base‘𝐺)    &    − = (dist‘𝐺)    &   𝐿 = (LineG‘𝐺)    &    ∥ = (parlnG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐺 ∈ TarskiGE)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ 𝑃)    &   (𝜑 → 𝑍 ∈ 𝑃)    &   (𝜑 → 𝑊 ∈ 𝑃)    &   (𝜑 → (𝑋 − 𝑌) = (𝑍 − 𝑊))    &   (𝜑 → (𝑌 − 𝑍) = (𝑊 − 𝑋))    &   (𝜑 → ¬ (𝑋 ∈ (𝑌𝐿𝑍) ∨ 𝑌 = 𝑍))    &   (𝜑 → 𝑌 ≠ 𝑊)    &   (𝜑 → 𝑇 ∈ (𝑋𝐿𝑍))    &   (𝜑 → 𝑇 ∈ (𝑌𝐿𝑊))    ⇒   (𝜑 → ((𝑋𝐿𝑌) ∥ (𝑍𝐿𝑊) ∧ (𝑌𝐿𝑍) ∥ (𝑊𝐿𝑋)))
 
20-Jul-2026prlngeq 29440 Playfair's axiom, written as an equality: if two different lines are parallel to a given line at a given point, they are equal. (Contributed by Thierry Arnoux, 20-Jul-2026.)
𝑃 = (Base‘𝐺)    &    ∥ = (parlnG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐺 ∈ TarskiGE)    &   (𝜑 → 𝐴 ∥ 𝐵)    &   (𝜑 → 𝐴 ∥ 𝐶)    &   (𝜑 → 𝑋 ∈ 𝐵)    &   (𝜑 → 𝑋 ∈ 𝐶)    ⇒   (𝜑 → 𝐵 = 𝐶)
 
20-Jul-2026df-angmgm 29379 Definition of the angle addition magma. See following theorems for better readable properties. Because the textbook's definition of angle congruence does not consider orientation (cf. cgraswap 29332) , our notion of angle does not include reflex angles (angles larger than a straight angle). Therefore, like with ℕ0, at this point, we can only build a magma , which is e.g. not isomorphic with the rotation group SO(2) . (Contributed by Thierry Arnoux, 20-Jul-2026.)
AngMgm = (𝑔 ∈ V ↦ ⦋(Base‘𝑔) / 𝑝⦌⦋{𝑑 ∈ (𝑝 ↑m (0..^3)) ∣ ((𝑑‘0) ≠ (𝑑‘1) ∧ (𝑑‘1) ≠ (𝑑‘2))} / 𝑎⦌({⟨(Base‘ndx), 𝑎⟩, ⟨(+g‘ndx), (𝑒 ∈ 𝑎, 𝑓 ∈ 𝑎 ↦ if((𝑒‘0) ∈ ((𝑒‘1)(LineG‘𝑔)(𝑒‘2)), ⟨“(𝑓‘0)(𝑓‘1)(℩𝑧 ∈ 𝑝 (⟨“(𝑓‘2)(𝑓‘1)𝑧”⟩(cgrA‘𝑔)𝑒 ∧ ((𝑓‘1)(dist‘𝑔)𝑧) = ((𝑒‘1)(dist‘𝑔)(𝑒‘0))))”⟩, ⟨“(𝑒‘0)(𝑒‘1)(℩𝑧 ∈ 𝑝 (⟨“(𝑒‘2)(𝑒‘1)𝑧”⟩(cgrA‘𝑔)𝑓 ∧ ((𝑒‘1)(dist‘𝑔)𝑧) = ((𝑓‘1)(dist‘𝑔)(𝑓‘0)) ∧ (((𝑒‘1)(LineG‘𝑔)(𝑒‘2)) ∩ (𝑧(Itv‘𝑔)(𝑒‘0))) ≠ ∅))”⟩))⟩, ⟨(le‘ndx), (≤∠‘𝑔)⟩} /s (cgrA‘𝑔)))
 
20-Jul-2026symquadmid 29309 In a symmetrical quadrilateral, the midpoints of the diagonals coincide. Corollary of Lemma 7.21 of [Schwabhauser] p. 52. (Contributed by Thierry Arnoux, 20-Jul-2026.)
𝑃 = (Base‘𝐺)    &    − = (dist‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝑀 = (midG‘𝐺)    &   𝑂 = {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ (𝑃 ∖ (𝑋𝐿𝑍)) ∧ 𝑏 ∈ (𝑃 ∖ (𝑋𝐿𝑍))) ∧ ∃𝑡 ∈ (𝑋𝐿𝑍)𝑡 ∈ (𝑎𝐼𝑏))}    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ 𝑃)    &   (𝜑 → 𝑍 ∈ 𝑃)    &   (𝜑 → 𝑊 ∈ 𝑃)    &   (𝜑 → ¬ (𝑋 ∈ (𝑌𝐿𝑍) ∨ 𝑌 = 𝑍))    &   (𝜑 → 𝑌 ≠ 𝑊)    &   (𝜑 → (𝑋 − 𝑌) = (𝑍 − 𝑊))    &   (𝜑 → (𝑌 − 𝑍) = (𝑊 − 𝑋))    &   (𝜑 → 𝑌𝑂𝑊)    ⇒   (𝜑 → (𝑋𝑀𝑍) = (𝑌𝑀𝑊))
 
20-Jul-2026hlopp 29255 If two points 𝑋 and 𝑌 lie on opposite sides of a line 𝐴, then given a point 𝑍 on 𝐴, any point 𝑊 on the line (𝑋𝐿𝑍) opposite to 𝑌 lies on the half line (𝑍𝑋) (Contributed by Thierry Arnoux, 20-Jul-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝑂 = {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ (𝑃 ∖ 𝐴) ∧ 𝑏 ∈ (𝑃 ∖ 𝐴)) ∧ ∃𝑡 ∈ 𝐴 𝑡 ∈ (𝑎𝐼𝑏))}    &   𝐾 = (hlG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ ran 𝐿)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ 𝑃)    &   (𝜑 → 𝑋𝑂𝑌)    &   (𝜑 → 𝑍 ∈ 𝐴)    &   (𝜑 → 𝑊𝑂𝑌)    &   (𝜑 → 𝑊 ∈ (𝑋𝐿𝑍))    ⇒   (𝜑 → 𝑊(𝐾‘𝑍)𝑋)
 
20-Jul-2026symquadprlnglem 29170 Lemma for symquadprlnglem 29170. (Contributed by Thierry Arnoux, 20-Jul-2026.)
𝑃 = (Base‘𝐺)    &    − = (dist‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ 𝑃)    &   (𝜑 → 𝑍 ∈ 𝑃)    &   (𝜑 → 𝑊 ∈ 𝑃)    &   (𝜑 → (𝑋 − 𝑌) = (𝑍 − 𝑊))    &   (𝜑 → (𝑌 − 𝑍) = (𝑊 − 𝑋))    &   (𝜑 → ¬ (𝑋 ∈ (𝑌𝐿𝑍) ∨ 𝑌 = 𝑍))    &   (𝜑 → 𝑌 ≠ 𝑊)    &   (𝜑 → 𝑇 ∈ (𝑋𝐿𝑍))    &   (𝜑 → 𝑇 ∈ (𝑌𝐿𝑊))    ⇒   (𝜑 → ¬ (𝑊 ∈ (𝑍𝐿𝑌) ∨ 𝑍 = 𝑌))
 
20-Jul-2026crng4 20493 Commutative/associative law for commutative rings. See also mul4d 11525. (Contributed by Jeff Madsen, 19-Jun-2010.) (Revised by AV, 20-Jul-2026.)
𝐵 = (Base‘𝑅)    &    · = (.r‘𝑅)    &   (𝜑 → 𝑅 ∈ CRing)    &   (𝜑 → 𝑋 ∈ 𝐵)    &   (𝜑 → 𝑌 ∈ 𝐵)    &   (𝜑 → 𝑍 ∈ 𝐵)    &   (𝜑 → 𝑈 ∈ 𝐵)    ⇒   (𝜑 → ((𝑋 · 𝑌) · (𝑍 · 𝑈)) = ((𝑋 · 𝑍) · (𝑌 · 𝑈)))
 
19-Jul-2026crngrhmfo 20731 The image of a surjective homomorphism from a commutative ring is commutative. (Contributed by Jeff Madsen, 4-Jan-2011.) (Revised by AV, 19-Jul-2026.)
𝐵 = (Base‘𝑆)    ⇒   ((𝑅 ∈ CRing ∧ 𝐹 ∈ (𝑅 RingHom 𝑆) ∧ 𝐹:dom 𝐹–onto→𝐵) → 𝑆 ∈ CRing)
 
19-Jul-2026karden 9962 If we allow the Axiom of Regularity, we can avoid the Axiom of Choice by defining the cardinal number of a set as the set of all sets equinumerous to it and having the least possible rank. This theorem proves the equinumerosity relationship for this definition (compare carden 10638). The hypotheses correspond to the definition of kard of [Enderton] p. 222 (which we don't define separately since currently we do not use it elsewhere). This theorem along with kardex 9960 justify the definition of kard. The restriction to the least rank prevents the proper class that would result from {𝑥 ∣ 𝑥 ≈ 𝐴}. (Contributed by NM, 18-Dec-2003.) (Revised by AV, 12-Jul-2022.) Use the Scott operation. (Revised by BTernaryTau, 19-Jul-2026.)
𝐴 ∈ V    &   𝐶 = Scott {𝑥 ∣ 𝑥 ≈ 𝐴}    &   𝐷 = Scott {𝑥 ∣ 𝑥 ≈ 𝐵}    ⇒   (𝐶 = 𝐷 ↔ 𝐴 ≈ 𝐵)
 
19-Jul-2026kardex 9960 The collection of all sets equinumerous to a set 𝐴 and having the least possible rank is a set. This is the part of the justification of the definition of kard of [Enderton] p. 222. (Contributed by NM, 14-Dec-2003.) Use the Scott operation. (Revised by BTernaryTau, 19-Jul-2026.)
Scott {𝑥 ∣ 𝑥 ≈ 𝐴} ∈ V
 
19-Jul-2026cplem2 9955 Lemma for the Collection Principle cp 9957. (Contributed by NM, 17-Oct-2003.) Use the Scott operation. (Revised by BTernaryTau, 19-Jul-2026.)
𝐴 ∈ V    ⇒   ∃𝑦∀𝑥 ∈ 𝐴 (𝐵 ≠ ∅ → (𝐵 ∩ 𝑦) ≠ ∅)
 
19-Jul-2026cplem1 9953 Lemma for the Collection Principle cp 9957. (Contributed by NM, 17-Oct-2003.) Use the Scott operation. (Revised by BTernaryTau, 19-Jul-2026.)
𝐶 = ∪ 𝑥 ∈ 𝐴 Scott 𝐵    ⇒   ∀𝑥 ∈ 𝐴 (𝐵 ≠ ∅ → (𝐵 ∩ 𝐶) ≠ ∅)
 
19-Jul-2026scott0b 9940 Applying Scott's trick yields the empty set iff it was applied to the empty set. (Contributed by NM, 15-Oct-2003.) Use the Scott operation. (Revised by BTernaryTau, 19-Jul-2026.)
(𝐴 = ∅ ↔ Scott 𝐴 = ∅)
 
19-Jul-2026disjdifg 4424 A class does not intersect a relative complement of a superclass. (Contributed by NM, 24-Mar-1998.) Generalize from disjdif 4425. (Revised by BJ, 19-Jul-2026.)
(𝐴 ⊆ 𝐵 → (𝐴 ∩ (𝐶 ∖ 𝐵)) = ∅)
 
19-Jul-2026sseq0b 4352 The only subclass of the empty class is itself. (Contributed by NM, 7-Mar-2007.) Strengthen sseq0 4353 to a biconditional. (Revised by BJ, 19-Jul-2026.)
(𝐴 = ∅ → (𝐵 ⊆ 𝐴 ↔ 𝐵 = ∅))
 
18-Jul-2026scottex 9936 Scott's trick produces a set. (Contributed by NM, 13-Oct-2003.) Use the Scott operation. (Revised by BTernaryTau, 18-Jul-2026.)
Scott 𝐴 ∈ V
 
18-Jul-2026sepab 5293 Separation Scheme (Aussonderung) in terms of a class abstraction. Prefer using the more natural statement rabexg 5298. (Contributed by NM, 8-Jun-1994.) Put in closed form. (Revised by BJ, 18-Jul-2026.)
(𝐴 ∈ 𝑉 → {𝑥 ∣ (𝑥 ∈ 𝐴 ∧ 𝜑)} ∈ V)
 
18-Jul-2026ssex 5281 A subclass of a set is a set. Exercise 3 of [TakeutiZaring] p. 22. This is one way to express the Axiom of Separation ax-sep 5248 (a.k.a. Subset Axiom). (Contributed by NM, 27-Apr-1994.) (Proof shortened by BJ, 18-Jul-2026.)
𝐵 ∈ V    ⇒   (𝐴 ⊆ 𝐵 → 𝐴 ∈ V)
 
18-Jul-2026ssexg 5280 A subclass of a set is a set. Exercise 3 of [TakeutiZaring] p. 22 (generalized). (Contributed by NM, 14-Aug-1994.) (Proof shortened by BJ, 18-Jul-2026.)
((𝐴 ⊆ 𝐵 ∧ 𝐵 ∈ 𝐶) → 𝐴 ∈ V)
 
18-Jul-2026inssdif0 4321 Intersection, subclass, and difference relationship. (Contributed by NM, 27-Oct-1996.) (Proof shortened by Andrew Salmon, 26-Jun-2011.) (Proof shortened by Wolf Lammen, 30-Sep-2014.) (Proof shortened by BJ, 18-Jul-2026.)
((𝐴 ∩ 𝐵) ⊆ 𝐶 ↔ (𝐴 ∩ (𝐵 ∖ 𝐶)) = ∅)
 
16-Jul-2026nmulle 37058 A condition for bounding a natural product above. Converse of ltnmul 37057. (Contributed by Scott Fenton, 16-Jul-2026.)
((𝐴 ∈ On ∧ 𝐵 ∈ On ∧ 𝐶 ∈ On) → ((𝐴 ·no 𝐵) ⊆ 𝐶 ↔ ∀𝑎 ∈ 𝐴 ∀𝑏 ∈ 𝐵 ((𝑎 ·no 𝐵) +no (𝐴 ·no 𝑏)) ∈ (𝐶 +no (𝑎 ·no 𝑏))))
 
15-Jul-20262alsraln0id 51082 Nested general "all some" quantifiers with class membership as their antecedents, for the same class 𝐴: 𝜑 holds for every 𝑥 and every 𝑦 in 𝐴, and 𝐴 is not empty. (Contributed by Peter Mazsa, 28-May-2019.) (Revised by David A. Wheeler, 15-Jul-2026.)
(∀∃𝑥(𝑥 ∈ 𝐴 → ∀∃𝑦(𝑦 ∈ 𝐴 → 𝜑)) ↔ (∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐴 𝜑 ∧ 𝐴 ≠ ∅))
 
15-Jul-20262alsraln0 51081 Nested general "all some" quantifiers with class membership as their antecedents: 𝜑 holds for every 𝑥 in 𝐴 and every 𝑦 in 𝐵, and both 𝐴 and 𝐵 are not empty. (Contributed by Peter Mazsa, 28-May-2019.) (Revised by David A. Wheeler, 15-Jul-2026.)
(∀∃𝑥(𝑥 ∈ 𝐴 → ∀∃𝑦(𝑦 ∈ 𝐵 → 𝜑)) ↔ (∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐵 𝜑 ∧ (𝐴 ≠ ∅ ∧ 𝐵 ≠ ∅)))
 
15-Jul-2026n0als 51080 If 𝐴 is not empty, then the general "all some" quantifier with class membership as its antecedent reduces to the assertion that 𝜑 holds for every 𝑥 in 𝐴. (Contributed by Peter Mazsa, 19-Dec-2018.) (Revised by David A. Wheeler, 15-Jul-2026.)
(𝐴 ≠ ∅ → (∀∃𝑥(𝑥 ∈ 𝐴 → 𝜑) ↔ ∀𝑥 ∈ 𝐴 𝜑))
 
15-Jul-2026rexals 51079 If some 𝑥 in 𝐴 satisfies 𝜑, then the general "all some" quantifier with class membership as its antecedent reduces to the assertion that 𝜑 holds for every 𝑥 in 𝐴. See rexrals 51073 for the restricted counterpart. (Contributed by Peter Mazsa, 19-Dec-2018.) (Revised by David A. Wheeler, 15-Jul-2026.)
(∃𝑥 ∈ 𝐴 𝜑 → (∀∃𝑥(𝑥 ∈ 𝐴 → 𝜑) ↔ ∀𝑥 ∈ 𝐴 𝜑))
 
15-Jul-2026ralals 51078 If 𝜑 holds for every 𝑥 in 𝐴, then the general "all some" quantifier with class membership as its antecedent reduces to the assertion that some 𝑥 in 𝐴 satisfies 𝜑. See ralrals 51072 for the restricted counterpart. (Contributed by Peter Mazsa, 19-Dec-2018.) (Revised by David A. Wheeler, 15-Jul-2026.)
(∀𝑥 ∈ 𝐴 𝜑 → (∀∃𝑥(𝑥 ∈ 𝐴 → 𝜑) ↔ ∃𝑥 ∈ 𝐴 𝜑))
 
15-Jul-2026alsraln0 51077 The general "all some" quantifier with class membership as its antecedent holds if and only if 𝜑 holds for every 𝑥 in 𝐴 and 𝐴 is not empty. (Contributed by Peter Mazsa, 28-Nov-2018.) (Revised by David A. Wheeler, 15-Jul-2026.)
(∀∃𝑥(𝑥 ∈ 𝐴 → 𝜑) ↔ (∀𝑥 ∈ 𝐴 𝜑 ∧ 𝐴 ≠ ∅))
 
15-Jul-2026alsralrex 51076 The general "all some" quantifier with class membership as its antecedent holds if and only if 𝜑 holds for every 𝑥 in 𝐴 and some 𝑥 in 𝐴 satisfies 𝜑. (Contributed by Peter Mazsa, 27-Nov-2018.) (Revised by David A. Wheeler, 15-Jul-2026.)
(∀∃𝑥(𝑥 ∈ 𝐴 → 𝜑) ↔ (∀𝑥 ∈ 𝐴 𝜑 ∧ ∃𝑥 ∈ 𝐴 𝜑))
 
15-Jul-2026ltnmul 37057 Characterize less-than a natural product. (Contributed by Scott Fenton, 15-Jul-2026.)
((𝐴 ∈ On ∧ 𝐵 ∈ On ∧ 𝐶 ∈ On) → (𝐴 ∈ (𝐵 ·no 𝐶) ↔ ∃𝑏 ∈ 𝐵 ∃𝑐 ∈ 𝐶 (𝐴 +no (𝑏 ·no 𝑐)) ⊆ ((𝑏 ·no 𝐶) +no (𝐵 ·no 𝑐))))
 
15-Jul-2026nmulel1 37056 Natural multiplication by a non-zero number preserves less-than. (Contributed by Scott Fenton, 15-Jul-2026.)
(((𝐵 ∈ On ∧ 𝐶 ∈ On) ∧ (𝐴 ∈ 𝐵 ∧ 𝐶 ≠ ∅)) → (𝐶 ·no 𝐴) ∈ (𝐶 ·no 𝐵))
 
15-Jul-2026nmulss1 37055 Natural multiplication preserves less-than or equal. (Contributed by Scott Fenton, 15-Jul-2026.)
(((𝐴 ∈ On ∧ 𝐵 ∈ On ∧ 𝐶 ∈ On) ∧ 𝐴 ⊆ 𝐵) → (𝐶 ·no 𝐴) ⊆ (𝐶 ·no 𝐵))
 
15-Jul-2026nmuladdss 37054 Ordering relationship for natural ordinal operations. (Contributed by Scott Fenton, 15-Jul-2026.)
(((𝐴 ∈ On ∧ 𝐵 ∈ On) ∧ (𝐶 ∈ On ∧ 𝐷 ∈ On) ∧ (𝐶 ⊆ 𝐴 ∧ 𝐷 ⊆ 𝐵)) → ((𝐶 ·no 𝐵) +no (𝐴 ·no 𝐷)) ⊆ ((𝐴 ·no 𝐵) +no (𝐶 ·no 𝐷)))
 
15-Jul-2026nmuladdel 37053 Ordering relationship for natural ordinal operations. (Contributed by Scott Fenton, 15-Jul-2026.)
(((𝐴 ∈ On ∧ 𝐵 ∈ On) ∧ (𝐶 ∈ 𝐴 ∧ 𝐷 ∈ 𝐵)) → ((𝐶 ·no 𝐵) +no (𝐴 ·no 𝐷)) ∈ ((𝐴 ·no 𝐵) +no (𝐶 ·no 𝐷)))
 
15-Jul-2026infinfnum 35813 Equivalence between two infiniteness criteria for numerable sets. (Contributed by BTernaryTau, 15-Jul-2026.)
(𝐴 ∈ dom card → (¬ 𝐴 ∈ Fin ↔ ω ≼ 𝐴))
 
14-Jul-2026bj-inex1gALT 37929 Proof of inex1g 5278 from sepg 5250 to then allow proving inex1 5276 from it. That does not reduce the combined proof size of inex1 5276 and inex1g 5278. (Contributed by BJ, 14-Jul-2026.) (Proof modification is discouraged.) (New usage is discouraged.)
(𝐴 ∈ 𝑉 → (𝐴 ∩ 𝐵) ∈ V)
 
14-Jul-2026soinfdom 35768 A strict order relation on an infinite set dominates that set. (Contributed by BTernaryTau, 14-Jul-2026.)
((𝑅 Or 𝐴 ∧ 𝑅 ∈ 𝑉 ∧ ω ≼ 𝐴) → 𝐴 ≼ 𝑅)
 
14-Jul-2026jaeqifi 35758 Inference combining four equality antecedents into one equality of conditional operators antecedent. (Contributed by BTernaryTau, 14-Jul-2026.)
(𝐴 = 𝐶 → 𝜑)    &   (𝐴 = 𝐷 → 𝜑)    &   (𝐵 = 𝐶 → 𝜑)    &   (𝐵 = 𝐷 → 𝜑)    ⇒   (if(𝜓, 𝐴, 𝐵) = if(𝜒, 𝐶, 𝐷) → 𝜑)
 
14-Jul-2026uniex2 7754 The Axiom of Union using the standard abbreviation for union. Given any set 𝑥, its union 𝑦 exists. (Contributed by NM, 4-Jun-2006.) (Proof shortened by BJ, 14-Jul-2026.)
∃𝑦 𝑦 = ∪ 𝑥
 
14-Jul-2026sepgi 5251 Inference associated with sepg 5250. The requirement that 𝑦 not occur in 𝜑 is necessary, as notsep 5324 shows. (Contributed by NM, 21-Jun-1993.) (Revised by BJ, 14-Jul-2026.)
𝐴 ∈ V    ⇒   ∃𝑦∀𝑥(𝑥 ∈ 𝑦 ↔ (𝑥 ∈ 𝐴 ∧ 𝜑))
 
13-Jul-2026idomcanr 49538 Cancellation law for domains. (Contributed by Jeff Madsen, 6-Jan-2011.) (Revised by AV, 13-Jul-2026.)
𝐵 = (Base‘𝑅)    &    · = (.r‘𝑅)    &    0 = (0g‘𝑅)    ⇒   (((𝑅 ∈ IDomn ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵 ∧ 𝑍 ∈ 𝐵)) ∧ 𝑍 ≠ 0 ) → ((𝑋 · 𝑍) = (𝑌 · 𝑍) → 𝑋 = 𝑌))
 
13-Jul-2026idomcanl 49537 Cancellation law for domains. (Contributed by Jeff Madsen, 6-Jan-2011.) (Revised by AV, 13-Jul-2026.)
𝐵 = (Base‘𝑅)    &    · = (.r‘𝑅)    &    0 = (0g‘𝑅)    ⇒   (((𝑅 ∈ IDomn ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵 ∧ 𝑍 ∈ 𝐵)) ∧ 𝑋 ≠ 0 ) → ((𝑋 · 𝑌) = (𝑋 · 𝑍) → 𝑌 = 𝑍))
 
13-Jul-2026prlngmid2 29444 If the midpoints of two segments (𝑋𝐼𝑍) and (𝑌𝐼𝑊) coincide, the points 𝑋, 𝑌, 𝑍 and 𝑊 form a parallelogram, i.e. the lines (𝑋𝐿𝑌) and (𝑍𝐿𝑊) are parallel. Theorem 12.17 of [Schwabhauser] p. 125. (Contributed by Thierry Arnoux, 13-Jul-2026.)
𝑃 = (Base‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &    ∥ = (parlnG‘𝐺)    &   𝑀 = (midG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐺 ∈ TarskiGE)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ 𝑃)    &   (𝜑 → 𝑍 ∈ (𝑃 ∖ (𝑋𝐿𝑌)))    &   (𝜑 → 𝑊 ∈ 𝑃)    &   (𝜑 → (𝑋𝑀𝑍) = (𝑌𝑀𝑊))    &   (𝜑 → 𝑋 ≠ 𝑌)    ⇒   (𝜑 → (𝑋𝐿𝑌) ∥ (𝑍𝐿𝑊))
 
13-Jul-2026prlnginn0 29443 A line 𝐶 intersecting another line 𝐴 also intersects any line 𝐵 parallel to 𝐴. Theorem 12.16 of [Schwabhauser] p. 125. (Contributed by Thierry Arnoux, 13-Jul-2026.)
𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &    ∥ = (parlnG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐺 ∈ TarskiGE)    &   (𝜑 → 𝐻 ∈ ran 𝐸)    &   (𝜑 → 𝐶 ∈ ran 𝐿)    &   (𝜑 → (𝐴 ∩ 𝐶) ≠ ∅)    &   (𝜑 → 𝐴 ≠ 𝐶)    &   (𝜑 → 𝐴 ∥ 𝐵)    &   (𝜑 → 𝐴 ⊆ 𝐻)    &   (𝜑 → 𝐵 ⊆ 𝐻)    &   (𝜑 → 𝐶 ⊆ 𝐻)    ⇒   (𝜑 → (𝐵 ∩ 𝐶) ≠ ∅)
 
13-Jul-2026prlngplngtr 29442 Transitivity of parallelism, for lines in the same plane 𝐻. This is case 1 of Theorem 12.15 of [Schwabhauser] p. 124. (Contributed by Thierry Arnoux, 13-Jul-2026.)
𝐸 = (hlG‘𝐺)    &    ∥ = (parlnG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐻 ∈ ran 𝐸)    &   (𝜑 → 𝐴 ⊆ 𝐻)    &   (𝜑 → 𝐴 ∥ 𝐵)    &   (𝜑 → 𝐺 ∈ TarskiGE)    &   (𝜑 → 𝐶 ⊆ 𝐻)    &   (𝜑 → 𝐵 ∥ 𝐶)    ⇒   (𝜑 → 𝐴 ∥ 𝐶)
 
13-Jul-2026prlngpln4 29441 Building a parallel line conserves planes, i.e. given a line 𝐴 and a point 𝑋 not on 𝐴, the (unique) parallel 𝐵 to 𝐴 through 𝑋 lies completely within the plane defined by 𝐴 and 𝑋. Theorem 12.14 of [Schwabhauser] p. 124. (Contributed by Thierry Arnoux, 13-Jul-2026.)
𝐸 = (hlG‘𝐺)    &    ∥ = (parlnG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐻 ∈ ran 𝐸)    &   (𝜑 → 𝐴 ⊆ 𝐻)    &   (𝜑 → 𝐴 ∥ 𝐵)    &   (𝜑 → 𝑋 ∈ 𝐻)    &   (𝜑 → 𝑋 ∈ 𝐵)    ⇒   (𝜑 → 𝐵 ⊆ 𝐻)
 
13-Jul-2026prlngmo2 29439 Playfair's axiom, without the restriction that the point 𝑋 is outside of the line 𝐴. Theorem 12.11 of [Schwabhauser] p. 123. (Contributed by Thierry Arnoux, 13-Jul-2026.)
𝑃 = (Base‘𝐺)    &   𝐿 = (LineG‘𝐺)    &    ∥ = (parlnG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ ran 𝐿)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝐺 ∈ TarskiGE)    ⇒   (𝜑 → ∃*𝑏 ∈ ran 𝐿(𝐴 ∥ 𝑏 ∧ 𝑋 ∈ 𝑏))
 
13-Jul-2026dfprlng3 29431 Alternate definition of (strict) parallelism. Theorem 12.7 of [Schwabhauser] p. 122. (Contributed by Thierry Arnoux, 13-Jul-2026.)
𝑃 = (Base‘𝐺)    &   𝐿 = (LineG‘𝐺)    &    ∥ = (parlnG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ (𝑃 ∖ {𝑋}))    &   (𝜑 → 𝐴 ∈ ran 𝐿)    &   (𝜑 → 𝐴 ≠ (𝑋𝐿𝑌))    ⇒   (𝜑 → (𝐴 ∥ (𝑋𝐿𝑌) ↔ (𝑋((hpG‘𝐺)‘𝐴)𝑌 ∧ (𝐴 ∩ (𝑋𝐿𝑌)) = ∅)))
 
13-Jul-2026dfprlng2 29430 Alternate definition of (strict) parallelism. Theorem 12.7 of [Schwabhauser] p. 122. (Contributed by Thierry Arnoux, 13-Jul-2026.)
𝑃 = (Base‘𝐺)    &   𝐿 = (LineG‘𝐺)    &    ∥ = (parlnG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ (𝑃 ∖ {𝑋}))    &   (𝜑 → 𝑍 ∈ 𝑃)    &   (𝜑 → 𝑊 ∈ (𝑃 ∖ {𝑍}))    &   (𝜑 → (𝑋𝐿𝑌) ≠ (𝑍𝐿𝑊))    ⇒   (𝜑 → ((𝑋𝐿𝑌) ∥ (𝑍𝐿𝑊) ↔ (𝑍((hpG‘𝐺)‘(𝑋𝐿𝑌))𝑊 ∧ ((𝑋𝐿𝑌) ∩ (𝑍𝐿𝑊)) = ∅)))
 
13-Jul-2026ragsupplcgra 29350 An angle ⟨“𝑋𝑌𝑍”⟩ is a right angle exactly when it is congruent to its supplementary angle ⟨“𝑋𝑌𝑊”⟩. Theorem 11.18 of [Schwabhauser] p. 98. (Contributed by Thierry Arnoux, 13-Jul-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝑋 ∈ (𝑃 ∖ {𝑌}))    &   (𝜑 → 𝑌 ∈ 𝑃)    &   (𝜑 → 𝑍 ∈ (𝑃 ∖ {𝑌}))    &   (𝜑 → 𝑊 ∈ (𝑃 ∖ {𝑌}))    &   (𝜑 → 𝑌 ∈ (𝑍𝐼𝑊))    ⇒   (𝜑 → (⟨“𝑋𝑌𝑍”⟩ ∈ (∟G‘𝐺) ↔ ⟨“𝑋𝑌𝑍”⟩(cgrA‘𝐺)⟨“𝑋𝑌𝑊”⟩))
 
13-Jul-2026cgrarag 29349 Any angle ⟨“𝐴𝐵𝐶”⟩ congruent with a right angle ⟨“𝑋𝑌𝑍”⟩ is a right angle. Theorem 11.17 of [Schwabhauser] p. 98. (Contributed by Thierry Arnoux, 13-Jul-2026.)
𝑃 = (Base‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ 𝑃)    &   (𝜑 → 𝑍 ∈ 𝑃)    &   (𝜑 → 𝐴 ∈ 𝑃)    &   (𝜑 → 𝐵 ∈ 𝑃)    &   (𝜑 → 𝐶 ∈ 𝑃)    &   (𝜑 → ⟨“𝑋𝑌𝑍”⟩ ∈ (∟G‘𝐺))    &   (𝜑 → ⟨“𝑋𝑌𝑍”⟩(cgrA‘𝐺)⟨“𝐴𝐵𝐶”⟩)    ⇒   (𝜑 → ⟨“𝐴𝐵𝐶”⟩ ∈ (∟G‘𝐺))
 
13-Jul-2026mirlni 29172 The mirror of a point 𝑋 on a line (𝑌𝐿𝑍) is on the mirrored line ((𝑀‘𝑌)𝐿(𝑀‘𝑍)). (Contributed by Thierry Arnoux, 13-Jul-2026.)
𝑃 = (Base‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝑆 = (pInvG‘𝐺)    &   𝑀 = (𝑆‘𝐴)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ 𝑃)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ 𝑃)    &   (𝜑 → 𝑍 ∈ 𝑃)    &   (𝜑 → 𝑍 ≠ 𝑌)    &   (𝜑 → 𝑋 ∈ (𝑌𝐿𝑍))    ⇒   (𝜑 → (𝑀‘𝑋) ∈ ((𝑀‘𝑌)𝐿(𝑀‘𝑍)))
 
13-Jul-2026mirleqb 29171 Equality theorem for point mirroring. (Contributed by Thierry Arnoux, 13-Jul-2026.)
𝑃 = (Base‘𝐺)    &   𝑆 = (pInvG‘𝐺)    &   𝑀 = (𝑆‘𝐴)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ 𝑃)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ 𝑃)    ⇒   (𝜑 → (𝑋 = 𝑌 ↔ (𝑀‘𝑋) = (𝑀‘𝑌)))
 
13-Jul-2026hlgrcl2 29072 Reverse closure for rays. (Contributed by Thierry Arnoux, 13-Jul-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐾 = (hlG‘𝐺)    &   (𝜑 → 𝐺 ∈ 𝑉)    &   (𝜑 → 𝐶 ∈ 𝑃)    &   (𝜑 → 𝐴(𝐾‘𝐶)𝐵)    ⇒   (𝜑 → 𝐵 ∈ 𝑃)
 
13-Jul-2026hlgrcl1 29071 Reverse closure for rays. (Contributed by Thierry Arnoux, 13-Jul-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐾 = (hlG‘𝐺)    &   (𝜑 → 𝐺 ∈ 𝑉)    &   (𝜑 → 𝐶 ∈ 𝑃)    &   (𝜑 → 𝐴(𝐾‘𝐶)𝐵)    ⇒   (𝜑 → 𝐴 ∈ 𝑃)
 
13-Jul-2026ishlg2 29070 Alternate version of ishlg 29073, including closure. (Contributed by Thierry Arnoux, 13-Jul-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐾 = (hlG‘𝐺)    &   (𝜑 → 𝐺 ∈ 𝑉)    &   (𝜑 → 𝐶 ∈ 𝑃)    ⇒   (𝜑 → (𝐴(𝐾‘𝐶)𝐵 ↔ ((𝐴 ∈ 𝑃 ∧ 𝐵 ∈ 𝑃) ∧ (𝐴 ≠ 𝐶 ∧ 𝐵 ≠ 𝐶 ∧ (𝐴 ∈ (𝐶𝐼𝐵) ∨ 𝐵 ∈ (𝐶𝐼𝐴))))))
 
13-Jul-2026eldifsnbd 4745 Membership in a set with an element removed implies non-equality with that element. (Contributed by Thierry Arnoux, 13-Jul-2026.)
(𝜑 → 𝐴 ∈ (𝐵 ∖ {𝐶}))    ⇒   (𝜑 → 𝐴 ≠ 𝐶)
 
13-Jul-2026nrmod 3838 Deduce the negation of a restricted "at most one" quantifier. (Contributed by Thierry Arnoux, 13-Jul-2026.)
(𝑥 = 𝑋 → (𝜓 ↔ 𝜒))    &   (𝑥 = 𝑌 → (𝜓 ↔ 𝜃))    &   (𝜑 → 𝑋 ∈ 𝐴)    &   (𝜑 → 𝑌 ∈ 𝐴)    &   (𝜑 → 𝜒)    &   (𝜑 → 𝜃)    &   (𝜑 → 𝑋 ≠ 𝑌)    ⇒   (𝜑 → ¬ ∃*𝑥 ∈ 𝐴 𝜓)
 
13-Jul-20263orim123da 1473 Disjoin antecedents and consequents of three premises. (Contributed by Thierry Arnoux, 13-Jul-2026.)
(𝜑 → (𝜓 ∨ 𝜃 ∨ 𝜂))    &   ((𝜑 ∧ 𝜓) → 𝜒)    &   ((𝜑 ∧ 𝜃) → 𝜏)    &   ((𝜑 ∧ 𝜂) → 𝜁)    ⇒   (𝜑 → (𝜒 ∨ 𝜏 ∨ 𝜁))
 
12-Jul-2026rals-no-surprise 51071 Demonstrate that there is never a "surprise" when using the allsome quantifier restricted to a class, that is, it is never possible for the consequent to be both always true and always false of the members of 𝐴 that satisfy the antecedent. This is the restricted counterpart of als-no-surprise 51070, and follows from it by dfrals2 51054. Note that this needs no assumption that 𝐴 is nonempty, because allsome requires a member of 𝐴 satisfying 𝜑, and that member would have to satisfy both 𝜓 and ¬ 𝜓. The ordinary restricted "for all" requires no such member and can be vacuously true, as shown in empty-surprise2 51047; that is the point of allsome. (Contributed by David A. Wheeler, 12-Jul-2026.)
¬ (∀∃𝑥 ∈ 𝐴(𝜑 → 𝜓) ∧ ∀∃𝑥 ∈ 𝐴(𝜑 → ¬ 𝜓))
 
12-Jul-2026cbvals 51069 Rule used to change bound variables, using implicit substitution. (Contributed by David A. Wheeler, 12-Jul-2026.)
(𝑥 = 𝑦 → (𝜑 ↔ 𝜒))    &   (𝑥 = 𝑦 → (𝜓 ↔ 𝜃))    ⇒   (∀∃𝑥(𝜑 → 𝜓) ↔ ∀∃𝑦(𝜒 → 𝜃))
 
12-Jul-2026nfrals 51068 Bound-variable hypothesis builder for "all some" restricted to a class. (Contributed by David A. Wheeler, 12-Jul-2026.)
Ⅎ𝑥𝐴    &   Ⅎ𝑥𝜑    &   Ⅎ𝑥𝜓    ⇒   Ⅎ𝑥∀∃𝑦 ∈ 𝐴(𝜑 → 𝜓)
 
12-Jul-2026nfals 51067 Bound-variable hypothesis builder for "all some". (Contributed by David A. Wheeler, 12-Jul-2026.)
Ⅎ𝑥𝜑    &   Ⅎ𝑥𝜓    ⇒   Ⅎ𝑥∀∃𝑦(𝜑 → 𝜓)
 
12-Jul-2026alsbid 51066 Deduction form of alsbii 51064. (Contributed by David A. Wheeler, 12-Jul-2026.)
Ⅎ𝑥𝜑    &   (𝜑 → (𝜓 ↔ 𝜃))    &   (𝜑 → (𝜒 ↔ 𝜏))    ⇒   (𝜑 → (∀∃𝑥(𝜓 → 𝜒) ↔ ∀∃𝑥(𝜃 → 𝜏)))
 
12-Jul-2026ralsbii 51065 Congruence for "all some" restricted to a class. (Contributed by David A. Wheeler, 12-Jul-2026.)
(𝜑 ↔ 𝜒)    &   (𝜓 ↔ 𝜃)    ⇒   (∀∃𝑥 ∈ 𝐴(𝜑 → 𝜓) ↔ ∀∃𝑥 ∈ 𝐴(𝜒 → 𝜃))
 
12-Jul-2026alsbii 51064 Congruence: equivalents may be substituted inside an "all some". (Contributed by David A. Wheeler, 12-Jul-2026.)
(𝜑 ↔ 𝜒)    &   (𝜓 ↔ 𝜃)    ⇒   (∀∃𝑥(𝜑 → 𝜓) ↔ ∀∃𝑥(𝜒 → 𝜃))
 
12-Jul-2026ralsex 51063 The consequent of an "all some" restricted to a class is witnessed: some member of 𝐴 satisfying 𝜑 also satisfies 𝜓. Restricted counterpart of alsex 51062. (Contributed by David A. Wheeler, 12-Jul-2026.)
(∀∃𝑥 ∈ 𝐴(𝜑 → 𝜓) → ∃𝑥 ∈ 𝐴 𝜓)
 
12-Jul-2026alsex 51062 The consequent of an "all some" is witnessed: if 𝜓 holds of every 𝑥 satisfying 𝜑, and some 𝑥 satisfies 𝜑, then some 𝑥 satisfies 𝜓. This is the positive counterpart of als-no-surprise 51070, and it is the property that ordinary "for all" with implication lacks: from ∀𝑥(𝜑 → 𝜓) alone nothing whatever follows about 𝜓, as alimp-surprise 51044 shows. It is the reason the allsome quantifier says what a speaker of "all Martians are green" usually means. (Contributed by David A. Wheeler, 12-Jul-2026.)
(∀∃𝑥(𝜑 → 𝜓) → ∃𝑥𝜓)
 
12-Jul-2026ralsn0d 51061 Deduction rule: Given "all some" applied to a class, the class is not the empty set. (Contributed by David A. Wheeler, 23-Oct-2018.) (Revised by David A. Wheeler, 12-Jul-2026.)
(𝜑 → ∀∃𝑥 ∈ 𝐴(𝜓 → 𝜒))    ⇒   (𝜑 → 𝐴 ≠ ∅)
 
12-Jul-2026rals2d 51060 Deduction rule: Given "all some" applied to a class, you can extract the "there exists" part. Note that the witness must satisfy the antecedent 𝜓, not merely be a member of 𝐴. (Contributed by David A. Wheeler, 20-Oct-2018.) (Revised by David A. Wheeler, 12-Jul-2026.)
(𝜑 → ∀∃𝑥 ∈ 𝐴(𝜓 → 𝜒))    ⇒   (𝜑 → ∃𝑥 ∈ 𝐴 𝜓)
 
12-Jul-2026rals1d 51059 Deduction rule: Given "all some" applied to a class, you can extract the "for all" part. (Contributed by David A. Wheeler, 20-Oct-2018.) (Revised by David A. Wheeler, 12-Jul-2026.)
(𝜑 → ∀∃𝑥 ∈ 𝐴(𝜓 → 𝜒))    ⇒   (𝜑 → ∀𝑥 ∈ 𝐴 (𝜓 → 𝜒))
 
12-Jul-2026ralsd 51056 Introduction rule for "all some" restricted to a class. This is the converse of rals1d 51059 and rals2d 51060 taken together. (Contributed by David A. Wheeler, 12-Jul-2026.)
(𝜑 → ∀𝑥 ∈ 𝐴 (𝜓 → 𝜒))    &   (𝜑 → ∃𝑥 ∈ 𝐴 𝜓)    ⇒   (𝜑 → ∀∃𝑥 ∈ 𝐴(𝜓 → 𝜒))
 
12-Jul-2026alsd 51055 Introduction rule: "all some" holds if the "for all" part holds and the antecedent has a witness. This is the converse of als1d 51057 and als2d 51058 taken together, and is what lets an "all some" statement be proved rather than merely taken apart. (Contributed by David A. Wheeler, 12-Jul-2026.)
(𝜑 → ∀𝑥(𝜓 → 𝜒))    &   (𝜑 → ∃𝑥𝜓)    ⇒   (𝜑 → ∀∃𝑥(𝜓 → 𝜒))
 
12-Jul-2026dfrals2 51054 The bounded "all some" form is the general form with the class membership folded into the antecedent. (Contributed by David A. Wheeler, 22-Oct-2018.) (Revised by David A. Wheeler, 12-Jul-2026.)
(∀∃𝑥 ∈ 𝐴(𝜑 → 𝜓) ↔ ∀∃𝑥((𝑥 ∈ 𝐴 ∧ 𝜑) → 𝜓))
 
12-Jul-2026df-rals 51053 Define "all some" applied to a class, which means 𝜓 is true whenever 𝜑 is true for 𝑥 in 𝐴, and there is at least one 𝑥 in 𝐴 where 𝜑 is true.

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

(∀∃𝑥 ∈ 𝐴(𝜑 → 𝜓) ↔ (∀𝑥 ∈ 𝐴 (𝜑 → 𝜓) ∧ ∃𝑥 ∈ 𝐴 𝜑))
 
12-Jul-2026wrals 51051 Extend wff definition to include "all some" applied to a class, which means 𝜓 is true whenever 𝜑 is true for 𝑥 in 𝐴, and there is at least one 𝑥 in 𝐴 where 𝜑 is true. (Contributed by David A. Wheeler, 20-Oct-2018.) (Revised by David A. Wheeler, 12-Jul-2026.)
wff ∀∃𝑥 ∈ 𝐴(𝜑 → 𝜓)
 
12-Jul-2026wals 51050 Extend wff definition to include "all some" applied to a top-level implication, which means 𝜓 is true whenever 𝜑 is true, and there is at least one 𝑥 where 𝜑 is true. (Contributed by David A. Wheeler, 20-Oct-2018.) (Revised by David A. Wheeler, 12-Jul-2026.)
wff ∀∃𝑥(𝜑 → 𝜓)
 
12-Jul-2026idomnzd 49536 A domain has no zero-divisors (besides zero). (Contributed by Jeff Madsen, 19-Jun-2010.) (Revised by AV, 12-Jul-2026.)
𝐵 = (Base‘𝑅)    &    · = (.r‘𝑅)    &    0 = (0g‘𝑅)    ⇒   ((𝑅 ∈ IDomn ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵 ∧ (𝑋 · 𝑌) = 0 )) → (𝑋 = 0 ∨ 𝑌 = 0 ))
 
12-Jul-2026isidom3 49535 The predicate "is a domain", alternate expression. (Contributed by Jeff Madsen, 19-Jun-2010.) (Revised by AV, 12-Jul-2026.)
𝐵 = (Base‘𝑅)    &    · = (.r‘𝑅)    &    0 = (0g‘𝑅)    &    1 = (1r‘𝑅)    ⇒   (𝑅 ∈ IDomn ↔ (𝑅 ∈ CRing ∧ 0 ≠ 1 ∧ ∀𝑎 ∈ 𝐵 ∀𝑏 ∈ 𝐵 ((𝑎 · 𝑏) = 0 → (𝑎 = 0 ∨ 𝑏 = 0 ))))
 
12-Jul-2026bj-vn0ALT 38079 Alternate proof of vn0 4290 which does not use eqabbw 2833 (and is shorter than vn0 4290 when eqabbw 2833 is inlined). (Contributed by BJ, 12-Jul-2026.) Using the same dummy variable for 𝑦 and 𝑧 slightly reduces the proof size. (Proof modification is discouraged.) (New usage is discouraged.)
V ≠ ∅
 
12-Jul-2026cmprmidlmcl 21636 The complement of a prime ideal is multiplicatively closed. (Contributed by Jeff Madsen, 17-Jun-2011.) (Revised by AV, 12-Jul-2026.)
𝐵 = (Base‘𝑅)    &    · = (.r‘𝑅)    ⇒   (((𝑅 ∈ CRing ∧ 𝑃 ∈ (PrmIdeal‘𝑅)) ∧ (𝐼 ∈ (𝐵 ∖ 𝑃) ∧ 𝐽 ∈ (𝐵 ∖ 𝑃))) → (𝐼 · 𝐽) ∈ (𝐵 ∖ 𝑃))
 
12-Jul-2026prmidlc2 21635 Property of a prime ideal in a commutative ring. (Contributed by Jeff Madsen, 17-Jun-2011.) (Revised by AV, 12-Jul-2026.)
𝐵 = (Base‘𝑅)    &    · = (.r‘𝑅)    ⇒   (((𝑅 ∈ CRing ∧ 𝑃 ∈ (PrmIdeal‘𝑅)) ∧ (𝐼 ∈ (𝐵 ∖ 𝑃) ∧ 𝐽 ∈ 𝐵 ∧ (𝐼 · 𝐽) ∈ 𝑃)) → 𝐽 ∈ 𝑃)
 
12-Jul-2026rspsn0 21531 A principal ideal (an ideal generated by one element) in a ring. (Contributed by Jeff Madsen, 10-Jun-2010.) (Revised by AV, 12-Jul-2026.)
𝐵 = (Base‘𝑅)    &    · = (.r‘𝑅)    &   𝐾 = (RSpan‘𝑅)    ⇒   ((𝑅 ∈ Ring ∧ 𝑋 ∈ 𝐵) → (𝐾‘{𝑋}) = {𝑖 ∈ 𝐵 ∣ ∃𝑥 ∈ 𝐵 𝑖 = (𝑥 · 𝑋)})
 
12-Jul-2026nvpss 4362 No class strictly includes the universal class. Dual of npss0 4360. (Contributed by BJ, 12-Jul-2026.)
¬ V ⊊ 𝐴
 
12-Jul-2026vvin 4358 Two classes are both the universal class if and only if their intersection is the universal class. Dual of un00 4356. (Contributed by BJ, 12-Jul-2026.)
((𝐴 = V ∧ 𝐵 = V) ↔ (𝐴 ∩ 𝐵) = V)
 
12-Jul-2026vn0 4290 The universal class is not equal to the empty set. (Contributed by NM, 11-Sep-2008.) Avoid ax-8 2146, df-clel 2835. (Revised by GG, 6-Sep-2024.) (Proof shortened by BJ, 12-Jul-2026.)
V ≠ ∅
 
10-Jul-202625or6to4 43349 Question 67 of 68 from a lecture Prof. Loof Lirpa held last Saturday in Lincoln Park. When asked why the smaller root wasn't reduced to 3/2, Lirpa responded "It really doesn't matter anyhow." (Contributed by Luke Murphy, 10-Jul-2026.)
(𝜑 → 𝐴 = 1)    &   (𝜑 → 𝐵 = -(53 / 2))    &   (𝜑 → 𝐶 = (75 / 2))    &   (𝜑 → 𝑋 ∈ ℂ)    ⇒   (𝜑 → (((𝐴 · (𝑋↑2)) + ((𝐵 · 𝑋) + 𝐶)) = 0 ↔ (𝑋 = 25 ∨ 𝑋 = (6 / 4))))
 
10-Jul-2026quadfac 43348 The solution of a quadratic equation via factoring. (Contributed by Luke Murphy, 10-Jul-2026.)
(𝜑 → 𝐴 ∈ ℂ)    &   (𝜑 → 𝐴 ≠ 0)    &   (𝜑 → 𝐵 ∈ ℂ)    &   (𝜑 → 𝐶 ∈ ℂ)    &   (𝜑 → 𝑋 ∈ ℂ)    &   (𝜑 → 𝑀 ∈ ℂ)    &   (𝜑 → 𝑁 ∈ ℂ)    &   (𝜑 → (𝑀 + 𝑁) = -(𝐵 / 𝐴))    &   (𝜑 → (𝑀 · 𝑁) = (𝐶 / 𝐴))    ⇒   (𝜑 → (((𝐴 · (𝑋↑2)) + ((𝐵 · 𝑋) + 𝐶)) = 0 ↔ (𝑋 = 𝑀 ∨ 𝑋 = 𝑁)))
 
10-Jul-2026nelscottrankgt 35803 If a member of the input set is not a member of the Scott's trick set, then its rank is greater than the rank of a member of the Scott's trick set. (Contributed by BTernaryTau, 10-Jul-2026.)
((𝐴 ∈ Scott 𝐵 ∧ 𝐶 ∈ 𝐵 ∧ ¬ 𝐶 ∈ Scott 𝐵) → (rank‘𝐴) ∈ (rank‘𝐶))
 
10-Jul-2026scottrankeqel 35802 If a member of the input set has the same rank as a member of the Scott's trick set, then it is also a member of the Scott's trick set. (Contributed by BTernaryTau, 10-Jul-2026.)
((𝐴 ∈ Scott 𝐵 ∧ 𝐶 ∈ 𝐵 ∧ (rank‘𝐶) = (rank‘𝐴)) → 𝐶 ∈ Scott 𝐵)
 
10-Jul-2026elscott2 35798 Membership in a Scott's trick set. (Contributed by BTernaryTau, 10-Jul-2026.)
(𝐴 ∈ Scott 𝐵 ↔ (𝐴 ∈ 𝐵 ∧ (rank‘𝐴) = ∩ (rank “ 𝐵)))
 
10-Jul-2026dfscott3 35797 Alternate definition of a Scott's trick set. (Contributed by BTernaryTau, 10-Jul-2026.)
Scott 𝐴 = (𝐴 ∩ (𝑅1‘suc ∩ (rank “ 𝐴)))
 
10-Jul-2026imadifssranOLD 6202 Obsolete version of imadifssrn 6201 as of 29-Sep-2026. (Contributed by AV, 4-Oct-2025.) Remove antecedent. (Revised by Eric Schmidt, 10-Jul-2026.) (Proof modification is discouraged.) (New usage is discouraged.)
((𝐹 “ (dom 𝐹 ∖ 𝐴)) ⊆ ran (𝐹 ↾ 𝐴) → ran 𝐹 = ran (𝐹 ↾ 𝐴))
 
9-Jul-2026elscottrankeq 35800 Elements in a Scott's trick set have the same rank. (Contributed by BTernaryTau, 9-Jul-2026.)
((𝐴 ∈ Scott 𝐶 ∧ 𝐵 ∈ Scott 𝐶) → (rank‘𝐴) = (rank‘𝐵))
 
8-Jul-2026rankscott 35806 The rank of a nonempty Scott's trick set. (Contributed by BTernaryTau, 8-Jul-2026.)
(𝐴 ≠ ∅ → (rank‘Scott 𝐴) = suc ∩ (rank “ 𝐴))
 
8-Jul-2026elscottrank 35799 The rank of an element in a Scott's trick set. (Contributed by BTernaryTau, 8-Jul-2026.)
(𝐴 ∈ Scott 𝐵 → (rank‘𝐴) = ∩ (rank “ 𝐵))
 
8-Jul-2026dfscott2 35796 Alternate definition of a Scott's trick set. (Contributed by BTernaryTau, 8-Jul-2026.)
Scott 𝐴 = {𝑥 ∈ 𝐴 ∣ (rank‘𝑥) = ∩ (rank “ 𝐴)}
 
7-Jul-2026hashomiso 46108 The ♯ function yields an order isomorphism between ω and ℕ0. (Contributed by Eric Schmidt, 7-Jul-2026.)
(♯ ↾ ω) Isom E , < (ω, ℕ0)
 
7-Jul-2026hashomf1o 46107 The ♯ function yields a bijection from ω to ℕ0. (Contributed by Eric Schmidt, 7-Jul-2026.)
(♯ ↾ ω):ω–1-1-onto→ℕ0
 
7-Jul-2026hashnnltb 46106 The ♯ function on ω preserves the ordering. (Contributed by Eric Schmidt, 7-Jul-2026.)
((𝐴 ∈ ω ∧ 𝐵 ∈ ω) → (𝐴 ∈ 𝐵 ↔ (♯‘𝐴) < (♯‘𝐵)))
 
7-Jul-2026hashnnlt 46105 The ♯ function on ω preserves the ordering. (Contributed by Eric Schmidt, 7-Jul-2026.)
((𝐴 ∈ ω ∧ 𝐵 ∈ 𝐴) → (♯‘𝐵) < (♯‘𝐴))
 
7-Jul-2026hashnnm 46104 The ♯ function on ω preserves multiplication. (Contributed by Eric Schmidt, 7-Jul-2026.)
((𝐴 ∈ ω ∧ 𝐵 ∈ ω) → (♯‘(𝐴 ·o 𝐵)) = ((♯‘𝐴) · (♯‘𝐵)))
 
7-Jul-2026hashnnsuc 46103 The ♯ function on ω turns successor into adding 1. (Contributed by Eric Schmidt, 7-Jul-2026.)
(𝐴 ∈ ω → (♯‘suc 𝐴) = ((♯‘𝐴) + 1))
 
7-Jul-2026hashnna 46102 The ♯ function on ω preserves addition. (Contributed by Eric Schmidt, 7-Jul-2026.)
((𝐴 ∈ ω ∧ 𝐵 ∈ ω) → (♯‘(𝐴 +o 𝐵)) = ((♯‘𝐴) + (♯‘𝐵)))
 
7-Jul-2026kardexen 35887 One set is equinumerous to another iff an element in its kard cardinality is equinumerous to an element in the second set's kard cardinality. See kardeng 35881 for a version with equality of cardinals. (Contributed by BTernaryTau, 7-Jul-2026.)
(𝐴 ≈ 𝐵 ↔ ∃𝑥 ∈ (kard‘𝐴)∃𝑦 ∈ (kard‘𝐵)𝑥 ≈ 𝑦)
 
6-Jul-2026kardsdom 35886 One set strictly dominates another iff an element in its kard cardinality strictly dominates an element in the second set's kard cardinality. (Contributed by BTernaryTau, 6-Jul-2026.)
(𝐴 ≺ 𝐵 ↔ ∃𝑥 ∈ (kard‘𝐴)∃𝑦 ∈ (kard‘𝐵)𝑥 ≺ 𝑦)
 
5-Jul-2026prlngeu 29438 Given a line 𝐴 and a point 𝑋 not on 𝐴, a unique line parallel to 𝐴 can be drawn through 𝑋. Theorem 12.13 of [Schwabhauser] p. 124. (Contributed by Thierry Arnoux, 5-Jul-2026.)
𝑃 = (Base‘𝐺)    &   𝐿 = (LineG‘𝐺)    &    ∥ = (parlnG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ ran 𝐿)    &   (𝜑 → 𝑋 ∈ (𝑃 ∖ 𝐴))    &   (𝜑 → 𝐺 ∈ TarskiGE)    ⇒   (𝜑 → ∃!𝑏 ∈ ran 𝐿(𝐴 ∥ 𝑏 ∧ 𝑋 ∈ 𝑏))
 
5-Jul-2026prlngmo 29437 Playfair's axiom. Given a line 𝐴 and a point 𝑋 not on 𝐴, at most one line parallel to 𝐴 can be drawn through 𝑋. Theorem 12.11 of [Schwabhauser] p. 123. Note that this is the first instance of a theorem where the geometry is required to be Euclidean, as expressed by 𝐺 ∈ TarskiGE. Theorem A10 of [Schwabhauser] p. 24 is used, in the form of axtgeucl 28939, in the proof of prlngmolem1 29435. See prlngex 29434 for the corresponding existence theorem. (Contributed by Thierry Arnoux, 5-Jul-2026.)
𝑃 = (Base‘𝐺)    &   𝐿 = (LineG‘𝐺)    &    ∥ = (parlnG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ ran 𝐿)    &   (𝜑 → 𝑋 ∈ (𝑃 ∖ 𝐴))    &   (𝜑 → 𝐺 ∈ TarskiGE)    ⇒   (𝜑 → ∃*𝑏 ∈ ran 𝐿(𝐴 ∥ 𝑏 ∧ 𝑋 ∈ 𝑏))
 
5-Jul-2026prlngmolem2 29436 Lemma for prlngmo 29437. (Contributed by Thierry Arnoux, 5-Jul-2026.)
𝑃 = (Base‘𝐺)    &   𝐿 = (LineG‘𝐺)    &    ∥ = (parlnG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ ran 𝐿)    &   (𝜑 → 𝑋 ∈ (𝑃 ∖ 𝐴))    &   (𝜑 → 𝐺 ∈ TarskiGE)    &   𝑂 = {⟨𝑥, 𝑦⟩ ∣ ((𝑥 ∈ (𝑃 ∖ 𝑏) ∧ 𝑦 ∈ (𝑃 ∖ 𝑏)) ∧ ∃𝑟 ∈ 𝑏 𝑟 ∈ (𝑥(Itv‘𝐺)𝑦))}    &   𝑄 = {⟨𝑥, 𝑦⟩ ∣ ((𝑥 ∈ (𝑃 ∖ 𝐴) ∧ 𝑦 ∈ (𝑃 ∖ 𝐴)) ∧ ∃𝑠 ∈ 𝐴 𝑠 ∈ (𝑥(Itv‘𝐺)𝑦))}    ⇒   (𝜑 → ∃*𝑏 ∈ ran 𝐿(𝐴 ∥ 𝑏 ∧ 𝑋 ∈ 𝑏))
 
5-Jul-2026prlngmolem1 29435 Lemma for prlngmo 29437: Contradiction: Assuming two different parallels 𝐵 and 𝐶 having a common point 𝑋 exist to a line 𝐴, the geometry cannot be Euclidean (Contributed by Thierry Arnoux, 5-Jul-2026.)
𝑃 = (Base‘𝐺)    &   𝐿 = (LineG‘𝐺)    &    ∥ = (parlnG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ ran 𝐿)    &   (𝜑 → 𝑋 ∈ (𝑃 ∖ 𝐴))    &   𝑂 = {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ (𝑃 ∖ 𝐵) ∧ 𝑏 ∈ (𝑃 ∖ 𝐵)) ∧ ∃𝑦 ∈ 𝐵 𝑦 ∈ (𝑎𝐼𝑏))}    &   𝑄 = {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ (𝑃 ∖ 𝐴) ∧ 𝑏 ∈ (𝑃 ∖ 𝐴)) ∧ ∃𝑤 ∈ 𝐴 𝑤 ∈ (𝑎𝐼𝑏))}    &   𝐼 = (Itv‘𝐺)    &   (𝜑 → 𝐵 ∈ ran 𝐿)    &   (𝜑 → 𝐶 ∈ ran 𝐿)    &   (𝜑 → 𝐴 ∥ 𝐵)    &   (𝜑 → 𝐴 ∥ 𝐶)    &   (𝜑 → 𝑋 ∈ 𝐵)    &   (𝜑 → 𝑋 ∈ 𝐶)    &   (𝜑 → 𝑇 ∈ 𝐴)    &   (𝜑 → 𝑊 ∈ (𝐶 ∖ 𝐵))    &   (𝜑 → 𝐵 ≠ 𝐶)    &   (𝜑 → 𝑊𝑂𝑇)    ⇒   (𝜑 → ¬ 𝐺 ∈ TarskiGE)
 
5-Jul-2026prlngex 29434 There exists at least one parallel line 𝑏 to a given line 𝐴 through a given point 𝑋. Theorem 12.10 of [Schwabhauser] p. 122. (Contributed by Thierry Arnoux, 5-Jul-2026.)
𝑃 = (Base‘𝐺)    &   𝐿 = (LineG‘𝐺)    &    ∥ = (parlnG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ ran 𝐿)    &   (𝜑 → 𝑋 ∈ 𝑃)    ⇒   (𝜑 → ∃𝑏 ∈ ran 𝐿(𝐴 ∥ 𝑏 ∧ 𝑋 ∈ 𝑏))
 
5-Jul-2026perpprlng 29433 If two lines 𝐴 and 𝐵 have a common perpendicular 𝐶 and lie in the same plane 𝐻, then they are parallel. Theorem 12.9 of [Schwabhauser] p. 122. (Contributed by Thierry Arnoux, 5-Jul-2026.)
𝑃 = (Base‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &    ∥ = (parlnG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐻 ∈ ran 𝐸)    &   (𝜑 → 𝐴 ⊆ 𝐻)    &   (𝜑 → 𝐵 ⊆ 𝐻)    &   (𝜑 → 𝐶 ⊆ 𝐻)    &   (𝜑 → 𝐴(⟂G‘𝐺)𝐶)    &   (𝜑 → 𝐵(⟂G‘𝐺)𝐶)    ⇒   (𝜑 → 𝐴 ∥ 𝐵)
 
5-Jul-2026prlngpln3 29432 Two parallel lines are on a common plane. (Contributed by Thierry Arnoux, 5-Jul-2026.)
𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &    ∥ = (parlnG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∥ 𝐵)    &   (𝜑 → 𝐴 ≠ 𝐵)    &   (𝜑 → 𝑋 ∈ 𝐵)    ⇒   (𝜑 → 𝐵 ⊆ (𝐴𝐸𝑋))
 
5-Jul-2026prlnghpg 29429 If two lines 𝐴 and 𝐵 are parallel, then any two points 𝑋 and 𝑌 of 𝐵 lie on the same half-plane limited by 𝐴. Theorem 12.6 of [Schwabhauser] p. 122. . (Contributed by Thierry Arnoux, 5-Jul-2026.)
𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &    ∥ = (parlnG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∥ 𝐵)    &   (𝜑 → 𝐴 ≠ 𝐵)    &   (𝜑 → 𝑋 ∈ 𝐵)    &   (𝜑 → 𝑌 ∈ 𝐵)    ⇒   (𝜑 → 𝑋((hpG‘𝐺)‘𝐴)𝑌)
 
5-Jul-2026prlngpln 29428 Two parallel lines are on a common plane. (Contributed by Thierry Arnoux, 5-Jul-2026.)
𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &    ∥ = (parlnG‘𝐺)    &   (𝜑 → 𝐺 ∈ 𝑉)    &   (𝜑 → 𝐴 ∥ 𝐵)    &   (𝜑 → 𝐴 ≠ 𝐵)    ⇒   (𝜑 → ∃ℎ ∈ ran 𝐸(𝐴 ⊆ ℎ ∧ 𝐵 ⊆ ℎ))
 
5-Jul-2026prlngin0 29427 Two parallel lines do not intersect. (Contributed by Thierry Arnoux, 5-Jul-2026.)
𝐿 = (LineG‘𝐺)    &    ∥ = (parlnG‘𝐺)    &   (𝜑 → 𝐺 ∈ 𝑉)    &   (𝜑 → 𝐴 ∥ 𝐵)    &   (𝜑 → 𝐴 ≠ 𝐵)    ⇒   (𝜑 → (𝐴 ∩ 𝐵) = ∅)
 
5-Jul-2026prlngrcl2 29426 Reverse closure for parallelism. (Contributed by Thierry Arnoux, 5-Jul-2026.)
𝐿 = (LineG‘𝐺)    &    ∥ = (parlnG‘𝐺)    &   (𝜑 → 𝐺 ∈ 𝑉)    &   (𝜑 → 𝐴 ∥ 𝐵)    ⇒   (𝜑 → 𝐵 ∈ ran 𝐿)
 
5-Jul-2026prlngrcl1 29425 Reverse closure for parallelism. (Contributed by Thierry Arnoux, 5-Jul-2026.)
𝐿 = (LineG‘𝐺)    &    ∥ = (parlnG‘𝐺)    &   (𝜑 → 𝐺 ∈ 𝑉)    &   (𝜑 → 𝐴 ∥ 𝐵)    ⇒   (𝜑 → 𝐴 ∈ ran 𝐿)
 
5-Jul-2026perpeq 29353 Uniqueness of the perpendicular to a line 𝐴 within a plane 𝐻 at a point 𝑋. Theorem 11.20 of [Schwabhauser] p. 99. (Contributed by Thierry Arnoux, 5-Jul-2026.)
𝑃 = (Base‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ ran 𝐿)    &   (𝜑 → 𝐻 ∈ ran 𝐸)    &   (𝜑 → 𝑋 ∈ 𝐴)    &   (𝜑 → 𝐴 ⊆ 𝐻)    &   (𝜑 → 𝑌 ∈ 𝐻)    &   (𝜑 → 𝑍 ∈ 𝐻)    &   (𝜑 → (𝑋𝐿𝑌)(⟂G‘𝐺)𝐴)    &   (𝜑 → (𝑋𝐿𝑍)(⟂G‘𝐺)𝐴)    ⇒   (𝜑 → (𝑋𝐿𝑌) = (𝑋𝐿𝑍))
 
5-Jul-2026perpeqlem 29352 Lemma for perpeq 29353. (Contributed by Thierry Arnoux, 5-Jul-2026.)
𝑃 = (Base‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ ran 𝐿)    &   (𝜑 → 𝐻 ∈ ran 𝐸)    &   (𝜑 → 𝑋 ∈ 𝐴)    &   (𝜑 → 𝐴 ⊆ 𝐻)    &   (𝜑 → 𝑌 ∈ 𝐻)    &   (𝜑 → 𝑍 ∈ 𝐻)    &   (𝜑 → (𝑋𝐿𝑌)(⟂G‘𝐺)𝐴)    &   (𝜑 → (𝑋𝐿𝑍)(⟂G‘𝐺)𝐴)    &   (𝜑 → 𝑌((hpG‘𝐺)‘𝐴)𝑍)    ⇒   (𝜑 → (𝑋𝐿𝑌) = (𝑋𝐿𝑍))
 
5-Jul-2026ragraghl 29351 Drawing two right angles at a point 𝑋 on the same side of a line (𝑋𝐿𝑌) leads to points 𝑊 and 𝑍 on the same ray from 𝑋. Theorem 11.19 of [Schwabhauser] p. 99. (Contributed by Thierry Arnoux, 5-Jul-2026.)
𝑃 = (Base‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ 𝑃)    &   (𝜑 → 𝑍 ∈ 𝑃)    &   (𝜑 → 𝑊 ∈ 𝑃)    &   (𝜑 → 𝑋 ≠ 𝑌)    &   (𝜑 → ⟨“𝑌𝑋𝑍”⟩ ∈ (∟G‘𝐺))    &   (𝜑 → ⟨“𝑌𝑋𝑊”⟩ ∈ (∟G‘𝐺))    &   (𝜑 → 𝑍((hpG‘𝐺)‘(𝑌𝐿𝑋))𝑊)    ⇒   (𝜑 → 𝑍((hlG‘𝐺)‘𝑋)𝑊)
 
5-Jul-2026ragcgra 29348 Right angles are congruent with each other. Theorem 11.16 of [Schwabhauser] p. 98. (Contributed by Thierry Arnoux, 5-Jul-2026.)
𝑃 = (Base‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ 𝑃)    &   (𝜑 → 𝑍 ∈ 𝑃)    &   (𝜑 → 𝐴 ∈ 𝑃)    &   (𝜑 → 𝐵 ∈ 𝑃)    &   (𝜑 → 𝐶 ∈ 𝑃)    &   (𝜑 → ⟨“𝑋𝑌𝑍”⟩ ∈ (∟G‘𝐺))    &   (𝜑 → ⟨“𝐴𝐵𝐶”⟩ ∈ (∟G‘𝐺))    &   (𝜑 → 𝐴 ≠ 𝐵)    &   (𝜑 → 𝐵 ≠ 𝐶)    &   (𝜑 → 𝑋 ≠ 𝑌)    &   (𝜑 → 𝑌 ≠ 𝑍)    ⇒   (𝜑 → ⟨“𝑋𝑌𝑍”⟩(cgrA‘𝐺)⟨“𝐴𝐵𝐶”⟩)
 
5-Jul-2026nhpmirhp 29281 If a point 𝑍 is on the plane defined by a line 𝐴 and a point 𝑌, but not on the same half-plane as 𝑌, then its mirror point (𝑀‘𝑍) by a point 𝑋 on 𝐴 is on the same half-plane as 𝑌. (Contributed by Thierry Arnoux, 5-Jul-2026.)
𝑃 = (Base‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝑆 = (pInvG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &   𝑀 = (𝑆‘𝑋)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ ran 𝐿)    &   (𝜑 → 𝑋 ∈ 𝐴)    &   (𝜑 → 𝑌 ∈ (𝑃 ∖ 𝐴))    &   (𝜑 → 𝑍 ∈ ((𝐴𝐸𝑌) ∖ 𝐴))    &   (𝜑 → ¬ 𝑌((hpG‘𝐺)‘𝐴)𝑍)    ⇒   (𝜑 → 𝑌((hpG‘𝐺)‘𝐴)(𝑀‘𝑍))
 
5-Jul-2026hpgssplng 29279 Any point 𝑋 on a half plane defined by a line 𝐴 and another point 𝑌 is on the plane defined by 𝐴 and 𝑌. (Contributed by Thierry Arnoux, 5-Jul-2026.)
𝑃 = (Base‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &   (𝜑 → 𝐴 ∈ ran 𝐿)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ (𝑃 ∖ 𝐴))    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝑋((hpG‘𝐺)‘𝐴)𝑌)    ⇒   (𝜑 → 𝑋 ∈ (𝐴𝐸𝑌))
 
5-Jul-2026mirplncl 29278 The mirror of a point with regard to another point is in the same plane as the two points. (Contributed by Thierry Arnoux, 5-Jul-2026.)
𝑃 = (Base‘𝐺)    &   𝐸 = (hlG‘𝐺)    &   𝑆 = (pInvG‘𝐺)    &   𝑀 = (𝑆‘𝑋)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐻 ∈ ran 𝐸)    &   (𝜑 → 𝑋 ∈ 𝐻)    &   (𝜑 → 𝑌 ∈ 𝐻)    ⇒   (𝜑 → (𝑀‘𝑌) ∈ 𝐻)
 
5-Jul-2026plngmiropp 29277 Given a line 𝐴 and a point 𝑋 not on 𝐴, then a point 𝑌 on the plane defined by 𝐴 and 𝑋 is either opposite to 𝑋, or opposite to the mirror point of 𝑋 by any point 𝑍 of 𝐴. (Contributed by Thierry Arnoux, 5-Jul-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &   𝑆 = (pInvG‘𝐺)    &   𝑀 = (𝑆‘𝑍)    &   𝑂 = {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ (𝑃 ∖ 𝐴) ∧ 𝑏 ∈ (𝑃 ∖ 𝐴)) ∧ ∃𝑡 ∈ 𝐴 𝑡 ∈ (𝑎𝐼𝑏))}    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ ran 𝐿)    &   (𝜑 → 𝑋 ∈ (𝑃 ∖ 𝐴))    &   (𝜑 → 𝑌 ∈ ((𝐴𝐸𝑋) ∖ 𝐴))    &   (𝜑 → 𝑍 ∈ 𝐴)    ⇒   (𝜑 → (𝑋𝑂𝑌 ∨ (𝑀‘𝑋)𝑂𝑌))
 
5-Jul-2026oppmir 29237 The mirror point with regard to a point 𝑋 on a line 𝐴 lies on the other side of 𝐴. (Contributed by Thierry Arnoux, 5-Jul-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝑆 = (pInvG‘𝐺)    &   𝑀 = (𝑆‘𝑋)    &   𝑂 = {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ (𝑃 ∖ 𝐴) ∧ 𝑏 ∈ (𝑃 ∖ 𝐴)) ∧ ∃𝑡 ∈ 𝐴 𝑡 ∈ (𝑎𝐼𝑏))}    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ ran 𝐿)    &   (𝜑 → 𝑋 ∈ 𝐴)    &   (𝜑 → 𝑌 ∈ (𝑃 ∖ 𝐴))    &   𝐿 = (LineG‘𝐺)    ⇒   (𝜑 → 𝑌𝑂(𝑀‘𝑌))
 
5-Jul-2026perpin 29205 If two lines 𝐴 and 𝐵 are perpendicular, then they intersect. (Contributed by Thierry Arnoux, 5-Jul-2026.)
(𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴(⟂G‘𝐺)𝐵)    ⇒   (𝜑 → (𝐴 ∩ 𝐵) ≠ ∅)
 
5-Jul-2026ecase33d 1504 Deduction for elimination by cases. (Contributed by Thierry Arnoux, 5-Jul-2026.)
(𝜑 → ¬ 𝜓)    &   (𝜑 → ¬ 𝜒)    &   (𝜑 → (𝜓 ∨ 𝜒 ∨ 𝜃))    ⇒   (𝜑 → 𝜃)
 
5-Jul-20263anasss 1380 Associative law for conjunction applied to antecedent (eliminates syllogism). Converse of 3anassrs 1381. (Contributed by Thierry Arnoux, 5-Jul-2026.)
((((𝜑 ∧ 𝜓) ∧ 𝜒) ∧ 𝜃) → 𝜏)    ⇒   ((𝜑 ∧ (𝜓 ∧ 𝜒 ∧ 𝜃)) → 𝜏)
 
4-Jul-20261enumkard 35896 The Fundamental Theorem of Enumeration (see https://sites.math.rutgers.edu/~zeilberg/mamarim/mamarimPDF/enu.pdf), extended to all sets.

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

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

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

(𝐴 ∈ V → (kard‘𝐴) = (kard‘∪ 𝑥 ∈ 𝐴 ({𝑥} × 1o)))
 
4-Jul-2026rankkardu 35895 An upper bound on the rank of a kard cardinal. (Contributed by BTernaryTau, 4-Jul-2026.)
(rank‘(kard‘𝐴)) ⊆ suc (rank‘𝐴)
 
4-Jul-2026karddom 35885 One set dominates another iff an element in its kard cardinality dominates an element in the second set's kard cardinality. (Contributed by BTernaryTau, 4-Jul-2026.)
(𝐴 ≼ 𝐵 ↔ ∃𝑥 ∈ (kard‘𝐴)∃𝑦 ∈ (kard‘𝐵)𝑥 ≼ 𝑦)
 
4-Jul-2026kardsn 35884 A singleton has cardinality one. (Contributed by BTernaryTau, 4-Jul-2026.)
(𝐴 ∈ 𝑉 → (kard‘{𝐴}) = (kard‘1o))
 
4-Jul-2026kardenir 35882 If two sets are equinumerous, then their kard cardinal numbers are equal. (Contributed by BTernaryTau, 4-Jul-2026.)
(𝐴 ≈ 𝐵 → (kard‘𝐴) = (kard‘𝐵))
 
4-Jul-2026rankscottu 35807 An upper bound on the rank of a Scott's trick set. (Contributed by BTernaryTau, 4-Jul-2026.)
(𝐴 ∈ 𝐵 → (rank‘Scott 𝐵) ⊆ suc (rank‘𝐴))
 
3-Jul-2026kardfi 35894 The kard cardinal number of a finite set is finite. (Contributed by BTernaryTau, 3-Jul-2026.)
(𝐴 ∈ Fin → (kard‘𝐴) ∈ Fin)
 
3-Jul-2026kardnnfi 35893 The kard cardinal number of a finite ordinal is finite. (Contributed by BTernaryTau, 3-Jul-2026.)
(𝐴 ∈ ω → (kard‘𝐴) ∈ Fin)
 
3-Jul-2026kardcard 35892 Two sets have equal kard cardinalities iff they have equal card cardinalities. This theorem depends on the Axiom of Choice. (Contributed by BTernaryTau, 3-Jul-2026.)
((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑊) → ((kard‘𝐴) = (kard‘𝐵) ↔ (card‘𝐴) = (card‘𝐵)))
 
3-Jul-2026ackardcard 35891 The Axiom of Choice implies that two sets have equal kard cardinalities iff they have equal card cardinalities. (Contributed by BTernaryTau, 3-Jul-2026.)
(CHOICE → ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑊) → ((kard‘𝐴) = (kard‘𝐵) ↔ (card‘𝐴) = (card‘𝐵))))
 
3-Jul-2026kardcard2 35890 Two numerable sets have equal kard cardinalities iff they have equal card cardinalities. This theorem does not depend on the Axiom of Choice. (Contributed by BTernaryTau, 3-Jul-2026.)
((𝐴 ∈ dom card ∧ 𝐵 ∈ dom card) → ((kard‘𝐴) = (kard‘𝐵) ↔ (card‘𝐴) = (card‘𝐵)))
 
3-Jul-2026kardcard2b 35889 If two sets have equal kard cardinalities, then they have equal card cardinalities. This theorem does not depend on the Axiom of Choice. (Contributed by BTernaryTau, 3-Jul-2026.)
((kard‘𝐴) = (kard‘𝐵) → (card‘𝐴) = (card‘𝐵))
 
3-Jul-2026kardcard2a 35888 If two sets have equal nonzero card cardinalities, then they have equal kard cardinalities. This theorem does not depend on the Axiom of Choice. (Contributed by BTernaryTau, 3-Jul-2026.)
(((card‘𝐴) = (card‘𝐵) ∧ (card‘𝐴) ≠ ∅) → (kard‘𝐴) = (kard‘𝐵))
 
3-Jul-2026kard0b 35883 The empty set is the only set with cardinality zero. This is the kard version of cardeq0 10639. (Contributed by BTernaryTau, 3-Jul-2026.)
((kard‘𝐴) = (kard‘∅) ↔ 𝐴 = ∅)
 
3-Jul-2026kardeng 35881 Two sets are equinumerous iff their kard cardinal numbers are equal. Unlike carden 10638, this theorem does not depend on the Axiom of Choice, but it does depend on the Axiom of Regularity and the Axiom of Infinity. (Contributed by BTernaryTau, 3-Jul-2026.)
(𝐴 ∈ 𝑉 → ((kard‘𝐴) = (kard‘𝐵) ↔ 𝐴 ≈ 𝐵))
 
3-Jul-2026kardeq0 35880 Applying kard to a class yields the empty set iff the class is a proper class. (Contributed by BTernaryTau, 3-Jul-2026.)
((kard‘𝐴) = ∅ ↔ ¬ 𝐴 ∈ V)
 
3-Jul-2026elkarden 35879 Any member of the kard cardinal number of a set is equinumerous to the set. Contrast with cardne 10049 for card cardinals. (Contributed by BTernaryTau, 3-Jul-2026.)
(𝐴 ∈ (kard‘𝐵) → 𝐴 ≈ 𝐵)
 
3-Jul-2026kard0 35878 The kard cardinality of the empty set is the singleton of the empty set. (Contributed by BTernaryTau, 3-Jul-2026.)
(kard‘∅) = {∅}
 
3-Jul-2026kardval2 35877 The value of the kard function. This theorem depends on the Axiom of Regularity and the Axiom of Infinity, but it does not depend on the Axiom of Choice. See also kardval 35876. (Contributed by BTernaryTau, 3-Jul-2026.)
(kard‘𝐴) = {𝑥 ∣ (𝑥 ≈ 𝐴 ∧ ∀𝑦(𝑦 ≈ 𝐴 → (rank‘𝑥) ⊆ (rank‘𝑦)))}
 
3-Jul-2026kardval 35876 The value of the kard function. This theorem depends on the Axiom of Regularity and the Axiom of Infinity, but it does not depend on the Axiom of Choice. See also kardval2 35877. (Contributed by BTernaryTau, 3-Jul-2026.)
(kard‘𝐴) = Scott {𝑥 ∣ 𝑥 ≈ 𝐴}
 
3-Jul-2026kardfn 35875 The kard class is a function on the universe. This theorem depends on the Axiom of Regularity and the Axiom of Infinity, but it does not depend on the Axiom of Choice. (Contributed by BTernaryTau, 3-Jul-2026.)
kard Fn V
 
3-Jul-2026acnum 35811 The Axiom of Choice implies that any set is numerable. (Contributed by BTernaryTau, 3-Jul-2026.)
(CHOICE → (𝐴 ∈ 𝑉 → 𝐴 ∈ dom card))
 
3-Jul-2026scottssr1 35808 Relationship between a Scott's trick set and the cumulative hierarchy. (Contributed by BTernaryTau, 3-Jul-2026.)
(𝐴 ∈ 𝐵 → Scott 𝐵 ⊆ (𝑅1‘suc (rank‘𝐴)))
 
3-Jul-2026scott0bOLD 35805 Obsolete version of scott0b 9940 as of 18-Jul-2026. (Contributed by BTernaryTau, 3-Jul-2026.) (Proof modification is discouraged.) (New usage is discouraged.)
(𝐴 = ∅ ↔ Scott 𝐴 = ∅)
 
3-Jul-2026scottsn 35804 Applying Scott's trick to a singleton leaves it unchanged. (Contributed by BTernaryTau, 3-Jul-2026.)
Scott {𝐴} = {𝐴}
 
3-Jul-2026elscottrankss 35801 Relationship between the ranks of an element in a Scott's trick set and an element in the input set. (Contributed by BTernaryTau, 3-Jul-2026.)
((𝐴 ∈ Scott 𝐵 ∧ 𝐶 ∈ 𝐵) → (rank‘𝐴) ⊆ (rank‘𝐶))
 
3-Jul-2026elscott 35795 Membership in a Scott's trick set. (Contributed by BTernaryTau, 3-Jul-2026.)
(𝐴 ∈ Scott 𝐵 ↔ (𝐴 ∈ 𝐵 ∧ ∀𝑥 ∈ 𝐵 (rank‘𝐴) ⊆ (rank‘𝑥)))
 
3-Jul-2026scotteqi 35794 Equality theorem for the Scott operation. Inference form of scotteq 9934. (Contributed by BTernaryTau, 3-Jul-2026.)
𝐴 = 𝐵    ⇒   Scott 𝐴 = Scott 𝐵
 
3-Jul-2026onrankid 35779 The rank of an ordinal number is itself. (Contributed by BTernaryTau, 3-Jul-2026.)
(𝐴 ∈ On ↔ (rank‘𝐴) = 𝐴)
 
3-Jul-2026scott0 9939 Applying Scott's trick to the empty set leaves it unchanged. (Contributed by BTernaryTau, 3-Jul-2026.)
Scott ∅ = ∅
 
2-Jul-2026df-kard 35874 Define the alternative cardinal number function. Under this definition, the cardinal number of a set is the set of all sets equinumerous to it and having the least possible rank. Definition of [Enderton] p. 222. See kardval 35876 for its value. The principal theorem relating this type of cardinality to equinumerosity is kardeng 35881. Our notation is from Enderton and differentiates this function from the standard cardinal size function defined in df-card 10023. (Contributed by BTernaryTau, 2-Jul-2026.)
kard = (𝑥 ∈ V ↦ Scott {𝑦 ∣ 𝑦 ≈ 𝑥})
 
2-Jul-2026rncardr1prc 35814 The Axiom of Choice implies that the cardinalities of the layers of the cumulative hierarchy form a proper class. (Contributed by BTernaryTau, 2-Jul-2026.)
(CHOICE → ¬ ran (card ∘ 𝑅1) ∈ V)
 
30-Jun-2026isfieldidl2 21546 Determine if a ring is a field based on its ideals. (Contributed by Jeff Madsen, 6-Jan-2011.) (Revised by AV, 30-Jun-2026.)
𝐵 = (Base‘𝑅)    &    0 = (0g‘𝑅)    &   𝐼 = (LIdeal‘𝑅)    ⇒   (𝑅 ∈ Field ↔ (𝑅 ∈ CRing ∧ 𝐵 ≠ { 0 } ∧ 𝐼 = {{ 0 }, 𝐵}))
 
30-Jun-2026isfieldidl 21545 Determine if a ring is a field based on its ideals. (Contributed by Jeff Madsen, 10-Jun-2010.) (Revised by AV, 30-Jun-2026.)
𝐵 = (Base‘𝑅)    &    0 = (0g‘𝑅)    &   𝐼 = (LIdeal‘𝑅)    &    1 = (1r‘𝑅)    ⇒   (𝑅 ∈ Field ↔ (𝑅 ∈ CRing ∧ 0 ≠ 1 ∧ 𝐼 = {{ 0 }, 𝐵}))
 
30-Jun-2026rspprop 21529 Properties of a class to be the ideal generated by a subset of a ring. (Contributed by Jeff Madsen, 10-Jun-2010.) (Revised by AV, 30-Jun-2026.)
𝐵 = (Base‘𝑅)    &   𝐼 = (LIdeal‘𝑅)    &   𝐾 = (RSpan‘𝑅)    ⇒   ((𝑅 ∈ Ring ∧ 𝑆 ⊆ 𝐵) → ((𝐾‘𝑆) = 𝑋 ↔ (𝑋 ∈ 𝐼 ∧ 𝑆 ⊆ 𝑋 ∧ ∀𝑖 ∈ 𝐼 (𝑆 ⊆ 𝑖 → 𝑋 ⊆ 𝑖))))
 
30-Jun-2026rspvalint 21528 The ideal generated by a subset of a ring as intersection of ideals including the subset. (Contributed by Jeff Madsen, 10-Jun-2010.) (Revised by AV, 30-Jun-2026.)
𝐵 = (Base‘𝑅)    &   𝐼 = (LIdeal‘𝑅)    &   𝐾 = (RSpan‘𝑅)    ⇒   ((𝑅 ∈ Ring ∧ 𝑆 ⊆ 𝐵) → (𝐾‘𝑆) = ∩ {𝑡 ∈ 𝐼 ∣ 𝑆 ⊆ 𝑡})
 
28-Jun-2026inlidl 34017 The intersection of two ideals is an ideal. (Contributed by Jeff Madsen, 16-Jun-2011.) (Revised by AV, 28-Jun-2026.)
((𝑅 ∈ Ring ∧ 𝐼 ∈ (LIdeal‘𝑅) ∧ 𝐽 ∈ (LIdeal‘𝑅)) → (𝐼 ∩ 𝐽) ∈ (LIdeal‘𝑅))
 
28-Jun-2026unichnlidl 21521 The union of a nonempty chain of ideals is an ideal. (Contributed by Jeff Madsen, 5-Jan-2011.) (Revised by AV, 28-Jun-2026.)
((𝑅 ∈ Ring ∧ (𝐶 ≠ ∅ ∧ 𝐶 ⊆ (LIdeal‘𝑅) ∧ ∀𝑖 ∈ 𝐶 ∀𝑗 ∈ 𝐶 (𝑖 ⊆ 𝑗 ∨ 𝑗 ⊆ 𝑖))) → ∪ 𝐶 ∈ (LIdeal‘𝑅))
 
28-Jun-2026lidlunin0 21520 The union of a nonempty subset of ideals in a ring is nonempty. (Contributed by AV, 28-Jun-2026.)
((𝑅 ∈ Ring ∧ 𝐶 ≠ ∅ ∧ 𝐶 ⊆ (LIdeal‘𝑅)) → ∪ 𝐶 ≠ ∅)
 
27-Jun-2026isidom2 49534 The predicate "is an integral domain": An integral domain is a commutative prime ring. (Contributed by Jeff Madsen, 10-Jun-2010.) (Revised by AV, 27-Jun-2026.)
(𝑅 ∈ IDomn ↔ (𝑅 ∈ PrmRing ∧ 𝑅 ∈ CRing))
 
27-Jun-2026dfidom2 49533 Alternate definition of the class of integral domains. An integral domain is a commutative prime ring. (Contributed by Jeff Madsen, 10-Jun-2010.) (Revised by AV, 27-Jun-2026.)
IDomn = (PrmRing ∩ CRing)
 
27-Jun-2026crngprmringdom 49532 A commutative ring is a prime ring if and only if it is a domain. (Contributed by AV, 27-Jun-2026.)
(𝑅 ∈ CRing → (𝑅 ∈ PrmRing ↔ 𝑅 ∈ Domn))
 
27-Jun-2026crngprmringidom 49531 A commutative ring is a prime ring if and only if it is an integral domain. (Contributed by AV, 27-Jun-2026.)
(𝑅 ∈ CRing → (𝑅 ∈ PrmRing ↔ 𝑅 ∈ IDomn))
 
27-Jun-2026df2idl2crng 21582 The predicate "is an ideal of the commutative ring 𝑅". (Contributed by Jeff Madsen, 10-Jun-2010.) (Revised by AV, 27-Jun-2026.)
𝑈 = (2Ideal‘𝑅)    &   𝐵 = (Base‘𝑅)    &    · = (.r‘𝑅)    ⇒   (𝑅 ∈ CRing → (𝐼 ∈ 𝑈 ↔ (𝐼 ∈ (SubGrp‘𝑅) ∧ ∀𝑥 ∈ 𝐵 ∀𝑦 ∈ 𝐼 (𝑥 · 𝑦) ∈ 𝐼)))
 
27-Jun-2026lidlbasel 21496 An element of an ideal is an element of the ring. (Contributed by Jeff Madsen, 19-Jun-2010.) (Revised by AV, 27-Jun-2026.)
𝐵 = (Base‘𝑊)    &   𝐼 = (LIdeal‘𝑊)    ⇒   ((𝑈 ∈ 𝐼 ∧ 𝑋 ∈ 𝑈) → 𝑋 ∈ 𝐵)
 
27-Jun-20260ring01eqbi2 20788 In a ring, 0 = 1 iff the ring contains only 0. (Contributed by Jeff Madsen, 6-Jan-2011.) (Revised by AV, 27-Jun-2026.)
𝐵 = (Base‘𝑅)    &    0 = (0g‘𝑅)    &    1 = (1r‘𝑅)    ⇒   (𝑅 ∈ Ring → (𝐵 = { 0 } ↔ 1 = 0 ))
 
26-Jun-2026prmrngring 49528 A prime ring is a ring. (Contributed by Jeff Madsen, 10-Jun-2010.) (Revised by AV, 18-Jun-2026.) (Proof shortened by AV, 26-Jun-2026.)
(𝑅 ∈ PrmRing → 𝑅 ∈ Ring)
 
26-Jun-2026prmringnzring 49527 A prime ring is a nonzero ring. (Contributed by AV, 26-Jun-2026.)
(𝑅 ∈ PrmRing → 𝑅 ∈ NzRing)
 
26-Jun-20261enum 35980 The Fundamental Theorem of Enumeration. According to Doron Zeilberger (in https://sites.math.rutgers.edu/~zeilberg/mamarim/mamarimPDF/enu.pdf), this theorem was independently discovered by several anonymous cave-dwellers.

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

See 1enumen 35775 for a version that uses equinumerosity , 1enumcard 35776 for a version that uses the card function, and 1enumkard 35896 for a version that uses the kard function.

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

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

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

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

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

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

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

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

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

(𝐴 ∈ V → 𝐴 ≈ ∪ 𝑥 ∈ 𝐴 ({𝑥} × 1o))
 
26-Jun-20264anpull2 1382 An equivalence of two four-terms conjunctions with the terms regrouped (here, the second sub-conjunct of the first term is pulled separately). (Contributed by Zhi Wang, 4-Sep-2024.) (Proof shortened by Garrett Katz, 26-Jun-2026.)
(((𝜑 ∧ 𝜓) ∧ (𝜒 ∧ 𝜃)) ↔ ((𝜑 ∧ 𝜒 ∧ 𝜃) ∧ 𝜓))
 
25-Jun-2026ifpdfbi 1086 Define the biconditional as conditional logic operator. (Contributed by RP, 20-Apr-2020.) (Proof shortened by Wolf Lammen, 30-Apr-2024.) (Proof shortened by Garrett Katz, 25-Jun-2026.)
((𝜑 ↔ 𝜓) ↔ if-(𝜑, 𝜓, ¬ 𝜓))
 
24-Jun-2026inv2 35757 The intersection of the universal class with a class is itself. A commuted form of inv1 4347. (Contributed by BTernaryTau, 24-Jun-2026.)
(V ∩ 𝐴) = 𝐴
 
23-Jun-2026rankfn 35788 The rank function is a function on the universe. (Contributed by BTernaryTau, 23-Jun-2026.)
rank Fn V
 
23-Jun-2026rankfo 35787 The rank function maps the universe onto the ordinals. (Contributed by BTernaryTau, 23-Jun-2026.)
rank:V–onto→On
 
23-Jun-2026fnfvintima 35762 Condition for a function value to equal the intersection of an image that contains it. (Contributed by BTernaryTau, 23-Jun-2026.)
((𝐹 Fn 𝐴 ∧ 𝐵 ⊆ 𝐴 ∧ 𝐶 ∈ 𝐵) → ((𝐹‘𝐶) = ∩ (𝐹 “ 𝐵) ↔ ∀𝑥 ∈ 𝐵 (𝐹‘𝐶) ⊆ (𝐹‘𝑥)))
 
22-Jun-2026vonf1onprcf1ac 35963 If 𝐹 maps the universe one-to-one into the ordinals and 𝐴 is a proper class, then 𝐼 maps the ordinals one-to-one into 𝐴 and the Axiom of Choice holds. This is the ZFC version of (6 → 7) in https://tinyurl.com/hamkins-gblac. Note that in NBG set theory the first hypothesis would be something like 𝜑 → ∀𝑋∃𝐹𝐹:𝑋–1-1→On, but since we cannot quantify over classes, we instead consider only the case 𝑋 = V which is sufficient for this proof. (Contributed by BTernaryTau, 22-Jun-2026.)
(𝜑 → 𝐹:V–1-1→On)    &   (𝜑 → ¬ 𝐴 ∈ V)    &   𝐼 = (◡(𝐹 ↾ 𝐴) ∘ 𝐻)    &   𝐻 = OrdIso( E , (𝐹 “ 𝐴))    ⇒   (𝜑 → (𝐼:On–1-1→𝐴 ∧ CHOICE))
 
21-Jun-2026f1preimaex 35761 If the image under a one-to-one function exists, then the corresponding preimage also exists. (Contributed by BTernaryTau, 21-Jun-2026.)
((𝐹:𝐴–1-1→𝐵 ∧ 𝐶 ⊆ 𝐴 ∧ (𝐹 “ 𝐶) ∈ 𝑉) → 𝐶 ∈ V)
 
21-Jun-2026sgnrn 15256 The range of the signum function. (Contributed by AV, 16-Jun-2026.) (Proof shortened by TA, 21-Jun-2026.)
ran sgn = { -1, 0, 1}
 
20-Jun-2026reldmun 6022 Split a relation into two parts based on its domain. (Contributed by Thierry Arnoux, 9-Oct-2023.) Remove requirement that 𝐴 and 𝐵 are disjoint. (Revised by Eric Schmidt, 20-Jun-2026.)
((Rel 𝑅 ∧ dom 𝑅 = (𝐴 ∪ 𝐵)) → 𝑅 = ((𝑅 ↾ 𝐴) ∪ (𝑅 ↾ 𝐵)))
 
19-Jun-2026ringen1zr0 21040 The only unital ring with one element is the zero ring (at least if its operations are internal binary operations). This holds already for nonunital rings, see rngen1zr0 20411, and semirings, see srgen1zr0 20447. (Contributed by FL, 15-Feb-2010.) (Revised by AV, 25-Jan-2020.) (Proof shortened by AV, 19-Jun-2026.)
𝐵 = (Base‘𝑅)    &    + = (+g‘𝑅)    &    ∗ = (.r‘𝑅)    &   𝑍 = (0g‘𝑅)    ⇒   ((𝑅 ∈ Ring ∧ + Fn (𝐵 × 𝐵) ∧ ∗ Fn (𝐵 × 𝐵)) → (𝐵 ≈ 1o ↔ ( + = {⟨⟨𝑍, 𝑍⟩, 𝑍⟩} ∧ ∗ = {⟨⟨𝑍, 𝑍⟩, 𝑍⟩})))
 
19-Jun-2026srg1zr 20446 The only semiring with a base set consisting of one element is the zero ring (at least if its operations are internal binary operations). (Contributed by FL, 13-Feb-2010.) (Revised by AV, 25-Jan-2020.) (Proof shortened by AV, 19-Jun-2026.)
𝐵 = (Base‘𝑅)    &    + = (+g‘𝑅)    &    ∗ = (.r‘𝑅)    ⇒   (((𝑅 ∈ SRing ∧ + Fn (𝐵 × 𝐵) ∧ ∗ Fn (𝐵 × 𝐵)) ∧ 𝑍 ∈ 𝐵) → (𝐵 = {𝑍} ↔ ( + = {⟨⟨𝑍, 𝑍⟩, 𝑍⟩} ∧ ∗ = {⟨⟨𝑍, 𝑍⟩, 𝑍⟩})))
 
18-Jun-2026drngprmrng 49530 A division ring is a prime ring. (Contributed by Jeff Madsen, 6-Jan-2011.) (Revised by AV, 18-Jun-2026.)
(𝑅 ∈ DivRing → 𝑅 ∈ PrmRing)
 
18-Jun-2026smprngprmrng 49529 A simple ring (a nonzero ring whose only ideals are 0 and 𝑅) is a prime ring. (Contributed by Jeff Madsen, 6-Jan-2011.) (Revised by AV, 18-Jun-2026.)
𝐵 = (Base‘𝑅)    &    0 = (0g‘𝑅)    &   𝑈 = (LIdeal‘𝑅)    ⇒   ((𝑅 ∈ NzRing ∧ 𝑈 = {{ 0 }, 𝐵}) → 𝑅 ∈ PrmRing)
 
18-Jun-2026isprmrng 49526 The predicate "is a prime ring". (Contributed by Jeff Madsen, 10-Jun-2010.) (Revised by AV, 18-Jun-2026.)
0 = (0g‘𝑅)    &   𝑃 = (PrmIdeal‘𝑅)    ⇒   (𝑅 ∈ PrmRing ↔ (𝑅 ∈ Ring ∧ { 0 } ∈ 𝑃))
 
18-Jun-2026df-prmring 49525 Define the class of prime rings. A ring is prime if the zero ideal is a prime ideal. (Contributed by Jeff Madsen, 10-Jun-2010.) (Revised by AV, 18-Jun-2026.)
PrmRing = {𝑟 ∈ Ring ∣ {(0g‘𝑟)} ∈ (PrmIdeal‘𝑟)}
 
18-Jun-2026prlngsym 29424 Parallelism is symmetric. Theorem 12.5 of [Schwabhauser] p. 122. (Contributed by Thierry Arnoux, 18-Jun-2026.)
𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &    ∥ = (parlnG‘𝐺)    &   (𝜑 → 𝐺 ∈ 𝑉)    &   (𝜑 → 𝐴 ∥ 𝐵)    ⇒   (𝜑 → 𝐵 ∥ 𝐴)
 
18-Jun-2026prlngref 29423 Parallelism is reflexive. Theorem 12.4 of [Schwabhauser] p. 122. (Contributed by Thierry Arnoux, 18-Jun-2026.)
𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &    ∥ = (parlnG‘𝐺)    &   (𝜑 → 𝐺 ∈ 𝑉)    &   (𝜑 → 𝐴 ∈ ran 𝐿)    ⇒   (𝜑 → 𝐴 ∥ 𝐴)
 
18-Jun-2026prlngd 29422 Deduce parallelism between two lines 𝐴 and 𝐵. (Contributed by Thierry Arnoux, 18-Jun-2026.)
𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &    ∥ = (parlnG‘𝐺)    &   (𝜑 → 𝐺 ∈ 𝑉)    &   (𝜑 → 𝐴 ∈ ran 𝐿)    &   (𝜑 → 𝐵 ∈ ran 𝐿)    &   (𝜑 → 𝐻 ∈ ran 𝐸)    &   (𝜑 → 𝐴 ⊆ 𝐻)    &   (𝜑 → 𝐵 ⊆ 𝐻)    &   (𝜑 → (𝐴 ∩ 𝐵) = ∅)    ⇒   (𝜑 → 𝐴 ∥ 𝐵)
 
18-Jun-2026brprlng 29421 Property of two lines 𝐴 and 𝐵 to be parallel. (Contributed by Thierry Arnoux, 18-Jun-2026.)
𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &    ∥ = (parlnG‘𝐺)    &   (𝜑 → 𝐺 ∈ 𝑉)    ⇒   (𝜑 → (𝐴 ∥ 𝐵 ↔ ((𝐴 ∈ ran 𝐿 ∧ 𝐵 ∈ ran 𝐿) ∧ (𝐴 = 𝐵 ∨ (∃ℎ ∈ ran 𝐸(𝐴 ⊆ ℎ ∧ 𝐵 ⊆ ℎ) ∧ (𝐴 ∩ 𝐵) = ∅)))))
 
18-Jun-2026rngen1zr0 20411 The only ring with one element is the zero ring (at least if its operations are internal binary operations). (Contributed by FL, 15-Feb-2010.) (Revised by AV, 18-Jun-2026.)
𝐵 = (Base‘𝑅)    &    + = (+g‘𝑅)    &    ∗ = (.r‘𝑅)    &    0 = (0g‘𝑅)    ⇒   ((𝑅 ∈ Rng ∧ + Fn (𝐵 × 𝐵) ∧ ∗ Fn (𝐵 × 𝐵)) → (𝐵 ≈ 1o ↔ ( + = {⟨⟨ 0 , 0 ⟩, 0 ⟩} ∧ ∗ = {⟨⟨ 0 , 0 ⟩, 0 ⟩})))
 
18-Jun-2026rngen1zr 20410 The only ring with one element is the zero ring (at least if its operations are internal binary operations). (Contributed by FL, 14-Feb-2010.) (Revised by AV, 18-Jun-2026.)
𝐵 = (Base‘𝑅)    &    + = (+g‘𝑅)    &    ∗ = (.r‘𝑅)    ⇒   (((𝑅 ∈ Rng ∧ + Fn (𝐵 × 𝐵) ∧ ∗ Fn (𝐵 × 𝐵)) ∧ 𝑍 ∈ 𝐵) → (𝐵 ≈ 1o ↔ ( + = {⟨⟨𝑍, 𝑍⟩, 𝑍⟩} ∧ ∗ = {⟨⟨𝑍, 𝑍⟩, 𝑍⟩})))
 
18-Jun-2026rng1zr 20409 The only ring with a base set consisting of one element is the zero ring (at least if its operations are internal binary operations). (Contributed by FL, 13-Feb-2010.) (Revised by AV, 18-Jun-2026.)
𝐵 = (Base‘𝑅)    &    + = (+g‘𝑅)    &    ∗ = (.r‘𝑅)    ⇒   (((𝑅 ∈ Rng ∧ + Fn (𝐵 × 𝐵) ∧ ∗ Fn (𝐵 × 𝐵)) ∧ 𝑍 ∈ 𝐵) → (𝐵 = {𝑍} ↔ ( + = {⟨⟨𝑍, 𝑍⟩, 𝑍⟩} ∧ ∗ = {⟨⟨𝑍, 𝑍⟩, 𝑍⟩})))
 
18-Jun-2026rng1zrlem 20408 Lemma for rng1zr 20409 and srg1zr 20446. (Contributed by FL, 13-Feb-2010.) (Revised by AV, 18-Jun-2026.)
𝐵 = (Base‘𝑅)    &    + = (+g‘𝑅)    &    ∗ = (.r‘𝑅)    ⇒   (((𝑅 ∈ Mgm ∧ (mulGrp‘𝑅) ∈ Mgm) ∧ ( + Fn (𝐵 × 𝐵) ∧ ∗ Fn (𝐵 × 𝐵)) ∧ 𝑍 ∈ 𝐵) → (𝐵 = {𝑍} ↔ ( + = {⟨⟨𝑍, 𝑍⟩, 𝑍⟩} ∧ ∗ = {⟨⟨𝑍, 𝑍⟩, 𝑍⟩})))
 
17-Jun-2026df-prlng 29420 Define the parallel relation for lines. Definition 12.2 of [Schwabhauser] p. 121. Note that the textbook first defines a "strict" parallelism where equal lines are not considered parallel in the strict sense: here we jump directly to the more common definition which allows equality. (Contributed by Thierry Arnoux, 17-Jun-2026.)
parlnG = (𝑔 ∈ V ↦ {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran (LineG‘𝑔) ∧ 𝑏 ∈ ran (LineG‘𝑔)) ∧ (𝑎 = 𝑏 ∨ (∃ℎ ∈ ran (hlG‘𝑔)(𝑎 ⊆ ℎ ∧ 𝑏 ⊆ ℎ) ∧ (𝑎 ∩ 𝑏) = ∅)))})
 
17-Jun-2026plng3p 29280 If 𝐻 is a plane containing a line 𝐴 and a point 𝑅 not on 𝐴, then 𝐻 is the plane defined by 𝐴 and 𝑅. Theorem 9.26 of [Schwabhauser] p. 76. See tglinethru 29109 for the 2-point line equivalent. (Contributed by Thierry Arnoux, 17-Jun-2026.)
𝑃 = (Base‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐻 ∈ ran 𝐸)    &   (𝜑 → 𝐴 ∈ ran 𝐿)    &   (𝜑 → 𝑅 ∈ (𝐻 ∖ 𝐴))    &   (𝜑 → 𝐴 ⊆ 𝐻)    ⇒   (𝜑 → 𝐻 = (𝐴𝐸𝑅))
 
17-Jun-2026lnssplng1 29276 A line defined by two points 𝑋 and 𝑌, both on a plane 𝐻, is entirely contained in 𝐻. First part of Theorem 9.25 of [Schwabhauser] p. 75. (Contributed by Thierry Arnoux, 17-Jun-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐻 ∈ ran 𝐸)    &   (𝜑 → 𝑋 ∈ 𝐻)    &   (𝜑 → 𝑌 ∈ 𝐻)    &   (𝜑 → 𝑋 ≠ 𝑌)    ⇒   (𝜑 → (𝑋𝐿𝑌) ⊆ 𝐻)
 
17-Jun-2026lnssplng 29275 A line defined by two points 𝑋 and 𝑌, both on a plane 𝐻, is entirely contained in 𝐻. Theorem 9.25 of [Schwabhauser] p. 75. (Contributed by Thierry Arnoux, 17-Jun-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐻 ∈ ran 𝐸)    &   (𝜑 → 𝑋 ∈ 𝐻)    &   (𝜑 → 𝑌 ∈ 𝐻)    &   (𝜑 → 𝑋 ≠ 𝑌)    ⇒   (𝜑 → ((𝑋𝐿𝑌) ⊆ 𝐻 ∧ ∃𝑠 ∈ (𝑃 ∖ (𝑋𝐿𝑌))𝐻 = ((𝑋𝐿𝑌)𝐸𝑠)))
 
17-Jun-2026lnssplnglem 29274 Lemma for lnssplng 29275. (Contributed by Thierry Arnoux, 17-Jun-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝑋 ∈ (𝐴𝐸𝑅))    &   (𝜑 → 𝑌 ∈ (𝐴𝐸𝑅))    &   (𝜑 → 𝑋 ≠ 𝑌)    &   (𝜑 → 𝐴 ∈ ran 𝐿)    &   (𝜑 → 𝑅 ∈ (𝑃 ∖ 𝐴))    &   (𝜑 → 𝐴 ≠ (𝑋𝐿𝑌))    &   (𝜑 → ¬ 𝑌 ∈ 𝐴)    ⇒   (𝜑 → ((𝑋𝐿𝑌) ⊆ (𝐴𝐸𝑅) ∧ ∃𝑠 ∈ (𝑃 ∖ (𝑋𝐿𝑌))(𝐴𝐸𝑅) = ((𝑋𝐿𝑌)𝐸𝑠)))
 
17-Jun-2026plngrot 29273 The plane defined by a line (𝑋𝐿𝑌) and a point 𝑍 is also defined by the line (𝑍𝐿𝑌) and the point 𝑋. See first part of Theorem 9.24 of [Schwabhauser] p. 74. (Contributed by Thierry Arnoux, 17-Jun-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝑋 ∈ (𝑃 ∖ (𝑍𝐿𝑌)))    &   (𝜑 → 𝑌 ∈ 𝑃)    &   (𝜑 → 𝑍 ∈ (𝑃 ∖ (𝑋𝐿𝑌)))    &   (𝜑 → 𝑋 ≠ 𝑌)    ⇒   (𝜑 → ((𝑋𝐿𝑌)𝐸𝑍) = ((𝑍𝐿𝑌)𝐸𝑋))
 
17-Jun-2026plngrotlem3 29272 Lemma for plngrot 29273. (Contributed by Thierry Arnoux, 17-Jun-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝑋 ∈ (𝑃 ∖ (𝑍𝐿𝑌)))    &   (𝜑 → 𝑌 ∈ 𝑃)    &   (𝜑 → 𝑍 ∈ (𝑃 ∖ (𝑋𝐿𝑌)))    &   (𝜑 → 𝑋 ≠ 𝑌)    &   𝑂 = {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ (𝑃 ∖ (𝑋𝐿𝑌)) ∧ 𝑏 ∈ (𝑃 ∖ (𝑋𝐿𝑌))) ∧ ∃𝑡 ∈ (𝑋𝐿𝑌)𝑡 ∈ (𝑎𝐼𝑏))}    ⇒   (𝜑 → ((𝑋𝐿𝑌)𝐸𝑍) ⊆ ((𝑍𝐿𝑌)𝐸𝑋))
 
17-Jun-2026plngrotlem2 29271 Lemma for plngrot 29273. (Contributed by Thierry Arnoux, 17-Jun-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝑋 ∈ (𝑃 ∖ (𝑍𝐿𝑌)))    &   (𝜑 → 𝑌 ∈ 𝑃)    &   (𝜑 → 𝑍 ∈ (𝑃 ∖ (𝑋𝐿𝑌)))    &   (𝜑 → 𝑋 ≠ 𝑌)    &   𝑂 = {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ (𝑃 ∖ (𝑋𝐿𝑌)) ∧ 𝑏 ∈ (𝑃 ∖ (𝑋𝐿𝑌))) ∧ ∃𝑡 ∈ (𝑋𝐿𝑌)𝑡 ∈ (𝑎𝐼𝑏))}    &   (𝜑 → 𝑊 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ (𝑍𝐼𝑊))    &   (𝜑 → 𝑌 ≠ 𝑊)    ⇒   (𝜑 → ((𝑋𝐿𝑌)𝐸𝑍) ⊆ ((𝑍𝐿𝑌)𝐸𝑋))
 
17-Jun-2026plngrotlem1 29270 Lemma for plngrot 29273. (Contributed by Thierry Arnoux, 17-Jun-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝑋 ∈ (𝑃 ∖ (𝑍𝐿𝑌)))    &   (𝜑 → 𝑌 ∈ 𝑃)    &   (𝜑 → 𝑍 ∈ (𝑃 ∖ (𝑋𝐿𝑌)))    &   (𝜑 → 𝑋 ≠ 𝑌)    &   𝑂 = {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ (𝑃 ∖ (𝑋𝐿𝑌)) ∧ 𝑏 ∈ (𝑃 ∖ (𝑋𝐿𝑌))) ∧ ∃𝑡 ∈ (𝑋𝐿𝑌)𝑡 ∈ (𝑎𝐼𝑏))}    &   (𝜑 → 𝑊 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ (𝑍𝐼𝑊))    &   (𝜑 → 𝑌 ≠ 𝑊)    &   (𝜑 → 𝑆 ∈ ((𝑋𝐿𝑌)𝐸𝑍))    &   (𝜑 → (𝑆 ∈ (𝑋𝐿𝑌) ∨ 𝑆((hpG‘𝐺)‘(𝑋𝐿𝑌))𝑍))    ⇒   (𝜑 → 𝑆 ∈ ((𝑍𝐿𝑌)𝐸𝑋))
 
17-Jun-2026plngcp 29269 The plane defined by a line 𝐴 and a point 𝑅 can also be defined using a different point 𝑅 on the same plane: changes the point used to define the plane. Theorem 9.21 of [Schwabhauser] p. 74. (Contributed by Thierry Arnoux, 17-Jun-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ ran 𝐿)    &   (𝜑 → 𝑅 ∈ (𝑃 ∖ 𝐴))    &   (𝜑 → 𝑆 ∈ ((𝐴𝐸𝑅) ∖ 𝐴))    ⇒   (𝜑 → (𝐴𝐸𝑅) = (𝐴𝐸𝑆))
 
17-Jun-2026plngcplem 29268 Lemma for plngcp 29269. (Contributed by Thierry Arnoux, 17-Jun-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ ran 𝐿)    &   (𝜑 → 𝑅 ∈ (𝑃 ∖ 𝐴))    &   (𝜑 → 𝑆 ∈ ((𝐴𝐸𝑅) ∖ 𝐴))    &   𝑂 = {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ (𝑃 ∖ 𝐴) ∧ 𝑏 ∈ (𝑃 ∖ 𝐴)) ∧ ∃𝑡 ∈ 𝐴 𝑡 ∈ (𝑎𝐼𝑏))}    ⇒   (𝜑 → (𝐴𝐸𝑅) = (𝐴𝐸𝑆))
 
17-Jun-2026lnincplng 29267 If two lines 𝐴 and 𝐵 intersect, then 𝐵 is in a plane defined by 𝐴 and any point of 𝐵. Lemma 9.22 of [Schwabhauser] p. 74. (Contributed by Thierry Arnoux, 17-Jun-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ ran 𝐿)    &   (𝜑 → 𝐵 ∈ ran 𝐿)    &   (𝜑 → 𝑋 ∈ 𝐵)    &   (𝜑 → 𝑌 ∈ 𝑃)    &   (𝜑 → 𝑋 ≠ 𝑌)    &   (𝜑 → (𝐴 ∩ 𝐵) = {𝑌})    ⇒   (𝜑 → 𝐵 ⊆ (𝐴𝐸𝑋))
 
17-Jun-2026elplnglnid 29266 The line 𝐴 itself is a subset of a plane defined by the line 𝐴 and a point 𝑅. (Contributed by Thierry Arnoux, 17-Jun-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ ran 𝐿)    &   (𝜑 → 𝑅 ∈ (𝑃 ∖ 𝐴))    ⇒   (𝜑 → 𝐴 ⊆ (𝐴𝐸𝑅))
 
17-Jun-2026elplngid 29265 The point 𝑅 is itself an element of a plane defined by a line 𝐴 and the point 𝑅. (Contributed by Thierry Arnoux, 17-Jun-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ ran 𝐿)    &   (𝜑 → 𝑅 ∈ (𝑃 ∖ 𝐴))    ⇒   (𝜑 → 𝑅 ∈ (𝐴𝐸𝑅))
 
17-Jun-2026plngssp 29264 Planes are sets of points. (Contributed by Thierry Arnoux, 17-Jun-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ ran 𝐿)    &   (𝜑 → 𝑅 ∈ (𝑃 ∖ 𝐴))    &   (𝜑 → 𝑋 ∈ (𝐴𝐸𝑅))    ⇒   (𝜑 → 𝑋 ∈ 𝑃)
 
17-Jun-2026elplng 29263 Elementhood in the plane defined by a line 𝐴 and a point 𝑅. Definition 9.20 of [Schwabhauser] p. 74. (Contributed by Thierry Arnoux, 17-Jun-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ ran 𝐿)    &   (𝜑 → 𝑅 ∈ (𝑃 ∖ 𝐴))    &   𝑂 = {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ (𝑃 ∖ 𝐴) ∧ 𝑏 ∈ (𝑃 ∖ 𝐴)) ∧ ∃𝑡 ∈ 𝐴 𝑡 ∈ (𝑎𝐼𝑏))}    &   (𝜑 → 𝑋 ∈ 𝑃)    ⇒   (𝜑 → (𝑋 ∈ (𝐴𝐸𝑅) ↔ (𝑋 ∈ 𝐴 ∨ 𝑋((hpG‘𝐺)‘𝐴)𝑅 ∨ 𝑋𝑂𝑅)))
 
17-Jun-2026plngrnssp 29262 Planes are sets of points. (Contributed by Thierry Arnoux, 17-Jun-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐻 ∈ ran 𝐸)    &   (𝜑 → 𝑋 ∈ 𝐻)    ⇒   (𝜑 → 𝑋 ∈ 𝑃)
 
17-Jun-2026isplng 29261 The property of being a plane. (Contributed by Thierry Arnoux, 17-Jun-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐻 ∈ ran 𝐸)    ⇒   (𝜑 → ∃𝑎 ∈ ran 𝐿∃𝑟 ∈ (𝑃 ∖ 𝑎)𝐻 = (𝑎𝐸𝑟))
 
17-Jun-2026plngval 29260 The plane defined by a line 𝐴 and a point 𝑅 outside of 𝐴. This is defined as the union of 3 parts: the line itself, the open half-plane containing 𝑅, and the points opposite to 𝑅 (see islnopp 29220). (Contributed by Thierry Arnoux, 17-Jun-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ ran 𝐿)    &   (𝜑 → 𝑅 ∈ (𝑃 ∖ 𝐴))    ⇒   (𝜑 → (𝐴𝐸𝑅) = {𝑥 ∈ 𝑃 ∣ (𝑥 ∈ 𝐴 ∨ 𝑥((hpG‘𝐺)‘𝐴)𝑅 ∨ ∃𝑡 ∈ 𝐴 𝑡 ∈ (𝑥𝐼𝑅))})
 
17-Jun-2026tgelrnpln 29259 The property of being a plane, generated by a line and a point. (Contributed by Thierry Arnoux, 17-Jun-2026.)
𝑃 = (Base‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &   (𝜑 → 𝐺 ∈ 𝑉)    &   (𝜑 → 𝐴 ∈ ran 𝐿)    &   (𝜑 → 𝑅 ∈ (𝑃 ∖ 𝐴))    ⇒   (𝜑 → (𝐴𝐸𝑅) ∈ ran 𝐸)
 
17-Jun-2026tgplnfn 29258 The plane generating function as a function. (Contributed by Thierry Arnoux, 17-Jun-2026.)
𝑃 = (Base‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   𝐸 = (hlG‘𝐺)    &   (𝜑 → 𝐺 ∈ 𝑉)    ⇒   (𝜑 → 𝐸 Fn ((ran 𝐿 × 𝑃) ∖ ◡ E ))
 
17-Jun-2026df-plng 29257 Define the function building a plane from a line and a point not on that line. Definition 9.20 of [Schwabhauser] p. 74. (Contributed by Thierry Arnoux, 17-Jun-2026.)
hlG = (𝑔 ∈ V ↦ (𝑎 ∈ ran (LineG‘𝑔), 𝑟 ∈ ((Base‘𝑔) ∖ 𝑎) ↦ {𝑥 ∈ (Base‘𝑔) ∣ (𝑥 ∈ 𝑎 ∨ 𝑥((hpG‘𝑔)‘𝑎)𝑟 ∨ ∃𝑡 ∈ 𝑎 𝑡 ∈ (𝑥(Itv‘𝑔)𝑟))}))
 
17-Jun-2026tglnpt4 29128 Find a second point on a line, outside of a second line. (Contributed by Thierry Arnoux, 17-Jun-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ ran 𝐿)    &   (𝜑 → 𝐵 ∈ ran 𝐿)    &   (𝜑 → 𝑋 ∈ 𝐴)    &   (𝜑 → 𝐴 ≠ 𝐵)    ⇒   (𝜑 → ∃𝑧 ∈ (𝐴 ∖ 𝐵)𝑧 ≠ 𝑋)
 
17-Jun-2026tglnpt3 29127 Find a third point on a line. (Contributed by Thierry Arnoux, 17-Jun-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ ran 𝐿)    &   (𝜑 → 𝑋 ∈ 𝐴)    &   (𝜑 → 𝑌 ∈ 𝐴)    &   (𝜑 → 𝑋 ≠ 𝑌)    ⇒   (𝜑 → ∃𝑧 ∈ 𝐴 (𝑧 ≠ 𝑋 ∧ 𝑧 ≠ 𝑌))
 
17-Jun-2026tglineinsn 29117 If two distinct lines intersect, it is at a single point. Theorem 6.21 of [Schwabhauser] p. 46. (Contributed by Thierry Arnoux, 17-Jun-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ ran 𝐿)    &   (𝜑 → 𝐵 ∈ ran 𝐿)    &   (𝜑 → 𝐴 ≠ 𝐵)    &   (𝜑 → 𝑋 ∈ (𝐴 ∩ 𝐵))    ⇒   (𝜑 → (𝐴 ∩ 𝐵) = {𝑋})
 
17-Jun-2026tglinesseq 29113 If a line is a subset of another line, they are equal. (Contributed by Thierry Arnoux, 17-Jun-2026.)
𝐿 = (LineG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ ran 𝐿)    &   (𝜑 → 𝐵 ∈ ran 𝐿)    &   (𝜑 → 𝐴 ⊆ 𝐵)    ⇒   (𝜑 → 𝐴 = 𝐵)
 
17-Jun-2026mpoexd 8093 Existence of an operation class abstraction. (Contributed by Thierry Arnoux, 17-Jun-2026.)
(𝜑 → 𝐴 ∈ 𝑉)    &   ((𝜑 ∧ 𝑥 ∈ 𝐴) → 𝐵 ∈ 𝑊)    ⇒   (𝜑 → (𝑥 ∈ 𝐴, 𝑦 ∈ 𝐵 ↦ 𝐶) ∈ V)
 
17-Jun-2026xpdifcnvepel 6159 The set of couples in a Cartesian product, where the second is not an element of the first. (Contributed by Thierry Arnoux, 17-Jun-2026.)
∪ 𝑥 ∈ 𝐴 ({𝑥} × (𝐵 ∖ 𝑥)) = ((𝐴 × 𝐵) ∖ ◡ E )
 
16-Jun-2026sgnfo 15257 The signum function as onto function. (Contributed by AV, 16-Jun-2026.)
sgn:ℝ*–onto→{ -1, 0, 1}
 
16-Jun-2026sgndm 15254 The domain of the signum function. (Contributed by AV, 16-Jun-2026.)
dom sgn = ℝ*
 
16-Jun-2026resdmdfsn 6020 Restricting a class to its domain without a set is the same as restricting the class to the universe without this set. (Contributed by AV, 2-Dec-2018.) Remove antecedent. (Revised by Eric Schmidt, 16-Jun-2026.)
(𝑅 ↾ (V ∖ {𝑋})) = (𝑅 ↾ (dom 𝑅 ∖ {𝑋}))
 
16-Jun-2026resindm 6018 When restricting a class, intersecting with the domain of the class has no effect. (Contributed by FL, 6-Oct-2008.) Remove antecedent. (Revised by Eric Schmidt, 16-Jun-2026.)
(𝐴 ↾ (𝐵 ∩ dom 𝐴)) = (𝐴 ↾ 𝐵)
 
16-Jun-20263jaao 1460 Inference conjoining and disjoining the antecedents of three implications. (Contributed by Jeff Hankins, 15-Aug-2009.) (Proof shortened by Andrew Salmon, 13-May-2011.) (Proof shortened by Garrett Katz, 16-Jun-2026.)
(𝜑 → (𝜓 → 𝜒))    &   (𝜃 → (𝜏 → 𝜒))    &   (𝜂 → (𝜁 → 𝜒))    ⇒   ((𝜑 ∧ 𝜃 ∧ 𝜂) → ((𝜓 ∨ 𝜏 ∨ 𝜁) → 𝜒))
 
16-Jun-20263jaoi 1454 Disjunction of three antecedents (inference). (Contributed by NM, 12-Sep-1995.) (Proof shortened by Garrett Katz, 16-Jun-2026.)
(𝜑 → 𝜓)    &   (𝜒 → 𝜓)    &   (𝜃 → 𝜓)    ⇒   ((𝜑 ∨ 𝜒 ∨ 𝜃) → 𝜓)
 
15-Jun-2026anbiim 653 Adding biconditional when antecedents are conjuncted. (Contributed by metakunt, 16-Apr-2024.) (Proof shortened by Wolf Lammen, 7-May-2025.) (Proof shortened by Garrett Katz, 15-Jun-2026.)
(𝜑 → (𝜒 → 𝜃))    &   (𝜓 → (𝜃 → 𝜒))    ⇒   ((𝜑 ∧ 𝜓) → (𝜒 ↔ 𝜃))
 
15-Jun-2026imbibi 396 The antecedent of one side of a biconditional can be moved out of the biconditional to become the antecedent of the remaining biconditional. (Contributed by BJ, 1-Jan-2025.) (Proof shortened by Wolf Lammen, 5-Jan-2025.) (Proof shortened by Garrett Katz, 15-Jun-2026.)
(((𝜑 → 𝜓) ↔ 𝜒) → (𝜑 → (𝜓 ↔ 𝜒)))
 
13-Jun-2026ad5ant135 1394 Deduction adding conjuncts to antecedent. (Contributed by Alan Sare, 17-Oct-2017.) (Proof shortened by Wolf Lammen, 23-Jun-2022.) (Proof shortened by Garrett Katz, 13-Jun-2026.)
((𝜑 ∧ 𝜓 ∧ 𝜒) → 𝜃)    ⇒   (((((𝜑 ∧ 𝜏) ∧ 𝜓) ∧ 𝜂) ∧ 𝜒) → 𝜃)
 
13-Jun-2026ad5ant134 1392 Deduction adding conjuncts to antecedent. (Contributed by Alan Sare, 17-Oct-2017.) (Proof shortened by Wolf Lammen, 23-Jun-2022.) (Proof shortened by Garrett Katz, 13-Jun-2026.)
((𝜑 ∧ 𝜓 ∧ 𝜒) → 𝜃)    ⇒   (((((𝜑 ∧ 𝜏) ∧ 𝜓) ∧ 𝜒) ∧ 𝜂) → 𝜃)
 
13-Jun-2026ad5ant125 1390 Deduction adding conjuncts to antecedent. (Contributed by Alan Sare, 17-Oct-2017.) (Proof shortened by Wolf Lammen, 23-Jun-2022.) (Proof shortened by Garrett Katz, 13-Jun-2026.)
((𝜑 ∧ 𝜓 ∧ 𝜒) → 𝜃)    ⇒   (((((𝜑 ∧ 𝜓) ∧ 𝜏) ∧ 𝜂) ∧ 𝜒) → 𝜃)
 
13-Jun-2026ad5ant124 1388 Deduction adding conjuncts to antecedent. (Contributed by Alan Sare, 17-Oct-2017.) (Proof shortened by Wolf Lammen, 23-Jun-2022.) (Proof shortened by Garrett Katz, 13-Jun-2026.)
((𝜑 ∧ 𝜓 ∧ 𝜒) → 𝜃)    ⇒   (((((𝜑 ∧ 𝜓) ∧ 𝜏) ∧ 𝜒) ∧ 𝜂) → 𝜃)
 
12-Jun-2026nmulcld 37034 Closure law for natural multiplication. Deduction form. (Contributed by Scott Fenton, 12-Jun-2026.)
(𝜑 → 𝐴 ∈ On)    &   (𝜑 → 𝐵 ∈ On)    ⇒   (𝜑 → (𝐴 ·no 𝐵) ∈ On)
 
12-Jun-2026onvfowev 35969 If 𝐹 maps the ordinals onto the universe, then 𝑅 well-orders the universe. This is the ZFC version of (8 → 3) in https://tinyurl.com/hamkins-gblac. Note that in NBG set theory the antecedent would be something like ∀𝑋(𝑋 ≠ ∅ → ∃𝐹𝐹:On–onto→𝑋), but since we cannot quantify over classes, we instead consider only the case 𝑋 = V which is sufficient for this proof. (Contributed by BTernaryTau, 12-Jun-2026.)
𝑅 = {⟨𝑥, 𝑦⟩ ∣ (𝐻‘𝑥) ∈ (𝐻‘𝑦)}    &   𝐻 = (𝑧 ∈ V ↦ ∩ (◡𝐹 “ {𝑧}))    ⇒   (𝐹:On–onto→V → 𝑅 We V)
 
11-Jun-2026vonf1oonfo 35968 If 𝐹 is a bijection from the ordinals to the universe and 𝐴 is non-empty, then 𝐻 maps the ordinals onto 𝐴. This is the ZFC version of (5 → 8) in https://tinyurl.com/hamkins-gblac, though it neglects to specify that 𝐴 must be non-empty. Note that in NBG set theory the antecedent would be something like ∀𝑋(¬ 𝑋 ∈ V → ∃𝐹𝐹:𝑋–1-1-onto→On), but since we cannot quantify over classes, we instead consider only the case 𝑋 = V which is sufficient for this proof. This theorem can also be viewed as (2 → 8). (Contributed by BTernaryTau, 11-Jun-2026.)
𝐻 = (𝑥 ∈ On ↦ if((𝐹‘𝑥) ∈ 𝐴, (𝐹‘𝑥), 𝐷))    &   𝐷 = (𝐹‘∩ {𝑦 ∈ On ∣ (𝐹‘𝑦) ∈ 𝐴})    ⇒   ((𝐹:On–1-1-onto→V ∧ 𝐴 ≠ ∅) → 𝐻:On–onto→𝐴)
 
11-Jun-2026vonf1owev 35956 If 𝐹 is a bijection from the universe to the ordinals, then 𝑅 well-orders the universe. This is the ZFC version of (2 → 3) in https://tinyurl.com/hamkins-gblac. (Contributed by BTernaryTau, 6-Dec-2025.) (Proof shortened by BTernaryTau, 11-Jun-2026.)
𝑅 = {⟨𝑥, 𝑦⟩ ∣ (𝐹‘𝑥) ∈ (𝐹‘𝑦)}    ⇒   (𝐹:V–1-1-onto→On → 𝑅 We V)
 
11-Jun-2026vonf1wev 35955 If 𝐹 maps the universe one-to-one into the ordinals, then 𝑅 well-orders the universe. This is the ZFC version of (6 → 3) which can be used in place of (7 → 3) in https://tinyurl.com/hamkins-gblac. Note that in NBG set theory the antecedent would be something like ∀𝑋∃𝐹𝐹:𝑋–1-1→On, but since we cannot quantify over classes, we instead consider only the case 𝑋 = V which is sufficient for this proof. (Contributed by BTernaryTau, 11-Jun-2026.)
𝑅 = {⟨𝑥, 𝑦⟩ ∣ (𝐹‘𝑥) ∈ (𝐹‘𝑦)}    ⇒   (𝐹:V–1-1→On → 𝑅 We V)
 
10-Jun-2026nmull0 37037 Natural multiplication by zero. (Contributed by Scott Fenton, 10-Jun-2026.)
(𝐴 ∈ On → (∅ ·no 𝐴) = ∅)
 
10-Jun-2026nmulr0 37036 Natural multiplication by zero. (Contributed by Scott Fenton, 10-Jun-2026.)
(𝐴 ∈ On → (𝐴 ·no ∅) = ∅)
 
10-Jun-2026nmulcom 37035 Natural multiplication is commutative. (Contributed by Scott Fenton, 10-Jun-2026.)
((𝐴 ∈ On ∧ 𝐵 ∈ On) → (𝐴 ·no 𝐵) = (𝐵 ·no 𝐴))
 
10-Jun-2026nmulval 37033 Show the value of natural multiplication. (Contributed by Scott Fenton, 10-Jun-2026.)
((𝐴 ∈ On ∧ 𝐵 ∈ On) → (𝐴 ·no 𝐵) = ∩ {𝑥 ∈ On ∣ ∀𝑎 ∈ 𝐴 ∀𝑏 ∈ 𝐵 ((𝑎 ·no 𝐵) +no (𝐴 ·no 𝑏)) ∈ (𝑥 +no (𝑎 ·no 𝑏))})
 
10-Jun-2026nmulcl 37032 Closure law for natural multiplication. (Contributed by Scott Fenton, 10-Jun-2026.)
((𝐴 ∈ On ∧ 𝐵 ∈ On) → (𝐴 ·no 𝐵) ∈ On)
 
10-Jun-2026vonf1oonf1 35962 If 𝐹 is a bijection from the universe to the ordinals, then 𝐻 maps 𝐴 one-to-one into the ordinals. This is the ZFC version of (5 → 6) in https://tinyurl.com/hamkins-gblac. Note that in NBG set theory the antecedent would be something like ∀𝑋(¬ 𝑋 ∈ V → ∃𝐹𝐹:𝑋–1-1-onto→On), but since we cannot quantify over classes, we instead consider only the case 𝑋 = V which is sufficient for this proof. This theorem can also be viewed as (2 → 6). (Contributed by BTernaryTau, 10-Jun-2026.)
𝐻 = (𝐹 ↾ 𝐴)    ⇒   (𝐹:V–1-1-onto→On → 𝐻:𝐴–1-1→On)
 
10-Jun-2026bdaydm 28140 The birthday function's domain is No. (Contributed by Scott Fenton, 14-Jun-2011.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
dom bday = No
 
10-Jun-2026pige0 26793 π is nonnegative. (Contributed by Umit Teoman Dogan, 10-Jun-2026.)
0 ≤ π
 
10-Jun-20262picn 26791 (2 · π) is a complex number. (Contributed by Umit Teoman Dogan, 10-Jun-2026.)
(2 · π) ∈ ℂ
 
10-Jun-20262pire 26789 (2 · π) is a real number. (Contributed by Umit Teoman Dogan, 10-Jun-2026.)
(2 · π) ∈ ℝ
 
10-Jun-202610nprm 17296 10 is not a prime number. (Contributed by Mario Carneiro, 18-Feb-2014.) (Revised by AV, 6-Sep-2021.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
¬ 10 ∈ ℙ
 
10-Jun-20261lt10 12962 1 is less than 10. (Contributed by NM, 7-Nov-2012.) (Revised by Mario Carneiro, 9-Mar-2015.) (Revised by AV, 8-Sep-2021.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
1 < 10
 
10-Jun-20262lt10 12961 2 is less than 10. (Contributed by Mario Carneiro, 10-Mar-2015.) (Revised by AV, 8-Sep-2021.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
2 < 10
 
10-Jun-20263lt10 12960 3 is less than 10. (Contributed by Mario Carneiro, 10-Mar-2015.) (Revised by AV, 8-Sep-2021.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
3 < 10
 
10-Jun-20264lt10 12959 4 is less than 10. (Contributed by Mario Carneiro, 10-Mar-2015.) (Revised by AV, 8-Sep-2021.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
4 < 10
 
10-Jun-20265lt10 12958 5 is less than 10. (Contributed by Mario Carneiro, 10-Mar-2015.) (Revised by AV, 8-Sep-2021.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
5 < 10
 
10-Jun-20266lt10 12957 6 is less than 10. (Contributed by Mario Carneiro, 10-Mar-2015.) (Revised by AV, 8-Sep-2021.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
6 < 10
 
10-Jun-20267lt10 12956 7 is less than 10. (Contributed by Mario Carneiro, 10-Mar-2015.) (Revised by AV, 8-Sep-2021.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
7 < 10
 
10-Jun-20268lt10 12955 8 is less than 10. (Contributed by Mario Carneiro, 8-Feb-2015.) (Revised by AV, 8-Sep-2021.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
8 < 10
 
10-Jun-20269t11e99 12952 9 times 11 equals 99. (Contributed by AV, 14-Jun-2021.) (Revised by AV, 6-Sep-2021.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
(9 · 11) = 99
 
10-Jun-202611nn 12842 11 is a positive integer. (Contributed by Umit Teoman Dogan, 10-Jun-2026.)
11 ∈ ℕ
 
10-Jun-202625nn0 12836 25 is a nonnegative integer. (Contributed by Umit Teoman Dogan, 10-Jun-2026.)
25 ∈ ℕ0
 
10-Jun-202616nn0 12835 16 is a nonnegative integer. (Contributed by Umit Teoman Dogan, 10-Jun-2026.)
16 ∈ ℕ0
 
10-Jun-202612nn0 12834 12 is a nonnegative integer. (Contributed by Umit Teoman Dogan, 10-Jun-2026.)
12 ∈ ℕ0
 
10-Jun-202611nn0 12833 11 is a nonnegative integer. (Contributed by Umit Teoman Dogan, 10-Jun-2026.)
11 ∈ ℕ0
 
10-Jun-20262le3 12520 2 is less than or equal to 3. (Contributed by Umit Teoman Dogan, 10-Jun-2026.)
2 ≤ 3
 
10-Jun-20262t4e8 12515 2 times 4 equals 8. (Contributed by Umit Teoman Dogan, 10-Jun-2026.)
(2 · 4) = 8
 
10-Jun-20262t3e6 12512 2 times 3 equals 6. (Contributed by Umit Teoman Dogan, 10-Jun-2026.)
(2 · 3) = 6
 
10-Jun-20262m1e1 12470 2 - 1 = 1. The result is on the right-hand-side to be consistent with similar proofs like 4p4e8 12500. (Contributed by David A. Wheeler, 4-Jan-2017.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
(2 − 1) = 1
 
10-Jun-20269pos 12462 The number 9 is positive. (Contributed by NM, 27-May-1999.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
0 < 9
 
10-Jun-20268pos 12461 The number 8 is positive. (Contributed by NM, 27-May-1999.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
0 < 8
 
10-Jun-20267pos 12460 The number 7 is positive. (Contributed by NM, 27-May-1999.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
0 < 7
 
10-Jun-20266pos 12459 The number 6 is positive. (Contributed by NM, 27-May-1999.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
0 < 6
 
10-Jun-20265pos 12458 The number 5 is positive. (Contributed by NM, 27-May-1999.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
0 < 5
 
10-Jun-20264pos 12456 The number 4 is positive. (Contributed by NM, 27-May-1999.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
0 < 4
 
10-Jun-20263pos 12454 The number 3 is positive. (Contributed by NM, 27-May-1999.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
0 < 3
 
10-Jun-20262thalfe1 12453 2 times one half equals 1. (Contributed by Umit Teoman Dogan, 10-Jun-2026.)
(2 · (1 / 2)) = 1
 
10-Jun-20262pos 12450 The number 2 is positive. (Contributed by NM, 27-May-1999.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
0 < 2
 
10-Jun-20260le2 12448 The number 0 is less than or equal to 2. (Contributed by David A. Wheeler, 7-Dec-2018.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
0 ≤ 2
 
10-Jun-20261eltp012 12416 1 is an element of {0, 1, 2}. (Contributed by Umit Teoman Dogan, 10-Jun-2026.)
1 ∈ {0, 1, 2}
 
10-Jun-20261elpr01 11307 1 is an element of {0, 1}. (Contributed by Umit Teoman Dogan, 10-Jun-2026.)
1 ∈ {0, 1}
 
10-Jun-20260elpr01 11304 0 is an element of {0, 1}. (Contributed by Umit Teoman Dogan, 10-Jun-2026.)
0 ∈ {0, 1}
 
10-Jun-2026cfon 10335 The cofinality of any set is an ordinal (although it only makes sense when 𝐴 is an ordinal). (Contributed by Mario Carneiro, 9-Mar-2013.) Avoid ax-pow 5326 and ax-un 7751. (Revised by Umit Teoman Dogan, 10-Jun-2026.)
(cf‘𝐴) ∈ On
 
10-Jun-20261n0 8498 Ordinal one is not equal to ordinal zero. (Contributed by NM, 26-Dec-2004.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
1o ≠ ∅
 
10-Jun-20261oelpr 8490 1o is an element of {∅, 1o}. (Contributed by Umit Teoman Dogan, 10-Jun-2026.)
1o ∈ {∅, 1o}
 
10-Jun-2026tfrlem6 8392 Lemma for transfinite recursion. The union of all acceptable functions is a relation. (Contributed by NM, 8-Aug-1994.) (Revised by Mario Carneiro, 9-May-2015.) Avoid ax-10 2177, ax-nul 5259, ax-pr 5390, ax-sep 5248 and ax-un 7751. (Revised by Umit Teoman Dogan, 10-Jun-2026.)
𝐴 = {𝑓 ∣ ∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦 ∈ 𝑥 (𝑓‘𝑦) = (𝐹‘(𝑓 ↾ 𝑦)))}    ⇒   Rel recs(𝐹)
 
10-Jun-2026pwuninel 8295 The powerclass of the union of a class does not belong to that class. This theorem provides a way of constructing a new set that does not belong to a given set. See also pwuninel2 8294. (Contributed by NM, 27-Jun-2008.) (Proof shortened by Mario Carneiro, 23-Dec-2016.) Avoid ax-pr 5390 and ax-un 7751. (Revised by Umit Teoman Dogan, 10-Jun-2026.)
¬ 𝒫 ∪ 𝐴 ∈ 𝐴
 
10-Jun-2026peano3 7902 The successor of any natural number is not zero. One of Peano's five postulates for arithmetic. Proposition 7.30(3) of [TakeutiZaring] p. 42. (Contributed by NM, 3-Sep-2003.) Avoid ax-nul 5259. (Revised by Umit Teoman Dogan, 10-Jun-2026.)
(𝐴 ∈ ω → suc 𝐴 ≠ ∅)
 
10-Jun-2026f1odm 6828 The domain of a one-to-one onto mapping. (Contributed by NM, 8-Mar-2014.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
(𝐹:𝐴–1-1-onto→𝐵 → dom 𝐹 = 𝐴)
 
10-Jun-2026f1rel 6782 A one-to-one onto mapping is a relation. (Contributed by NM, 8-Mar-2014.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
(𝐹:𝐴–1-1→𝐵 → Rel 𝐹)
 
10-Jun-2026f1fun 6780 A one-to-one mapping is a function. (Contributed by NM, 8-Mar-2014.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
(𝐹:𝐴–1-1→𝐵 → Fun 𝐹)
 
10-Jun-2026ffun 6712 A mapping is a function. (Contributed by NM, 3-Aug-1994.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
(𝐹:𝐴⟶𝐵 → Fun 𝐹)
 
10-Jun-2026cnvcnvss 6185 The double converse of a class is a subclass. Exercise 2 of [TakeutiZaring] p. 25. (Contributed by NM, 23-Jul-2004.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
◡◡𝐴 ⊆ 𝐴
 
10-Jun-2026rnin 6136 The range of an intersection belongs the intersection of ranges. Theorem 9 of [Suppes] p. 60. (Contributed by NM, 15-Sep-2004.) Avoid ax-pr 5390 and ax-sep 5248. (Revised by Umit Teoman Dogan, 10-Jun-2026.)
ran (𝐴 ∩ 𝐵) ⊆ (ran 𝐴 ∩ ran 𝐵)
 
10-Jun-2026nrelv 5776 The universal class is not a relation. (Contributed by Thierry Arnoux, 23-Jan-2022.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
¬ Rel V
 
10-Jun-2026uniin 4890 The class union of the intersection of two classes. Exercise 4.12(n) of [Mendelson] p. 235. See uniinqs 8821 for a condition where equality holds. (Contributed by NM, 4-Dec-2003.) (Proof shortened by Andrew Salmon, 29-Jun-2011.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
∪ (𝐴 ∩ 𝐵) ⊆ (∪ 𝐴 ∩ ∪ 𝐵)
 
10-Jun-2026pwidg 4577 A set is an element of its power set. (Contributed by Stefan O'Rear, 1-Feb-2015.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
(𝐴 ∈ 𝑉 → 𝐴 ∈ 𝒫 𝐴)
 
10-Jun-2026rab0 4334 Any restricted class abstraction restricted to the empty set is empty. (Contributed by NM, 15-Oct-2003.) (Proof shortened by Andrew Salmon, 26-Jun-2011.) (Proof shortened by JJ, 14-Jul-2021.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
{𝑥 ∈ ∅ ∣ 𝜑} = ∅
 
10-Jun-2026ssinss1 4142 Intersection preserves subclass relationship. (Contributed by NM, 14-Sep-1999.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
(𝐴 ⊆ 𝐶 → (𝐴 ∩ 𝐵) ⊆ 𝐶)
 
10-Jun-2026pssirr 4030 Proper subclass is irreflexive. Theorem 7 of [Suppes] p. 23. (Contributed by NM, 7-Feb-1996.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
¬ 𝐴 ⊊ 𝐴
 
10-Jun-2026nbbn 386 Move negation outside of biconditional. Compare Theorem *5.18 of [WhiteheadRussell] p. 124. (Contributed by NM, 27-Jun-2002.) (Proof shortened by Wolf Lammen, 20-Sep-2013.) (Proof shortened by Umit Teoman Dogan, 10-Jun-2026.)
((¬ 𝜑 ↔ 𝜓) ↔ ¬ (𝜑 ↔ 𝜓))
 
9-Jun-2026wevonprcf1o 35961 If 𝑅 is a set-like well-ordering of the universe and 𝐴 is a proper class, then 𝐹 is a bijection from the ordinals to 𝐴. This is the ZFC version of (4 → 5) in https://tinyurl.com/hamkins-gblac. (Contributed by BTernaryTau, 9-Jun-2026.)
𝐹 = OrdIso(𝑅, 𝐴)    ⇒   ((𝑅 We V ∧ 𝑅 Se V ∧ ¬ 𝐴 ∈ V) → 𝐹:On–1-1-onto→𝐴)
 
9-Jun-2026ordtypeon 35770 A proper class with a set-like well-ordering is isomorphic to the proper class of all ordinal numbers. (Contributed by BTernaryTau, 9-Jun-2026.)
𝐹 = OrdIso(𝑅, 𝐴)    ⇒   ((𝑅 We 𝐴 ∧ 𝑅 Se 𝐴 ∧ ¬ 𝐴 ∈ V) → 𝐹 Isom E , 𝑅 (On, 𝐴))
 
9-Jun-2026ordprcon 35766 If an ordinal class is not a set, then it must be the proper class of all ordinals. (Contributed by BTernaryTau, 9-Jun-2026.)
((Ord 𝐴 ∧ ¬ 𝐴 ∈ V) → 𝐴 = On)
 
8-Jun-2026vonf1osev 35959 If 𝐹 is a bijection from the universe to the ordinals, then 𝑅 is a set-like well-ordering of the universe. This is the ZFC version of (2 → 4) which can be used in place of (3 → 4) in https://tinyurl.com/hamkins-gblac. This proof takes advantage of the fact that the well-order constructed in (2 → 3) is also set-like. (Contributed by BTernaryTau, 8-Jun-2026.)
𝑅 = {⟨𝑥, 𝑦⟩ ∣ (𝐹‘𝑥) ∈ (𝐹‘𝑦)}    ⇒   (𝐹:V–1-1-onto→On → (𝑅 We V ∧ 𝑅 Se V))
 
7-Jun-2026pm2.65i 196 Inference for proof by contradiction. (Contributed by NM, 18-May-1994.) (Proof shortened by Wolf Lammen, 11-Sep-2013.) (Proof shortened by Garrett Katz, 7-Jun-2026.)
(𝜑 → 𝜓)    &   (𝜑 → ¬ 𝜓)    ⇒    ¬ 𝜑
 
6-Jun-2026rlocisunit 33883 Characterize the units of the localization 𝐿 of a ring 𝑅 at 𝑆 as the elements with a "numerator" 𝑃 in the saturation 𝑇 of 𝑆. (Contributed by Thierry Arnoux, 6-Jun-2026.)
𝐵 = (Base‘𝑅)    &    · = (.r‘𝑅)    &   𝐿 = (𝑅 RLocal 𝑆)    &   𝑊 = (Unit‘𝐿)    &   (𝜑 → 𝑅 ∈ CRing)    &   (𝜑 → 𝑆 ∈ (SubMnd‘(mulGrp‘𝑅)))    &    ∼ = (𝑅 ~RL 𝑆)    &   (𝜑 → 𝑃 ∈ 𝐵)    &   (𝜑 → 𝑄 ∈ 𝑆)    &   𝑇 = {𝑟 ∈ 𝐵 ∣ ∃𝑠 ∈ 𝐵 (𝑟 · 𝑠) ∈ 𝑆}    ⇒   (𝜑 → ([⟨𝑃, 𝑄⟩] ∼ ∈ 𝑊 ↔ 𝑃 ∈ 𝑇))
 
6-Jun-2026rlocinvunit 33882 In the localization of a ring 𝑅 at 𝑆, inverses of elements of 𝑆 are units. (Contributed by Thierry Arnoux, 6-Jun-2026.)
𝐵 = (Base‘𝑅)    &    1 = (1r‘𝑅)    &    ∼ = (𝑅 ~RL 𝑆)    &   𝐿 = (𝑅 RLocal 𝑆)    &   𝑊 = (Unit‘𝐿)    &   (𝜑 → 𝑅 ∈ CRing)    &   (𝜑 → 𝑆 ∈ (SubMnd‘(mulGrp‘𝑅)))    &   (𝜑 → 𝑄 ∈ 𝑆)    ⇒   (𝜑 → [⟨ 1 , 𝑄⟩] ∼ ∈ 𝑊)
 
6-Jun-2026isunitc 33848 Characterize units in a commutative ring. (Contributed by Thierry Arnoux, 6-Jun-2026.)
𝐵 = (Base‘𝑅)    &   𝑈 = (Unit‘𝑅)    &    · = (.r‘𝑅)    &    1 = (1r‘𝑅)    &   (𝜑 → 𝑋 ∈ 𝐵)    &   (𝜑 → 𝑅 ∈ CRing)    ⇒   (𝜑 → (𝑋 ∈ 𝑈 ↔ ∃𝑦 ∈ 𝐵 (𝑋 · 𝑦) = 1 ))
 
6-Jun-2026prmidlsubm 21648 The complement of a prime ideal is multiplicatively closed. Converse of ssdifidlprm 21647. (Contributed by Thierry Arnoux, 6-Jun-2026.)
𝐵 = (Base‘𝑅)    &   (𝜑 → 𝑅 ∈ CRing)    &   (𝜑 → 𝑃 ∈ (PrmIdeal‘𝑅))    ⇒   (𝜑 → (𝐵 ∖ 𝑃) ∈ (SubMnd‘(mulGrp‘𝑅)))
 
6-Jun-2026prmidlprop 21637 Property of prime ideals. (Contributed by Thierry Arnoux, 6-Jun-2026.)
𝐵 = (Base‘𝑅)    &    · = (.r‘𝑅)    &   (𝜑 → 𝑅 ∈ CRing)    &   (𝜑 → 𝑃 ∈ (PrmIdeal‘𝑅))    &   (𝜑 → 𝑋 ∈ 𝐵)    &   (𝜑 → 𝑌 ∈ 𝐵)    &   (𝜑 → (𝑋 · 𝑌) ∈ 𝑃)    ⇒   (𝜑 → (𝑋 ∈ 𝑃 ∨ 𝑌 ∈ 𝑃))
 
5-Jun-2026sbrimvw 2127 Substitution in an implication with a variable not free in the antecedent affects only the consequent. Version of sbrim 2337 based on fewer axioms, but with more disjoint variable conditions. (Contributed by Wolf Lammen, 29-Jan-2024.) Remove DV condition. (Revised by Wolf Lammen, 5-Jun-2026.)
([𝑦 / 𝑥](𝜑 → 𝜓) ↔ (𝜑 → [𝑦 / 𝑥]𝜓))
 
4-Jun-2026morleylemrneab 35346 Lemma for morley . (Contributed by TA and SS, 4-Jun-2026.)
𝑆 = (Base‘𝐺)    &   𝐿 = (LineG‘𝐺)    &    ∼ = (cgrA‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ 𝑆)    &   (𝜑 → 𝐵 ∈ 𝑆)    &   (𝜑 → 𝐶 ∈ 𝑆)    &   (𝜑 → 𝑃 ∈ 𝑆)    &   (𝜑 → 𝑄 ∈ 𝑆)    &   (𝜑 → 𝑅 ∈ 𝑆)    &   (𝜑 → ¬ (𝐶 ∈ (𝐴𝐿𝐵) ∨ 𝐴 = 𝐵))    &   (𝜑 → ⟨“𝐶𝐴𝑄”⟩ ∼ ⟨“𝑄𝐴𝑅”⟩)    &   (𝜑 → ⟨“𝑅𝐴𝐵”⟩ ∼ ⟨“𝑄𝐴𝑅”⟩)    &   (𝜑 → ⟨“𝐴𝐵𝑅”⟩ ∼ ⟨“𝑅𝐵𝑃”⟩)    &   (𝜑 → ⟨“𝑃𝐵𝐶”⟩ ∼ ⟨“𝑅𝐵𝑃”⟩)    &   (𝜑 → ⟨“𝐵𝐶𝑃”⟩ ∼ ⟨“𝑃𝐶𝑄”⟩)    &   (𝜑 → ⟨“𝑄𝐶𝐴”⟩ ∼ ⟨“𝑃𝐶𝑄”⟩)    ⇒   (𝜑 → ¬ 𝑅 ∈ (𝐴𝐿𝐵))
 
4-Jun-2026btwnlng13 35345 If 𝑍 is between 𝑋 and 𝑌, or 𝑌 is between 𝑋 and 𝑍, then 𝑍 lies on the line 𝑋𝑌. (Contributed by SS, 4-Jun-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   𝐿 = (LineG‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝑋 ∈ 𝑃)    &   (𝜑 → 𝑌 ∈ 𝑃)    &   (𝜑 → 𝑍 ∈ 𝑃)    &   (𝜑 → 𝑋 ≠ 𝑌)    &   (𝜑 → (𝑍 ∈ (𝑋𝐼𝑌) ∨ 𝑌 ∈ (𝑋𝐼𝑍)))    ⇒   (𝜑 → 𝑍 ∈ (𝑋𝐿𝑌))
 
4-Jun-2026cgranbtwn 35344 Null angle implies betweenness. (Contributed by SS, 4-Jun-2026.)
𝑃 = (Base‘𝐺)    &   𝐼 = (Itv‘𝐺)    &   (𝜑 → 𝐺 ∈ TarskiG)    &   (𝜑 → 𝐴 ∈ 𝑃)    &   (𝜑 → 𝐵 ∈ 𝑃)    &   (𝜑 → 𝐶 ∈ 𝑃)    &   (𝜑 → 𝐷 ∈ 𝑃)    &   (𝜑 → 𝐸 ∈ 𝑃)    &   (𝜑 → 𝐹 ∈ 𝑃)    &   (𝜑 → ⟨“𝐴𝐵𝐶”⟩(cgrA‘𝐺)⟨“𝐷𝐸𝐹”⟩)    &   (𝜑 → 𝐴 ∈ (𝐵𝐼𝐶))    ⇒   (𝜑 → (𝐷 ∈ (𝐸𝐼𝐹) ∨ 𝐹 ∈ (𝐸𝐼𝐷)))
 
4-Jun-2026csbcnv 5863 Move class substitution in and out of the converse of a relation. (Contributed by Thierry Arnoux, 8-Feb-2017.) (Revised by NM, 23-Aug-2018.) Remove dependency on ax-sep 5248 and ax-pr 5390. (Revised by Eric Schmidt, 4-Jun-2026.)
◡⦋𝐴 / 𝑥⦌𝐹 = ⦋𝐴 / 𝑥⦌◡𝐹
 
4-Jun-2026abab 840 Introduce one conjunct as equivalent to the other. "abab" stands for "and, biconditional, and, biconditional". (Contributed by Wolf Lammen, 4-Jun-2026.)
((𝜑 ∧ 𝜓) ↔ (𝜑 ∧ (𝜑 ↔ 𝜓)))
 
3-Jun-2026fldlring 34077 A field is a local ring. (Contributed by Thierry Arnoux, 3-Jun-2026.) (Proof modification is discouraged.)
(𝜑 → 𝐹 ∈ Field)    ⇒   (𝜑 → 𝐹 ∈ LRing)
 
2-Jun-2026nmulprop 37031 Show closure and value of natural multiplication. (Contributed by Scott Fenton, 2-Jun-2026.)
((𝐴 ∈ On ∧ 𝐵 ∈ On) → ((𝐴 ·no 𝐵) ∈ On ∧ (𝐴 ·no 𝐵) = ∩ {𝑥 ∈ On ∣ ∀𝑎 ∈ 𝐴 ∀𝑏 ∈ 𝐵 ((𝑎 ·no 𝐵) +no (𝐴 ·no 𝑏)) ∈ (𝑥 +no (𝑎 ·no 𝑏))}))
 
2-Jun-2026nmulfn 37030 Natural multiplication is a function over pairs of ordinals. (Contributed by Scott Fenton, 2-Jun-2026.)
·no Fn (On × On)
 
2-Jun-2026df-nmul 37029 Define natural ordinal multiplication. This is the corresponding operation to df-nadd 8678. (Contributed by Scott Fenton, 2-Jun-2026.)
·no = frecs({⟨𝑥, 𝑦⟩ ∣ (𝑥 ∈ (On × On) ∧ 𝑦 ∈ (On × On) ∧ (((1st ‘𝑥) E (1st ‘𝑦) ∨ (1st ‘𝑥) = (1st ‘𝑦)) ∧ ((2nd ‘𝑥) E (2nd ‘𝑦) ∨ (2nd ‘𝑥) = (2nd ‘𝑦)) ∧ 𝑥 ≠ 𝑦))}, (On × On), (𝑝 ∈ V, 𝑚 ∈ V ↦ ⦋(1st ‘𝑝) / 𝑎⦌⦋(2nd ‘𝑝) / 𝑏⦌∩ {𝑧 ∈ On ∣ ∀𝑐 ∈ 𝑎 ∀𝑑 ∈ 𝑏 ((𝑐𝑚𝑏) +no (𝑎𝑚𝑑)) ∈ (𝑧 +no (𝑐𝑚𝑑))}))
 
2-Jun-2026dflring4 34076 Alternate definition of a local ring: the set (𝐵 ∖ 𝑈) of non-units is an ideal. (Contributed by Thierry Arnoux, 2-Jun-2026.)
𝐵 = (Base‘𝑅)    &   𝑈 = (Unit‘𝑅)    ⇒   (𝑅 ∈ CRing → (𝑅 ∈ LRing ↔ (𝐵 ∖ 𝑈) ∈ (LIdeal‘𝑅)))
 
2-Jun-2026dflring3 34075 Alternate definition of a local ring: local rings have a single maximal ideal. (Contributed by Thierry Arnoux, 2-Jun-2026.)
(𝑅 ∈ CRing → (𝑅 ∈ LRing ↔ (MaxIdeal‘𝑅) ≈ 1o))
 
2-Jun-2026dflringlem3 34074 Lemma for dflring3 34075. In a commutative local ring 𝑅, the set (𝐵 ∖ 𝑈) of non-units is a maximal ideal. (Contributed by Thierry Arnoux, 2-Jun-2026.)
𝐵 = (Base‘𝑅)    &   𝑈 = (Unit‘𝑅)    &   (𝜑 → 𝑅 ∈ CRing)    &   (𝜑 → 𝑅 ∈ LRing)    ⇒   (𝜑 → (𝐵 ∖ 𝑈) ∈ (MaxIdeal‘𝑅))
 
2-Jun-2026dflringlem2 34073 Lemma for dflring3 34075. In a commutative local ring 𝑅, the set (𝐵 ∖ 𝑈) of non-units is an ideal. (Contributed by Thierry Arnoux, 2-Jun-2026.)
𝐵 = (Base‘𝑅)    &   𝑈 = (Unit‘𝑅)    &   (𝜑 → 𝑅 ∈ CRing)    &   (𝜑 → 𝑅 ∈ LRing)    ⇒   (𝜑 → (𝐵 ∖ 𝑈) ∈ (LIdeal‘𝑅))
 
2-Jun-2026dflringlem 34072 Lemma for dflring3 34075. If a ring 𝑅 has a single maximal ideal 𝑀, then any element 𝑋 outside of 𝑀 is a unit. (Contributed by Thierry Arnoux, 2-Jun-2026.)
𝐵 = (Base‘𝑅)    &   𝑈 = (Unit‘𝑅)    &   (𝜑 → 𝑅 ∈ CRing)    &   (𝜑 → 𝑀 ∈ (MaxIdeal‘𝑅))    &   (𝜑 → (MaxIdeal‘𝑅) = {𝑀})    &   (𝜑 → 𝑋 ∈ (𝐵 ∖ 𝑀))    ⇒   (𝜑 → 𝑋 ∈ 𝑈)
 
2-Jun-2026dflring2 34071 Alternate definition of a local ring. (Contributed by Thierry Arnoux, 2-Jun-2026.)
𝐵 = (Base‘𝑅)    &   𝑈 = (Unit‘𝑅)    &    1 = (1r‘𝑅)    &    − = (-g‘𝑅)    ⇒   (𝑅 ∈ LRing ↔ (𝑅 ∈ NzRing ∧ ∀𝑥 ∈ 𝐵 (𝑥 ∈ 𝑈 ∨ ( 1 − 𝑥) ∈ 𝑈)))
 
2-Jun-2026drnglring 34070 A division ring is a local ring. (Contributed by Thierry Arnoux, 2-Jun-2026.)
(𝜑 → 𝐹 ∈ DivRing)    ⇒   (𝜑 → 𝐹 ∈ LRing)
 
26-May-2026axpowg3 35872 A generalization of ax-pow 5326 that combines axpowg 35870 and axpowg2 35871 into a single theorem scheme. Unlike ax-pow 5326, this scheme lacks a distinct variable condition for 𝑦 and 𝑤 as well as for 𝑥 and 𝑤. Usage of this theorem is discouraged because it depends on ax-13 2401. (Contributed by BTernaryTau, 26-May-2026.) (New usage is discouraged.)
∃𝑦∀𝑧(∀𝑤(𝑤 ∈ 𝑧 → 𝑤 ∈ 𝑥) → 𝑧 ∈ 𝑦)
 
26-May-2026axpowg2 35871 A generalization of ax-pow 5326 in which 𝑥 and 𝑤 need not be distinct. This theorem scheme bundles ax-pow 5326 with the degenerate instance ∃𝑦∀𝑧(∀𝑥(𝑥 ∈ 𝑧 → 𝑥 ∈ 𝑥) → 𝑧 ∈ 𝑦) which is satisfied by the existence of a set that contains all empty sets (see axprlem1 5384). Usage of this theorem is discouraged because it depends on ax-13 2401. (Contributed by BTernaryTau, 26-May-2026.) (New usage is discouraged.)
∃𝑦∀𝑧(∀𝑤(𝑤 ∈ 𝑧 → 𝑤 ∈ 𝑥) → 𝑧 ∈ 𝑦)
 
26-May-2026axpowg 35870 A generalization of ax-pow 5326 that combines it and zfpow 5327 into a single theorem scheme. Unlike ax-pow 5326, this scheme lacks a distinct variable condition for 𝑦 and 𝑤. (Contributed by BTernaryTau, 26-May-2026.)
∃𝑦∀𝑧(∀𝑤(𝑤 ∈ 𝑧 → 𝑤 ∈ 𝑥) → 𝑧 ∈ 𝑦)
 
25-May-2026expt 178 Exportation theorem pm3.3 454 (closed form of ex 418) expressed with primitive connectives. (Contributed by NM, 28-Dec-1992.) (Proof shortened by Garrett Katz, 25-May-2026.)
((¬ (𝜑 → ¬ 𝜓) → 𝜒) → (𝜑 → (𝜓 → 𝜒)))
 
24-May-2026axsepg5 35868 A generalization of ax-sep 5248 that combines axsepg 5249, axsepg2 35864, and axsepg3 35865 into a single theorem scheme. Unlike ax-sep 5248, this scheme lacks a distinct variable condition for 𝜑 and 𝑧, for 𝑥 and 𝑧, and for 𝑦 and 𝑧. Usage of this theorem is discouraged because it depends on ax-13 2401. (Contributed by BTernaryTau, 24-May-2026.) (New usage is discouraged.)
∃𝑦∀𝑥(𝑥 ∈ 𝑦 ↔ (𝑥 ∈ 𝑧 ∧ 𝜑))
 
24-May-2026axsepg4 35867 A generalization of ax-sep 5248 that combines axsepg 5249 and axsepg2 35864 into a single theorem scheme. Unlike ax-sep 5248, this scheme lacks a distinct variable condition for 𝜑 and 𝑧 as well as for 𝑥 and 𝑧. Usage of this theorem is discouraged because it depends on ax-13 2401. (Contributed by BTernaryTau, 24-May-2026.) (New usage is discouraged.)
∃𝑦∀𝑥(𝑥 ∈ 𝑦 ↔ (𝑥 ∈ 𝑧 ∧ 𝜑))
 
23-May-2026elirrv 9594 The membership relation is irreflexive: no set is a member of itself. Theorem 105 of [Suppes] p. 54. This is trivial to prove from zfregfr 9608 and efrirr 5630 (see elirrvALT 9609), but this proof is direct from ax-reg 9589. (Contributed by NM, 19-Aug-1993.) Reduce axiom dependencies and make use of ax-reg 9589 directly. (Revised by BTernaryTau, 27-Dec-2025.) Avoid ax-pr 5390. (Revised by BTernaryTau, 21-May-2026.) (Proof shortened by Matthew House, 23-May-2026.)
¬ 𝑥 ∈ 𝑥
 
22-May-2026bilanri 512 Inference adding a conjunct to the right-hand side of a biconditional. (Contributed by Matthew House, 22-May-2026.)
(𝜑 ↔ 𝜓)    ⇒   ((𝜒 ∧ 𝜓) → 𝜑)
 
22-May-2026biranri 511 Inference adding a conjunct to the right-hand side of a biconditional. (Contributed by Matthew House, 22-May-2026.)
(𝜑 ↔ 𝜓)    ⇒   ((𝜓 ∧ 𝜒) → 𝜑)
 
22-May-2026bilani 510 Inference adding a conjunct to the left-hand side of a biconditional. (Contributed by Matthew House, 22-May-2026.)
(𝜑 ↔ 𝜓)    ⇒   ((𝜒 ∧ 𝜑) → 𝜓)
 
22-May-2026birani 509 Inference adding a conjunct to the left-hand side of a biconditional. (Contributed by Matthew House, 22-May-2026.)
(𝜑 ↔ 𝜓)    ⇒   ((𝜑 ∧ 𝜒) → 𝜓)
 
21-May-2026axsepg2 35864 A generalization of ax-sep 5248 in which 𝑥 and 𝑧 need not be distinct. This theorem scheme bundles ax-sep 5248 with the degenerate instance ∃𝑦∀𝑧(𝑧 ∈ 𝑦 ↔ (𝑧 ∈ 𝑧 ∧ 𝜑)) which is satisfied by the existence of the empty set. Usage of this theorem is discouraged because it depends on ax-13 2401. (Contributed by BTernaryTau, 21-May-2026.) (New usage is discouraged.)
∃𝑦∀𝑥(𝑥 ∈ 𝑦 ↔ (𝑥 ∈ 𝑧 ∧ 𝜑))
 
9-May-2026goldratmolem2 48026 Lemma 2 for determining the value of golden ratio. (Contributed by Ender Ting, 9-May-2026.)
𝐹 = (2 · (cos‘(π / 5)))    ⇒    -1 = ((((𝐹↑5) / 2) − (5 · ((𝐹↑3) / 2))) + (5 · (𝐹 / 2)))
 
9-May-2026goldracos5teq 48025 Lemma 1 for determining the value of golden ratio. (Contributed by Ender Ting, 9-May-2026.)
𝐹 = (2 · (cos‘(π / 5)))    ⇒   (cos‘π) = (((16 · ((𝐹 / 2)↑5)) − (20 · ((𝐹 / 2)↑3))) + (5 · (𝐹 / 2)))
 
9-May-2026cos5teq 48019 Five-times-angle formula for cosine, substitution helper. (Contributed by Ender Ting, 9-May-2026.)
((𝐴 ∈ ℂ ∧ 𝐵 = (5 · 𝐴) ∧ 𝐶 = (cos‘𝐴)) → (cos‘𝐵) = (((16 · (𝐶↑5)) − (20 · (𝐶↑3))) + (5 · 𝐶)))
 
9-May-2026quantgodel 47977 There can be no formula asserting its own non-universality, in parallel to bj-babygodel 37565; proof path is shorter but relying on a property of specialization which provability predicates do not have. For a matching proof, see quantgodelALT 47978. (Contributed by Ender Ting, 9-May-2026.)
(𝜑 ↔ ¬ ∀𝑥𝜑)    ⇒   ⊥
 
9-May-2026funopsn 7151 If a function is an ordered pair then it is a singleton of an ordered pair. (Contributed by AV, 20-Sep-2020.) (Proof shortened by AV, 15-Jul-2021.) (Proof shortened by Eric Schmidt, 9-May-2026.) A function is a class of ordered pairs, so the fact that an ordered pair may sometimes be itself a function is an "accident" depending on the specific encoding of ordered pairs as classes (in set.mm, the Kuratowski encoding). A more meaningful statement is funsng 6591, as relsnopg 5780 is to relop 5827. (New usage is discouraged.)
𝑋 ∈ V    &   𝑌 ∈ V    ⇒   ((Fun 𝐹 ∧ 𝐹 = ⟨𝑋, 𝑌⟩) → ∃𝑎(𝑋 = {𝑎} ∧ 𝐹 = {⟨𝑎, 𝑎⟩}))
 
9-May-2026iunopeqop 5493 Implication of an ordered pair being equal to an indexed union of singletons of ordered pairs. (Contributed by AV, 20-Sep-2020.) Remove antecedent. (Revised by Eric Schmidt, 9-May-2026.) (Avoid depending on this detail.)
𝐵 ∈ V    &   𝐶 ∈ V    &   𝐷 ∈ V    ⇒   (∪ 𝑥 ∈ 𝐴 {⟨𝑥, 𝐵⟩} = ⟨𝐶, 𝐷⟩ → ∃𝑧 𝐴 = {𝑧})
 
7-May-2026quantgodelALT 47978 There can be no formula asserting its own non-universality; follows the steps of bj-babygodel 37565. (Contributed by Ender Ting, 7-May-2026.) (New usage is discouraged.) (Proof modification is discouraged.)
(𝜑 ↔ ¬ ∀𝑥𝜑)    ⇒   ⊥
 
4-May-2026mplidom 34206 The multivariate polynomials over an integral domain form an integral domain. See ply1idom 26448. (Contributed by Thierry Arnoux, 4-May-2026.)
𝑃 = (𝐼 mPoly 𝑅)    &   (𝜑 → 𝐼 ∈ Fin)    &   (𝜑 → 𝑅 ∈ IDomn)    ⇒   (𝜑 → 𝑃 ∈ IDomn)
 
4-May-2026mplidomlem 34205 Lemma for mplidom 34206. (Contributed by Thierry Arnoux, 4-May-2026.)
𝑃 = (𝐼 mPoly 𝑅)    &   (𝜑 → 𝐼 ∈ Fin)    &   (𝜑 → 𝑅 ∈ IDomn)    &   𝐻 = (𝑓 ∈ 𝐶 ↦ (𝑛 ∈ (ℕ0 ↑m 1o) ↦ (((((𝑗 ∪ {𝑥}) selectVars 𝑅)‘{𝑥})‘𝑓)‘{⟨𝑥, (𝑛‘∅)⟩})))    &   𝐶 = (Base‘𝑆)    &   𝑆 = ((𝑗 ∪ {𝑥}) mPoly 𝑅)    &   𝑈 = (((𝑗 ∪ {𝑥}) ∖ {𝑥}) mPoly 𝑅)    &   𝑄 = (Poly1‘𝑈)    ⇒   (𝜑 → 𝑃 ∈ IDomn)
 
4-May-2026selvply1rhm0 34204 The ring homomorphism 𝐻 built in selvply1rhm 34203 is injective. (Contributed by Thierry Arnoux, 4-May-2026.)
𝐵 = (Base‘𝑃)    &   𝑃 = (𝐼 mPoly 𝑅)    &   𝑈 = ((𝐼 ∖ {𝑋}) mPoly 𝑅)    &   𝑄 = (Poly1‘𝑈)    &   𝐻 = (𝑓 ∈ 𝐵 ↦ (𝑛 ∈ (ℕ0 ↑m 1o) ↦ ((((𝐼 selectVars 𝑅)‘{𝑋})‘𝑓)‘{⟨𝑋, (𝑛‘∅)⟩})))    &   (𝜑 → 𝐼 ∈ 𝑉)    &   (𝜑 → 𝑋 ∈ 𝐼)    &   (𝜑 → 𝑅 ∈ CRing)    &    0 = (0g‘𝑄)    &   𝑍 = (0g‘𝑃)    &   (𝜑 → 𝐹 ∈ 𝐵)    &   (𝜑 → (𝐻‘𝐹) = 0 )    ⇒   (𝜑 → 𝐹 = 𝑍)
 
4-May-2026selvply1rhm 34203 Build a ring homomorphism 𝐻 between the multivariate polynomials 𝑃 with variables in 𝐼 and the univariate polynomials 𝑄 in a single variable 𝑋 element of 𝐼. (Contributed by Thierry Arnoux, 4-May-2026.)
𝐵 = (Base‘𝑃)    &   𝑃 = (𝐼 mPoly 𝑅)    &   𝑈 = ((𝐼 ∖ {𝑋}) mPoly 𝑅)    &   𝑄 = (Poly1‘𝑈)    &   𝐻 = (𝑓 ∈ 𝐵 ↦ (𝑛 ∈ (ℕ0 ↑m 1o) ↦ ((((𝐼 selectVars 𝑅)‘{𝑋})‘𝑓)‘{⟨𝑋, (𝑛‘∅)⟩})))    &   (𝜑 → 𝐼 ∈ 𝑉)    &   (𝜑 → 𝑋 ∈ 𝐼)    &   (𝜑 → 𝑅 ∈ CRing)    ⇒   (𝜑 → 𝐻 ∈ (𝑃 RingHom 𝑄))
 
4-May-2026selvply1rhmlem5 34202 Lemma for selvply1rhm 34203. (Contributed by Thierry Arnoux, 4-May-2026.)
𝐵 = (Base‘𝑃)    &   𝑃 = (𝐼 mPoly 𝑅)    &   𝑈 = ((𝐼 ∖ {𝑋}) mPoly 𝑅)    &   𝑄 = (Poly1‘𝑈)    &   𝐻 = (𝑓 ∈ 𝐵 ↦ (𝑛 ∈ (ℕ0 ↑m 1o) ↦ ((((𝐼 selectVars 𝑅)‘{𝑋})‘𝑓)‘{⟨𝑋, (𝑛‘∅)⟩})))    &   (𝜑 → 𝐼 ∈ 𝑉)    &   (𝜑 → 𝑋 ∈ 𝐼)    &   (𝜑 → 𝑅 ∈ CRing)    &   (𝜑 → 𝐹 ∈ 𝐵)    &   𝑀 = (𝑞 ∈ (Base‘({𝑋} mPoly 𝑈)) ↦ (𝑠 ∈ (ℕ0 ↑m 1o) ↦ (𝑞‘{⟨𝑋, (𝑠‘∅)⟩})))    ⇒   (𝜑 → (𝐻‘𝐹) = (𝑀‘(((𝐼 selectVars 𝑅)‘{𝑋})‘𝐹)))
 
4-May-2026selvply1rhmlem4 34201 Lemma for selvply1rhm 34203: The mapping 𝐻 is linear. (Contributed by Thierry Arnoux, 4-May-2026.)
𝐵 = (Base‘𝑃)    &   𝑃 = (𝐼 mPoly 𝑅)    &   𝑈 = ((𝐼 ∖ {𝑋}) mPoly 𝑅)    &   𝑄 = (Poly1‘𝑈)    &   𝐻 = (𝑓 ∈ 𝐵 ↦ (𝑛 ∈ (ℕ0 ↑m 1o) ↦ ((((𝐼 selectVars 𝑅)‘{𝑋})‘𝑓)‘{⟨𝑋, (𝑛‘∅)⟩})))    &   (𝜑 → 𝐼 ∈ 𝑉)    &   (𝜑 → 𝑋 ∈ 𝐼)    &   (𝜑 → 𝑅 ∈ CRing)    &   (𝜑 → 𝐹 ∈ 𝐵)    &   (𝜑 → 𝐺 ∈ 𝐵)    ⇒   (𝜑 → (𝐻‘(𝐹(+g‘𝑃)𝐺)) = ((𝐻‘𝐹)(+g‘𝑄)(𝐻‘𝐺)))
 
4-May-2026selvply1rhmlem3 34200 Lemma for selvply1rhm 34203. (Contributed by Thierry Arnoux, 4-May-2026.)
𝐵 = (Base‘𝑃)    &   𝑃 = (𝐼 mPoly 𝑅)    &   𝑈 = ((𝐼 ∖ {𝑋}) mPoly 𝑅)    &   𝑄 = (Poly1‘𝑈)    &   𝐻 = (𝑓 ∈ 𝐵 ↦ (𝑛 ∈ (ℕ0 ↑m 1o) ↦ ((((𝐼 selectVars 𝑅)‘{𝑋})‘𝑓)‘{⟨𝑋, (𝑛‘∅)⟩})))    &   (𝜑 → 𝐼 ∈ 𝑉)    &   (𝜑 → 𝑋 ∈ 𝐼)    &   (𝜑 → 𝑅 ∈ CRing)    &   (𝜑 → 𝐹 ∈ 𝐵)    &   (𝜑 → 𝑁 ∈ (ℕ0 ↑m 1o))    ⇒   (𝜑 → ((𝐻‘𝐹)‘𝑁) = ((((𝐼 selectVars 𝑅)‘{𝑋})‘𝐹)‘{⟨𝑋, (𝑁‘∅)⟩}))
 
4-May-2026selvply1rhmlem2 34199 Lemma for selvply1rhm 34203: Image of the ring unit by the mapping 𝐻 (Contributed by Thierry Arnoux, 4-May-2026.)
𝐵 = (Base‘𝑃)    &   𝑃 = (𝐼 mPoly 𝑅)    &   𝑈 = ((𝐼 ∖ {𝑋}) mPoly 𝑅)    &   𝑄 = (Poly1‘𝑈)    &   𝐻 = (𝑓 ∈ 𝐵 ↦ (𝑛 ∈ (ℕ0 ↑m 1o) ↦ ((((𝐼 selectVars 𝑅)‘{𝑋})‘𝑓)‘{⟨𝑋, (𝑛‘∅)⟩})))    &   (𝜑 → 𝐼 ∈ 𝑉)    &   (𝜑 → 𝑋 ∈ 𝐼)    &   (𝜑 → 𝑅 ∈ CRing)    ⇒   (𝜑 → (𝐻‘(1r‘𝑃)) = (1r‘𝑄))
 
4-May-2026selvply1rhmlem1 34198 Lemma for selvply1rhm 34203. (Contributed by Thierry Arnoux, 4-May-2026.)
𝐵 = (Base‘𝑃)    &   𝑃 = (𝐼 mPoly 𝑅)    &   𝑈 = ((𝐼 ∖ {𝑋}) mPoly 𝑅)    &   𝑄 = (Poly1‘𝑈)    &   𝐻 = (𝑓 ∈ 𝐵 ↦ (𝑛 ∈ (ℕ0 ↑m 1o) ↦ ((((𝐼 selectVars 𝑅)‘{𝑋})‘𝑓)‘{⟨𝑋, (𝑛‘∅)⟩})))    &   (𝜑 → 𝐼 ∈ 𝑉)    &   (𝜑 → 𝑋 ∈ 𝐼)    &   (𝜑 → 𝑅 ∈ CRing)    ⇒   (𝜑 → 𝐻:𝐵⟶(Base‘𝑄))
 
4-May-2026selvply1rhmlemb 34197 Lemma for selvply1rhm 34203. (Contributed by Thierry Arnoux, 4-May-2026.)
𝐵 = (Base‘𝑃)    &   𝑃 = ({𝑋} mPoly 𝑅)    &    · = (.r‘𝑃)    &    × = (.r‘𝑄)    &   𝑄 = (Poly1‘𝑅)    &   𝑀 = (𝑓 ∈ 𝐵 ↦ (𝑛 ∈ (ℕ0 ↑m 1o) ↦ (𝑓‘{⟨𝑋, (𝑛‘∅)⟩})))    &   (𝜑 → 𝑋 ∈ 𝑉)    &   (𝜑 → 𝑅 ∈ Ring)    &   (𝜑 → 𝐹 ∈ 𝐵)    &   (𝜑 → 𝐺 ∈ 𝐵)    ⇒   (𝜑 → (𝑀‘(𝐹 · 𝐺)) = ((𝑀‘𝐹) × (𝑀‘𝐺)))
 
4-May-2026selvply1rhmlema 34196 Lemma for selvply1rhm 34203. (Contributed by Thierry Arnoux, 4-May-2026.)
𝐵 = (Base‘𝑃)    &   𝑃 = ({𝑋} mPoly 𝑅)    &    · = (.r‘𝑃)    &    × = (.r‘𝑄)    &   𝑄 = (Poly1‘𝑅)    &   𝑀 = (𝑓 ∈ 𝐵 ↦ (𝑛 ∈ (ℕ0 ↑m 1o) ↦ (𝑓‘{⟨𝑋, (𝑛‘∅)⟩})))    &   (𝜑 → 𝑋 ∈ 𝑉)    &   (𝜑 → 𝑅 ∈ Ring)    &   (𝜑 → 𝐹 ∈ 𝐵)    ⇒   (𝜑 → (𝑀‘𝐹) ∈ (Base‘𝑄))
 
4-May-2026selvascl 34195 The "variable selection" function evaluated at a scalar. (Contributed by Thierry Arnoux, 4-May-2026.)
𝐵 = (Base‘𝑅)    &   𝑃 = (𝐼 mPoly 𝑅)    &   𝐴 = (algSc‘𝑃)    &   𝐶 = (algSc‘𝑇)    &   (𝜑 → 𝐼 ∈ 𝑉)    &   (𝜑 → 𝑋 ∈ 𝐵)    &   𝑈 = ((𝐼 ∖ 𝐽) mPoly 𝑅)    &   𝑇 = (𝐽 mPoly 𝑈)    &   𝐷 = (𝐶 ∘ (algSc‘𝑈))    &   (𝜑 → 𝑅 ∈ CRing)    &   (𝜑 → 𝐽 ⊆ 𝐼)    ⇒   (𝜑 → (((𝐼 selectVars 𝑅)‘𝐽)‘(𝐴‘𝑋)) = (𝐷‘𝑋))
 
4-May-2026mplasclco 34194 Case where composing an algebra scalar lifting functions with a scalar leads to a scalar. This is useful when working with selectVars. (Contributed by Thierry Arnoux, 4-May-2026.)
𝑆 = (Base‘𝑅)    &   𝑂 = (𝐽 mPoly 𝑅)    &   𝑃 = (𝐼 mPoly 𝑅)    &   𝑄 = (𝐼 mPoly 𝑂)    &   𝐴 = (algSc‘𝑂)    &   𝐵 = (algSc‘𝑃)    &   𝐶 = (algSc‘𝑄)    &   𝐷 = {ℎ ∈ (ℕ0 ↑m 𝐼) ∣ (◡ℎ “ ℕ) ∈ Fin}    &   𝐸 = {𝑗 ∈ (ℕ0 ↑m 𝐽) ∣ (◡𝑗 “ ℕ) ∈ Fin}    &   (𝜑 → 𝐼 ∈ 𝑉)    &   (𝜑 → 𝐽 ⊆ 𝐼)    &   (𝜑 → 𝑅 ∈ CRing)    &   (𝜑 → 𝑋 ∈ 𝑆)    ⇒   (𝜑 → (𝐴 ∘ (𝐵‘𝑋)) = (𝐶‘(𝐴‘𝑋)))
 
4-May-20260mplric 34193 Multivariate polynomials with no variables are isomorphic with the underlying ring. (Contributed by Thierry Arnoux, 4-May-2026.)
𝐵 = (Base‘𝑃)    &   𝑃 = (∅ mPoly 𝑅)    &   (𝜑 → 𝑅 ∈ Ring)    ⇒   (𝜑 → 𝑃 ≃𝑟 𝑅)
 
4-May-20260mplrim 34192 Build a ring isomorphism between multivariate polynomials with no variables and the underlying ring. (Contributed by Thierry Arnoux, 4-May-2026.)
𝐵 = (Base‘𝑃)    &   𝑃 = (∅ mPoly 𝑅)    &   (𝜑 → 𝑅 ∈ Ring)    &   𝐹 = (𝑝 ∈ 𝐵 ↦ (𝑝‘∅))    ⇒   (𝜑 → 𝐹 ∈ (𝑃 RingIso 𝑅))
 
4-May-2026mplnzr 34191 The multivariate polynomials over a nonzero ring form a nonzero ring. (Contributed by Thierry Arnoux, 4-May-2026.)
𝑃 = (𝐼 mPoly 𝑅)    &   (𝜑 → 𝐼 ∈ 𝑉)    &   (𝜑 → 𝑅 ∈ NzRing)    ⇒   (𝜑 → 𝑃 ∈ NzRing)
 
4-May-2026psrnzr 34190 The ring of power series over a nonzero ring form a nonzero ring. (Contributed by Thierry Arnoux, 4-May-2026.)
𝑆 = (𝐼 mPwSer 𝑅)    &   (𝜑 → 𝐼 ∈ 𝑉)    &   (𝜑 → 𝑅 ∈ NzRing)    ⇒   (𝜑 → 𝑆 ∈ NzRing)
 
4-May-2026ricdomn 33897 A ring is a domain if and only if an isomorphic ring is a domain. (Contributed by Thierry Arnoux, 4-May-2026.)
(𝑅 ≃𝑟 𝑆 → (𝑅 ∈ Domn ↔ 𝑆 ∈ Domn))
 
4-May-2026ricdomn1 33896 A ring isomorphism maps a domain to a domain. (Contributed by Thierry Arnoux, 4-May-2026.)
((𝑅 ≃𝑟 𝑆 ∧ 𝑅 ∈ Domn) → 𝑆 ∈ Domn)
 
4-May-2026ricnzr1 33895 A ring isomorphism maps a nonzero ring to a nonzero ring. (Contributed by Thierry Arnoux, 4-May-2026.)
((𝑅 ≃𝑟 𝑆 ∧ 𝑅 ∈ NzRing) → 𝑆 ∈ NzRing)
 
4-May-2026grpidcld 33646 The identity element of a group belongs to the group. (Contributed by Thierry Arnoux, 4-May-2026.)
𝐵 = (Base‘𝐺)    &    0 = (0g‘𝐺)    &   (𝜑 → 𝐺 ∈ Grp)    ⇒   (𝜑 → 0 ∈ 𝐵)
 
4-May-2026ififcom 33193 Commute two nested conditionals. (Contributed by Thierry Arnoux, 4-May-2026.)
if(𝜑, if(𝜓, 𝐴, 𝐵), 𝐵) = if(𝜓, if(𝜑, 𝐴, 𝐵), 𝐵)
 
2-May-2026copsexgw 5459 Version of copsexg 5461 with a disjoint variable condition, which does not require ax-13 2401. (Contributed by GG, 26-Jan-2024.) Shorten proof and remove dependency on ax-10 2177. (Revised by Eric Schmidt, 2-May-2026.)
(𝐴 = ⟨𝑥, 𝑦⟩ → (𝜑 ↔ ∃𝑥∃𝑦(𝐴 = ⟨𝑥, 𝑦⟩ ∧ 𝜑)))

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]