| Step | Hyp | Ref
| Expression |
| 1 | | ovexd 7466 |
. . 3
⊢ (𝜑 → (𝑇 ⊕ 𝑈) ∈ V) |
| 2 | | eqid 2737 |
. . . 4
⊢ (𝑥 ∈ (𝑇 ⊕ 𝑈) ↦ 〈((𝑇(proj1‘𝐺)𝑈)‘𝑥), ((𝑈(proj1‘𝐺)𝑇)‘𝑥)〉) = (𝑥 ∈ (𝑇 ⊕ 𝑈) ↦ 〈((𝑇(proj1‘𝐺)𝑈)‘𝑥), ((𝑈(proj1‘𝐺)𝑇)‘𝑥)〉) |
| 3 | | eqid 2737 |
. . . . . . 7
⊢
(+g‘𝐺) = (+g‘𝐺) |
| 4 | | lsmhash.p |
. . . . . . 7
⊢ ⊕ =
(LSSum‘𝐺) |
| 5 | | lsmhash.o |
. . . . . . 7
⊢ 0 =
(0g‘𝐺) |
| 6 | | lsmhash.z |
. . . . . . 7
⊢ 𝑍 = (Cntz‘𝐺) |
| 7 | | lsmhash.t |
. . . . . . 7
⊢ (𝜑 → 𝑇 ∈ (SubGrp‘𝐺)) |
| 8 | | lsmhash.u |
. . . . . . 7
⊢ (𝜑 → 𝑈 ∈ (SubGrp‘𝐺)) |
| 9 | | lsmhash.i |
. . . . . . 7
⊢ (𝜑 → (𝑇 ∩ 𝑈) = { 0 }) |
| 10 | | lsmhash.s |
. . . . . . 7
⊢ (𝜑 → 𝑇 ⊆ (𝑍‘𝑈)) |
| 11 | | eqid 2737 |
. . . . . . 7
⊢
(proj1‘𝐺) = (proj1‘𝐺) |
| 12 | 3, 4, 5, 6, 7, 8, 9, 10, 11 | pj1f 19715 |
. . . . . 6
⊢ (𝜑 → (𝑇(proj1‘𝐺)𝑈):(𝑇 ⊕ 𝑈)⟶𝑇) |
| 13 | 12 | ffvelcdmda 7104 |
. . . . 5
⊢ ((𝜑 ∧ 𝑥 ∈ (𝑇 ⊕ 𝑈)) → ((𝑇(proj1‘𝐺)𝑈)‘𝑥) ∈ 𝑇) |
| 14 | 3, 4, 5, 6, 7, 8, 9, 10, 11 | pj2f 19716 |
. . . . . 6
⊢ (𝜑 → (𝑈(proj1‘𝐺)𝑇):(𝑇 ⊕ 𝑈)⟶𝑈) |
| 15 | 14 | ffvelcdmda 7104 |
. . . . 5
⊢ ((𝜑 ∧ 𝑥 ∈ (𝑇 ⊕ 𝑈)) → ((𝑈(proj1‘𝐺)𝑇)‘𝑥) ∈ 𝑈) |
| 16 | 13, 15 | opelxpd 5724 |
. . . 4
⊢ ((𝜑 ∧ 𝑥 ∈ (𝑇 ⊕ 𝑈)) → 〈((𝑇(proj1‘𝐺)𝑈)‘𝑥), ((𝑈(proj1‘𝐺)𝑇)‘𝑥)〉 ∈ (𝑇 × 𝑈)) |
| 17 | 7, 8 | jca 511 |
. . . . 5
⊢ (𝜑 → (𝑇 ∈ (SubGrp‘𝐺) ∧ 𝑈 ∈ (SubGrp‘𝐺))) |
| 18 | | xp1st 8046 |
. . . . . 6
⊢ (𝑦 ∈ (𝑇 × 𝑈) → (1st ‘𝑦) ∈ 𝑇) |
| 19 | | xp2nd 8047 |
. . . . . 6
⊢ (𝑦 ∈ (𝑇 × 𝑈) → (2nd ‘𝑦) ∈ 𝑈) |
| 20 | 18, 19 | jca 511 |
. . . . 5
⊢ (𝑦 ∈ (𝑇 × 𝑈) → ((1st ‘𝑦) ∈ 𝑇 ∧ (2nd ‘𝑦) ∈ 𝑈)) |
| 21 | 3, 4 | lsmelvali 19668 |
. . . . 5
⊢ (((𝑇 ∈ (SubGrp‘𝐺) ∧ 𝑈 ∈ (SubGrp‘𝐺)) ∧ ((1st ‘𝑦) ∈ 𝑇 ∧ (2nd ‘𝑦) ∈ 𝑈)) → ((1st ‘𝑦)(+g‘𝐺)(2nd ‘𝑦)) ∈ (𝑇 ⊕ 𝑈)) |
| 22 | 17, 20, 21 | syl2an 596 |
. . . 4
⊢ ((𝜑 ∧ 𝑦 ∈ (𝑇 × 𝑈)) → ((1st ‘𝑦)(+g‘𝐺)(2nd ‘𝑦)) ∈ (𝑇 ⊕ 𝑈)) |
| 23 | 7 | adantr 480 |
. . . . . . 7
⊢ ((𝜑 ∧ (𝑥 ∈ (𝑇 ⊕ 𝑈) ∧ 𝑦 ∈ (𝑇 × 𝑈))) → 𝑇 ∈ (SubGrp‘𝐺)) |
| 24 | 8 | adantr 480 |
. . . . . . 7
⊢ ((𝜑 ∧ (𝑥 ∈ (𝑇 ⊕ 𝑈) ∧ 𝑦 ∈ (𝑇 × 𝑈))) → 𝑈 ∈ (SubGrp‘𝐺)) |
| 25 | 9 | adantr 480 |
. . . . . . 7
⊢ ((𝜑 ∧ (𝑥 ∈ (𝑇 ⊕ 𝑈) ∧ 𝑦 ∈ (𝑇 × 𝑈))) → (𝑇 ∩ 𝑈) = { 0 }) |
| 26 | 10 | adantr 480 |
. . . . . . 7
⊢ ((𝜑 ∧ (𝑥 ∈ (𝑇 ⊕ 𝑈) ∧ 𝑦 ∈ (𝑇 × 𝑈))) → 𝑇 ⊆ (𝑍‘𝑈)) |
| 27 | | simprl 771 |
. . . . . . 7
⊢ ((𝜑 ∧ (𝑥 ∈ (𝑇 ⊕ 𝑈) ∧ 𝑦 ∈ (𝑇 × 𝑈))) → 𝑥 ∈ (𝑇 ⊕ 𝑈)) |
| 28 | 18 | ad2antll 729 |
. . . . . . 7
⊢ ((𝜑 ∧ (𝑥 ∈ (𝑇 ⊕ 𝑈) ∧ 𝑦 ∈ (𝑇 × 𝑈))) → (1st ‘𝑦) ∈ 𝑇) |
| 29 | 19 | ad2antll 729 |
. . . . . . 7
⊢ ((𝜑 ∧ (𝑥 ∈ (𝑇 ⊕ 𝑈) ∧ 𝑦 ∈ (𝑇 × 𝑈))) → (2nd ‘𝑦) ∈ 𝑈) |
| 30 | 3, 4, 5, 6, 23, 24, 25, 26, 11, 27, 28, 29 | pj1eq 19718 |
. . . . . 6
⊢ ((𝜑 ∧ (𝑥 ∈ (𝑇 ⊕ 𝑈) ∧ 𝑦 ∈ (𝑇 × 𝑈))) → (𝑥 = ((1st ‘𝑦)(+g‘𝐺)(2nd ‘𝑦)) ↔ (((𝑇(proj1‘𝐺)𝑈)‘𝑥) = (1st ‘𝑦) ∧ ((𝑈(proj1‘𝐺)𝑇)‘𝑥) = (2nd ‘𝑦)))) |
| 31 | | eqcom 2744 |
. . . . . . 7
⊢ (((𝑇(proj1‘𝐺)𝑈)‘𝑥) = (1st ‘𝑦) ↔ (1st ‘𝑦) = ((𝑇(proj1‘𝐺)𝑈)‘𝑥)) |
| 32 | | eqcom 2744 |
. . . . . . 7
⊢ (((𝑈(proj1‘𝐺)𝑇)‘𝑥) = (2nd ‘𝑦) ↔ (2nd ‘𝑦) = ((𝑈(proj1‘𝐺)𝑇)‘𝑥)) |
| 33 | 31, 32 | anbi12i 628 |
. . . . . 6
⊢ ((((𝑇(proj1‘𝐺)𝑈)‘𝑥) = (1st ‘𝑦) ∧ ((𝑈(proj1‘𝐺)𝑇)‘𝑥) = (2nd ‘𝑦)) ↔ ((1st ‘𝑦) = ((𝑇(proj1‘𝐺)𝑈)‘𝑥) ∧ (2nd ‘𝑦) = ((𝑈(proj1‘𝐺)𝑇)‘𝑥))) |
| 34 | 30, 33 | bitrdi 287 |
. . . . 5
⊢ ((𝜑 ∧ (𝑥 ∈ (𝑇 ⊕ 𝑈) ∧ 𝑦 ∈ (𝑇 × 𝑈))) → (𝑥 = ((1st ‘𝑦)(+g‘𝐺)(2nd ‘𝑦)) ↔ ((1st ‘𝑦) = ((𝑇(proj1‘𝐺)𝑈)‘𝑥) ∧ (2nd ‘𝑦) = ((𝑈(proj1‘𝐺)𝑇)‘𝑥)))) |
| 35 | | eqop 8056 |
. . . . . 6
⊢ (𝑦 ∈ (𝑇 × 𝑈) → (𝑦 = 〈((𝑇(proj1‘𝐺)𝑈)‘𝑥), ((𝑈(proj1‘𝐺)𝑇)‘𝑥)〉 ↔ ((1st ‘𝑦) = ((𝑇(proj1‘𝐺)𝑈)‘𝑥) ∧ (2nd ‘𝑦) = ((𝑈(proj1‘𝐺)𝑇)‘𝑥)))) |
| 36 | 35 | ad2antll 729 |
. . . . 5
⊢ ((𝜑 ∧ (𝑥 ∈ (𝑇 ⊕ 𝑈) ∧ 𝑦 ∈ (𝑇 × 𝑈))) → (𝑦 = 〈((𝑇(proj1‘𝐺)𝑈)‘𝑥), ((𝑈(proj1‘𝐺)𝑇)‘𝑥)〉 ↔ ((1st ‘𝑦) = ((𝑇(proj1‘𝐺)𝑈)‘𝑥) ∧ (2nd ‘𝑦) = ((𝑈(proj1‘𝐺)𝑇)‘𝑥)))) |
| 37 | 34, 36 | bitr4d 282 |
. . . 4
⊢ ((𝜑 ∧ (𝑥 ∈ (𝑇 ⊕ 𝑈) ∧ 𝑦 ∈ (𝑇 × 𝑈))) → (𝑥 = ((1st ‘𝑦)(+g‘𝐺)(2nd ‘𝑦)) ↔ 𝑦 = 〈((𝑇(proj1‘𝐺)𝑈)‘𝑥), ((𝑈(proj1‘𝐺)𝑇)‘𝑥)〉)) |
| 38 | 2, 16, 22, 37 | f1o2d 7687 |
. . 3
⊢ (𝜑 → (𝑥 ∈ (𝑇 ⊕ 𝑈) ↦ 〈((𝑇(proj1‘𝐺)𝑈)‘𝑥), ((𝑈(proj1‘𝐺)𝑇)‘𝑥)〉):(𝑇 ⊕ 𝑈)–1-1-onto→(𝑇 × 𝑈)) |
| 39 | 1, 38 | hasheqf1od 14392 |
. 2
⊢ (𝜑 → (♯‘(𝑇 ⊕ 𝑈)) = (♯‘(𝑇 × 𝑈))) |
| 40 | | lsmhash.1 |
. . 3
⊢ (𝜑 → 𝑇 ∈ Fin) |
| 41 | | lsmhash.2 |
. . 3
⊢ (𝜑 → 𝑈 ∈ Fin) |
| 42 | | hashxp 14473 |
. . 3
⊢ ((𝑇 ∈ Fin ∧ 𝑈 ∈ Fin) →
(♯‘(𝑇 ×
𝑈)) = ((♯‘𝑇) · (♯‘𝑈))) |
| 43 | 40, 41, 42 | syl2anc 584 |
. 2
⊢ (𝜑 → (♯‘(𝑇 × 𝑈)) = ((♯‘𝑇) · (♯‘𝑈))) |
| 44 | 39, 43 | eqtrd 2777 |
1
⊢ (𝜑 → (♯‘(𝑇 ⊕ 𝑈)) = ((♯‘𝑇) · (♯‘𝑈))) |