Step | Hyp | Ref
| Expression |
1 | | ovexd 6680 |
. . . 4
⊢ (𝜑 → (𝑇 ⊕ 𝑈) ∈ V) |
2 | | lsmhash.t |
. . . . 5
⊢ (𝜑 → 𝑇 ∈ (SubGrp‘𝐺)) |
3 | | lsmhash.u |
. . . . 5
⊢ (𝜑 → 𝑈 ∈ (SubGrp‘𝐺)) |
4 | | xpexg 6960 |
. . . . 5
⊢ ((𝑇 ∈ (SubGrp‘𝐺) ∧ 𝑈 ∈ (SubGrp‘𝐺)) → (𝑇 × 𝑈) ∈ V) |
5 | 2, 3, 4 | syl2anc 693 |
. . . 4
⊢ (𝜑 → (𝑇 × 𝑈) ∈ V) |
6 | | eqid 2622 |
. . . . . . . 8
⊢
(+g‘𝐺) = (+g‘𝐺) |
7 | | lsmhash.p |
. . . . . . . 8
⊢ ⊕ =
(LSSum‘𝐺) |
8 | | lsmhash.o |
. . . . . . . 8
⊢ 0 =
(0g‘𝐺) |
9 | | lsmhash.z |
. . . . . . . 8
⊢ 𝑍 = (Cntz‘𝐺) |
10 | | lsmhash.i |
. . . . . . . 8
⊢ (𝜑 → (𝑇 ∩ 𝑈) = { 0 }) |
11 | | lsmhash.s |
. . . . . . . 8
⊢ (𝜑 → 𝑇 ⊆ (𝑍‘𝑈)) |
12 | | eqid 2622 |
. . . . . . . 8
⊢
(proj1‘𝐺) = (proj1‘𝐺) |
13 | 6, 7, 8, 9, 2, 3, 10, 11, 12 | pj1f 18110 |
. . . . . . 7
⊢ (𝜑 → (𝑇(proj1‘𝐺)𝑈):(𝑇 ⊕ 𝑈)⟶𝑇) |
14 | 13 | ffvelrnda 6359 |
. . . . . 6
⊢ ((𝜑 ∧ 𝑥 ∈ (𝑇 ⊕ 𝑈)) → ((𝑇(proj1‘𝐺)𝑈)‘𝑥) ∈ 𝑇) |
15 | 6, 7, 8, 9, 2, 3, 10, 11, 12 | pj2f 18111 |
. . . . . . 7
⊢ (𝜑 → (𝑈(proj1‘𝐺)𝑇):(𝑇 ⊕ 𝑈)⟶𝑈) |
16 | 15 | ffvelrnda 6359 |
. . . . . 6
⊢ ((𝜑 ∧ 𝑥 ∈ (𝑇 ⊕ 𝑈)) → ((𝑈(proj1‘𝐺)𝑇)‘𝑥) ∈ 𝑈) |
17 | | opelxpi 5148 |
. . . . . 6
⊢ ((((𝑇(proj1‘𝐺)𝑈)‘𝑥) ∈ 𝑇 ∧ ((𝑈(proj1‘𝐺)𝑇)‘𝑥) ∈ 𝑈) → 〈((𝑇(proj1‘𝐺)𝑈)‘𝑥), ((𝑈(proj1‘𝐺)𝑇)‘𝑥)〉 ∈ (𝑇 × 𝑈)) |
18 | 14, 16, 17 | syl2anc 693 |
. . . . 5
⊢ ((𝜑 ∧ 𝑥 ∈ (𝑇 ⊕ 𝑈)) → 〈((𝑇(proj1‘𝐺)𝑈)‘𝑥), ((𝑈(proj1‘𝐺)𝑇)‘𝑥)〉 ∈ (𝑇 × 𝑈)) |
19 | 18 | ex 450 |
. . . 4
⊢ (𝜑 → (𝑥 ∈ (𝑇 ⊕ 𝑈) → 〈((𝑇(proj1‘𝐺)𝑈)‘𝑥), ((𝑈(proj1‘𝐺)𝑇)‘𝑥)〉 ∈ (𝑇 × 𝑈))) |
20 | 2, 3 | jca 554 |
. . . . . 6
⊢ (𝜑 → (𝑇 ∈ (SubGrp‘𝐺) ∧ 𝑈 ∈ (SubGrp‘𝐺))) |
21 | | xp1st 7198 |
. . . . . . 7
⊢ (𝑦 ∈ (𝑇 × 𝑈) → (1st ‘𝑦) ∈ 𝑇) |
22 | | xp2nd 7199 |
. . . . . . 7
⊢ (𝑦 ∈ (𝑇 × 𝑈) → (2nd ‘𝑦) ∈ 𝑈) |
23 | 21, 22 | jca 554 |
. . . . . 6
⊢ (𝑦 ∈ (𝑇 × 𝑈) → ((1st ‘𝑦) ∈ 𝑇 ∧ (2nd ‘𝑦) ∈ 𝑈)) |
24 | 6, 7 | lsmelvali 18065 |
. . . . . 6
⊢ (((𝑇 ∈ (SubGrp‘𝐺) ∧ 𝑈 ∈ (SubGrp‘𝐺)) ∧ ((1st ‘𝑦) ∈ 𝑇 ∧ (2nd ‘𝑦) ∈ 𝑈)) → ((1st ‘𝑦)(+g‘𝐺)(2nd ‘𝑦)) ∈ (𝑇 ⊕ 𝑈)) |
25 | 20, 23, 24 | syl2an 494 |
. . . . 5
⊢ ((𝜑 ∧ 𝑦 ∈ (𝑇 × 𝑈)) → ((1st ‘𝑦)(+g‘𝐺)(2nd ‘𝑦)) ∈ (𝑇 ⊕ 𝑈)) |
26 | 25 | ex 450 |
. . . 4
⊢ (𝜑 → (𝑦 ∈ (𝑇 × 𝑈) → ((1st ‘𝑦)(+g‘𝐺)(2nd ‘𝑦)) ∈ (𝑇 ⊕ 𝑈))) |
27 | 2 | adantr 481 |
. . . . . . . 8
⊢ ((𝜑 ∧ (𝑥 ∈ (𝑇 ⊕ 𝑈) ∧ 𝑦 ∈ (𝑇 × 𝑈))) → 𝑇 ∈ (SubGrp‘𝐺)) |
28 | 3 | adantr 481 |
. . . . . . . 8
⊢ ((𝜑 ∧ (𝑥 ∈ (𝑇 ⊕ 𝑈) ∧ 𝑦 ∈ (𝑇 × 𝑈))) → 𝑈 ∈ (SubGrp‘𝐺)) |
29 | 10 | adantr 481 |
. . . . . . . 8
⊢ ((𝜑 ∧ (𝑥 ∈ (𝑇 ⊕ 𝑈) ∧ 𝑦 ∈ (𝑇 × 𝑈))) → (𝑇 ∩ 𝑈) = { 0 }) |
30 | 11 | adantr 481 |
. . . . . . . 8
⊢ ((𝜑 ∧ (𝑥 ∈ (𝑇 ⊕ 𝑈) ∧ 𝑦 ∈ (𝑇 × 𝑈))) → 𝑇 ⊆ (𝑍‘𝑈)) |
31 | | simprl 794 |
. . . . . . . 8
⊢ ((𝜑 ∧ (𝑥 ∈ (𝑇 ⊕ 𝑈) ∧ 𝑦 ∈ (𝑇 × 𝑈))) → 𝑥 ∈ (𝑇 ⊕ 𝑈)) |
32 | 21 | ad2antll 765 |
. . . . . . . 8
⊢ ((𝜑 ∧ (𝑥 ∈ (𝑇 ⊕ 𝑈) ∧ 𝑦 ∈ (𝑇 × 𝑈))) → (1st ‘𝑦) ∈ 𝑇) |
33 | 22 | ad2antll 765 |
. . . . . . . 8
⊢ ((𝜑 ∧ (𝑥 ∈ (𝑇 ⊕ 𝑈) ∧ 𝑦 ∈ (𝑇 × 𝑈))) → (2nd ‘𝑦) ∈ 𝑈) |
34 | 6, 7, 8, 9, 27, 28, 29, 30, 12, 31, 32, 33 | pj1eq 18113 |
. . . . . . 7
⊢ ((𝜑 ∧ (𝑥 ∈ (𝑇 ⊕ 𝑈) ∧ 𝑦 ∈ (𝑇 × 𝑈))) → (𝑥 = ((1st ‘𝑦)(+g‘𝐺)(2nd ‘𝑦)) ↔ (((𝑇(proj1‘𝐺)𝑈)‘𝑥) = (1st ‘𝑦) ∧ ((𝑈(proj1‘𝐺)𝑇)‘𝑥) = (2nd ‘𝑦)))) |
35 | | eqcom 2629 |
. . . . . . . 8
⊢ (((𝑇(proj1‘𝐺)𝑈)‘𝑥) = (1st ‘𝑦) ↔ (1st ‘𝑦) = ((𝑇(proj1‘𝐺)𝑈)‘𝑥)) |
36 | | eqcom 2629 |
. . . . . . . 8
⊢ (((𝑈(proj1‘𝐺)𝑇)‘𝑥) = (2nd ‘𝑦) ↔ (2nd ‘𝑦) = ((𝑈(proj1‘𝐺)𝑇)‘𝑥)) |
37 | 35, 36 | anbi12i 733 |
. . . . . . 7
⊢ ((((𝑇(proj1‘𝐺)𝑈)‘𝑥) = (1st ‘𝑦) ∧ ((𝑈(proj1‘𝐺)𝑇)‘𝑥) = (2nd ‘𝑦)) ↔ ((1st ‘𝑦) = ((𝑇(proj1‘𝐺)𝑈)‘𝑥) ∧ (2nd ‘𝑦) = ((𝑈(proj1‘𝐺)𝑇)‘𝑥))) |
38 | 34, 37 | syl6bb 276 |
. . . . . 6
⊢ ((𝜑 ∧ (𝑥 ∈ (𝑇 ⊕ 𝑈) ∧ 𝑦 ∈ (𝑇 × 𝑈))) → (𝑥 = ((1st ‘𝑦)(+g‘𝐺)(2nd ‘𝑦)) ↔ ((1st ‘𝑦) = ((𝑇(proj1‘𝐺)𝑈)‘𝑥) ∧ (2nd ‘𝑦) = ((𝑈(proj1‘𝐺)𝑇)‘𝑥)))) |
39 | | eqop 7208 |
. . . . . . 7
⊢ (𝑦 ∈ (𝑇 × 𝑈) → (𝑦 = 〈((𝑇(proj1‘𝐺)𝑈)‘𝑥), ((𝑈(proj1‘𝐺)𝑇)‘𝑥)〉 ↔ ((1st ‘𝑦) = ((𝑇(proj1‘𝐺)𝑈)‘𝑥) ∧ (2nd ‘𝑦) = ((𝑈(proj1‘𝐺)𝑇)‘𝑥)))) |
40 | 39 | ad2antll 765 |
. . . . . 6
⊢ ((𝜑 ∧ (𝑥 ∈ (𝑇 ⊕ 𝑈) ∧ 𝑦 ∈ (𝑇 × 𝑈))) → (𝑦 = 〈((𝑇(proj1‘𝐺)𝑈)‘𝑥), ((𝑈(proj1‘𝐺)𝑇)‘𝑥)〉 ↔ ((1st ‘𝑦) = ((𝑇(proj1‘𝐺)𝑈)‘𝑥) ∧ (2nd ‘𝑦) = ((𝑈(proj1‘𝐺)𝑇)‘𝑥)))) |
41 | 38, 40 | bitr4d 271 |
. . . . 5
⊢ ((𝜑 ∧ (𝑥 ∈ (𝑇 ⊕ 𝑈) ∧ 𝑦 ∈ (𝑇 × 𝑈))) → (𝑥 = ((1st ‘𝑦)(+g‘𝐺)(2nd ‘𝑦)) ↔ 𝑦 = 〈((𝑇(proj1‘𝐺)𝑈)‘𝑥), ((𝑈(proj1‘𝐺)𝑇)‘𝑥)〉)) |
42 | 41 | ex 450 |
. . . 4
⊢ (𝜑 → ((𝑥 ∈ (𝑇 ⊕ 𝑈) ∧ 𝑦 ∈ (𝑇 × 𝑈)) → (𝑥 = ((1st ‘𝑦)(+g‘𝐺)(2nd ‘𝑦)) ↔ 𝑦 = 〈((𝑇(proj1‘𝐺)𝑈)‘𝑥), ((𝑈(proj1‘𝐺)𝑇)‘𝑥)〉))) |
43 | 1, 5, 19, 26, 42 | en3d 7992 |
. . 3
⊢ (𝜑 → (𝑇 ⊕ 𝑈) ≈ (𝑇 × 𝑈)) |
44 | | hasheni 13136 |
. . 3
⊢ ((𝑇 ⊕ 𝑈) ≈ (𝑇 × 𝑈) → (#‘(𝑇 ⊕ 𝑈)) = (#‘(𝑇 × 𝑈))) |
45 | 43, 44 | syl 17 |
. 2
⊢ (𝜑 → (#‘(𝑇 ⊕ 𝑈)) = (#‘(𝑇 × 𝑈))) |
46 | | lsmhash.1 |
. . 3
⊢ (𝜑 → 𝑇 ∈ Fin) |
47 | | lsmhash.2 |
. . 3
⊢ (𝜑 → 𝑈 ∈ Fin) |
48 | | hashxp 13221 |
. . 3
⊢ ((𝑇 ∈ Fin ∧ 𝑈 ∈ Fin) →
(#‘(𝑇 × 𝑈)) = ((#‘𝑇) · (#‘𝑈))) |
49 | 46, 47, 48 | syl2anc 693 |
. 2
⊢ (𝜑 → (#‘(𝑇 × 𝑈)) = ((#‘𝑇) · (#‘𝑈))) |
50 | 45, 49 | eqtrd 2656 |
1
⊢ (𝜑 → (#‘(𝑇 ⊕ 𝑈)) = ((#‘𝑇) · (#‘𝑈))) |