| Step | Hyp | Ref | Expression | 
|---|
| 1 |  | frgpnabl.a | . . . . . . 7
⊢ (𝜑 → 𝐴 ∈ 𝐼) | 
| 2 |  | 0ex 5307 | . . . . . . . . 9
⊢ ∅
∈ V | 
| 3 | 2 | prid1 4762 | . . . . . . . 8
⊢ ∅
∈ {∅, 1o} | 
| 4 |  | df2o3 8514 | . . . . . . . 8
⊢
2o = {∅, 1o} | 
| 5 | 3, 4 | eleqtrri 2840 | . . . . . . 7
⊢ ∅
∈ 2o | 
| 6 |  | opelxpi 5722 | . . . . . . 7
⊢ ((𝐴 ∈ 𝐼 ∧ ∅ ∈ 2o) →
〈𝐴, ∅〉
∈ (𝐼 ×
2o)) | 
| 7 | 1, 5, 6 | sylancl 586 | . . . . . 6
⊢ (𝜑 → 〈𝐴, ∅〉 ∈ (𝐼 × 2o)) | 
| 8 |  | frgpnabl.b | . . . . . . 7
⊢ (𝜑 → 𝐵 ∈ 𝐼) | 
| 9 |  | opelxpi 5722 | . . . . . . 7
⊢ ((𝐵 ∈ 𝐼 ∧ ∅ ∈ 2o) →
〈𝐵, ∅〉
∈ (𝐼 ×
2o)) | 
| 10 | 8, 5, 9 | sylancl 586 | . . . . . 6
⊢ (𝜑 → 〈𝐵, ∅〉 ∈ (𝐼 × 2o)) | 
| 11 | 7, 10 | s2cld 14910 | . . . . 5
⊢ (𝜑 → 〈“〈𝐴, ∅〉〈𝐵, ∅〉”〉
∈ Word (𝐼 ×
2o)) | 
| 12 |  | frgpnabl.w | . . . . . 6
⊢ 𝑊 = ( I ‘Word (𝐼 ×
2o)) | 
| 13 |  | frgpnabl.i | . . . . . . . 8
⊢ (𝜑 → 𝐼 ∈ 𝑉) | 
| 14 |  | 2on 8520 | . . . . . . . 8
⊢
2o ∈ On | 
| 15 |  | xpexg 7770 | . . . . . . . 8
⊢ ((𝐼 ∈ 𝑉 ∧ 2o ∈ On) →
(𝐼 × 2o)
∈ V) | 
| 16 | 13, 14, 15 | sylancl 586 | . . . . . . 7
⊢ (𝜑 → (𝐼 × 2o) ∈
V) | 
| 17 |  | wrdexg 14562 | . . . . . . 7
⊢ ((𝐼 × 2o) ∈ V
→ Word (𝐼 ×
2o) ∈ V) | 
| 18 |  | fvi 6985 | . . . . . . 7
⊢ (Word
(𝐼 × 2o)
∈ V → ( I ‘Word (𝐼 × 2o)) = Word (𝐼 ×
2o)) | 
| 19 | 16, 17, 18 | 3syl 18 | . . . . . 6
⊢ (𝜑 → ( I ‘Word (𝐼 × 2o)) = Word
(𝐼 ×
2o)) | 
| 20 | 12, 19 | eqtrid 2789 | . . . . 5
⊢ (𝜑 → 𝑊 = Word (𝐼 × 2o)) | 
| 21 | 11, 20 | eleqtrrd 2844 | . . . 4
⊢ (𝜑 → 〈“〈𝐴, ∅〉〈𝐵, ∅〉”〉
∈ 𝑊) | 
| 22 |  | 1n0 8526 | . . . . . . 7
⊢
1o ≠ ∅ | 
| 23 |  | 2cn 12341 | . . . . . . . . . . . . . 14
⊢ 2 ∈
ℂ | 
| 24 | 23 | addlidi 11449 | . . . . . . . . . . . . 13
⊢ (0 + 2) =
2 | 
| 25 |  | s2len 14928 | . . . . . . . . . . . . 13
⊢
(♯‘〈“〈𝐴, ∅〉〈𝐵, ∅〉”〉) =
2 | 
| 26 | 24, 25 | eqtr4i 2768 | . . . . . . . . . . . 12
⊢ (0 + 2) =
(♯‘〈“〈𝐴, ∅〉〈𝐵,
∅〉”〉) | 
| 27 |  | frgpnabl.r | . . . . . . . . . . . . . 14
⊢  ∼ = (
~FG ‘𝐼) | 
| 28 |  | frgpnabl.m | . . . . . . . . . . . . . 14
⊢ 𝑀 = (𝑦 ∈ 𝐼, 𝑧 ∈ 2o ↦ 〈𝑦, (1o ∖ 𝑧)〉) | 
| 29 |  | frgpnabl.t | . . . . . . . . . . . . . 14
⊢ 𝑇 = (𝑣 ∈ 𝑊 ↦ (𝑛 ∈ (0...(♯‘𝑣)), 𝑤 ∈ (𝐼 × 2o) ↦ (𝑣 splice 〈𝑛, 𝑛, 〈“𝑤(𝑀‘𝑤)”〉〉))) | 
| 30 | 12, 27, 28, 29 | efgtlen 19744 | . . . . . . . . . . . . 13
⊢ ((𝑥 ∈ 𝑊 ∧ 〈“〈𝐴, ∅〉〈𝐵, ∅〉”〉 ∈ ran
(𝑇‘𝑥)) →
(♯‘〈“〈𝐴, ∅〉〈𝐵, ∅〉”〉) =
((♯‘𝑥) +
2)) | 
| 31 | 30 | adantll 714 | . . . . . . . . . . . 12
⊢ (((𝜑 ∧ 𝑥 ∈ 𝑊) ∧ 〈“〈𝐴, ∅〉〈𝐵, ∅〉”〉 ∈ ran
(𝑇‘𝑥)) →
(♯‘〈“〈𝐴, ∅〉〈𝐵, ∅〉”〉) =
((♯‘𝑥) +
2)) | 
| 32 | 26, 31 | eqtrid 2789 | . . . . . . . . . . 11
⊢ (((𝜑 ∧ 𝑥 ∈ 𝑊) ∧ 〈“〈𝐴, ∅〉〈𝐵, ∅〉”〉 ∈ ran
(𝑇‘𝑥)) → (0 + 2) = ((♯‘𝑥) + 2)) | 
| 33 | 32 | ex 412 | . . . . . . . . . 10
⊢ ((𝜑 ∧ 𝑥 ∈ 𝑊) → (〈“〈𝐴, ∅〉〈𝐵, ∅〉”〉
∈ ran (𝑇‘𝑥) → (0 + 2) =
((♯‘𝑥) +
2))) | 
| 34 |  | 0cnd 11254 | . . . . . . . . . . 11
⊢ ((𝜑 ∧ 𝑥 ∈ 𝑊) → 0 ∈ ℂ) | 
| 35 |  | simpr 484 | . . . . . . . . . . . . . 14
⊢ ((𝜑 ∧ 𝑥 ∈ 𝑊) → 𝑥 ∈ 𝑊) | 
| 36 | 12 | efgrcl 19733 | . . . . . . . . . . . . . . . 16
⊢ (𝑥 ∈ 𝑊 → (𝐼 ∈ V ∧ 𝑊 = Word (𝐼 × 2o))) | 
| 37 | 36 | simprd 495 | . . . . . . . . . . . . . . 15
⊢ (𝑥 ∈ 𝑊 → 𝑊 = Word (𝐼 × 2o)) | 
| 38 | 37 | adantl 481 | . . . . . . . . . . . . . 14
⊢ ((𝜑 ∧ 𝑥 ∈ 𝑊) → 𝑊 = Word (𝐼 × 2o)) | 
| 39 | 35, 38 | eleqtrd 2843 | . . . . . . . . . . . . 13
⊢ ((𝜑 ∧ 𝑥 ∈ 𝑊) → 𝑥 ∈ Word (𝐼 × 2o)) | 
| 40 |  | lencl 14571 | . . . . . . . . . . . . 13
⊢ (𝑥 ∈ Word (𝐼 × 2o) →
(♯‘𝑥) ∈
ℕ0) | 
| 41 | 39, 40 | syl 17 | . . . . . . . . . . . 12
⊢ ((𝜑 ∧ 𝑥 ∈ 𝑊) → (♯‘𝑥) ∈
ℕ0) | 
| 42 | 41 | nn0cnd 12589 | . . . . . . . . . . 11
⊢ ((𝜑 ∧ 𝑥 ∈ 𝑊) → (♯‘𝑥) ∈ ℂ) | 
| 43 |  | 2cnd 12344 | . . . . . . . . . . 11
⊢ ((𝜑 ∧ 𝑥 ∈ 𝑊) → 2 ∈ ℂ) | 
| 44 | 34, 42, 43 | addcan2d 11465 | . . . . . . . . . 10
⊢ ((𝜑 ∧ 𝑥 ∈ 𝑊) → ((0 + 2) = ((♯‘𝑥) + 2) ↔ 0 =
(♯‘𝑥))) | 
| 45 | 33, 44 | sylibd 239 | . . . . . . . . 9
⊢ ((𝜑 ∧ 𝑥 ∈ 𝑊) → (〈“〈𝐴, ∅〉〈𝐵, ∅〉”〉
∈ ran (𝑇‘𝑥) → 0 =
(♯‘𝑥))) | 
| 46 | 12, 27, 28, 29 | efgtf 19740 | . . . . . . . . . . . . . . . . . 18
⊢ (∅
∈ 𝑊 → ((𝑇‘∅) = (𝑎 ∈
(0...(♯‘∅)), 𝑏 ∈ (𝐼 × 2o) ↦ (∅
splice 〈𝑎, 𝑎, 〈“𝑏(𝑀‘𝑏)”〉〉)) ∧ (𝑇‘∅):((0...(♯‘∅))
× (𝐼 ×
2o))⟶𝑊)) | 
| 47 | 46 | adantl 481 | . . . . . . . . . . . . . . . . 17
⊢ ((𝜑 ∧ ∅ ∈ 𝑊) → ((𝑇‘∅) = (𝑎 ∈ (0...(♯‘∅)), 𝑏 ∈ (𝐼 × 2o) ↦ (∅
splice 〈𝑎, 𝑎, 〈“𝑏(𝑀‘𝑏)”〉〉)) ∧ (𝑇‘∅):((0...(♯‘∅))
× (𝐼 ×
2o))⟶𝑊)) | 
| 48 | 47 | simpld 494 | . . . . . . . . . . . . . . . 16
⊢ ((𝜑 ∧ ∅ ∈ 𝑊) → (𝑇‘∅) = (𝑎 ∈ (0...(♯‘∅)), 𝑏 ∈ (𝐼 × 2o) ↦ (∅
splice 〈𝑎, 𝑎, 〈“𝑏(𝑀‘𝑏)”〉〉))) | 
| 49 | 48 | rneqd 5949 | . . . . . . . . . . . . . . 15
⊢ ((𝜑 ∧ ∅ ∈ 𝑊) → ran (𝑇‘∅) = ran (𝑎 ∈ (0...(♯‘∅)), 𝑏 ∈ (𝐼 × 2o) ↦ (∅
splice 〈𝑎, 𝑎, 〈“𝑏(𝑀‘𝑏)”〉〉))) | 
| 50 | 49 | eleq2d 2827 | . . . . . . . . . . . . . 14
⊢ ((𝜑 ∧ ∅ ∈ 𝑊) →
(〈“〈𝐴,
∅〉〈𝐵,
∅〉”〉 ∈ ran (𝑇‘∅) ↔
〈“〈𝐴,
∅〉〈𝐵,
∅〉”〉 ∈ ran (𝑎 ∈ (0...(♯‘∅)), 𝑏 ∈ (𝐼 × 2o) ↦ (∅
splice 〈𝑎, 𝑎, 〈“𝑏(𝑀‘𝑏)”〉〉)))) | 
| 51 |  | eqid 2737 | . . . . . . . . . . . . . . . 16
⊢ (𝑎 ∈
(0...(♯‘∅)), 𝑏 ∈ (𝐼 × 2o) ↦ (∅
splice 〈𝑎, 𝑎, 〈“𝑏(𝑀‘𝑏)”〉〉)) = (𝑎 ∈ (0...(♯‘∅)), 𝑏 ∈ (𝐼 × 2o) ↦ (∅
splice 〈𝑎, 𝑎, 〈“𝑏(𝑀‘𝑏)”〉〉)) | 
| 52 |  | ovex 7464 | . . . . . . . . . . . . . . . 16
⊢ (∅
splice 〈𝑎, 𝑎, 〈“𝑏(𝑀‘𝑏)”〉〉) ∈
V | 
| 53 | 51, 52 | elrnmpo 7569 | . . . . . . . . . . . . . . 15
⊢
(〈“〈𝐴, ∅〉〈𝐵, ∅〉”〉 ∈ ran
(𝑎 ∈
(0...(♯‘∅)), 𝑏 ∈ (𝐼 × 2o) ↦ (∅
splice 〈𝑎, 𝑎, 〈“𝑏(𝑀‘𝑏)”〉〉)) ↔ ∃𝑎 ∈
(0...(♯‘∅))∃𝑏 ∈ (𝐼 ×
2o)〈“〈𝐴, ∅〉〈𝐵, ∅〉”〉 = (∅
splice 〈𝑎, 𝑎, 〈“𝑏(𝑀‘𝑏)”〉〉)) | 
| 54 |  | wrd0 14577 | . . . . . . . . . . . . . . . . . . . . 21
⊢ ∅
∈ Word (𝐼 ×
2o) | 
| 55 | 54 | a1i 11 | . . . . . . . . . . . . . . . . . . . 20
⊢ (((𝜑 ∧ ∅ ∈ 𝑊) ∧ (𝑎 ∈ (0...(♯‘∅)) ∧
𝑏 ∈ (𝐼 × 2o))) → ∅
∈ Word (𝐼 ×
2o)) | 
| 56 |  | simprr 773 | . . . . . . . . . . . . . . . . . . . . 21
⊢ (((𝜑 ∧ ∅ ∈ 𝑊) ∧ (𝑎 ∈ (0...(♯‘∅)) ∧
𝑏 ∈ (𝐼 × 2o))) → 𝑏 ∈ (𝐼 × 2o)) | 
| 57 | 28 | efgmf 19731 | . . . . . . . . . . . . . . . . . . . . . . 23
⊢ 𝑀:(𝐼 × 2o)⟶(𝐼 ×
2o) | 
| 58 | 57 | ffvelcdmi 7103 | . . . . . . . . . . . . . . . . . . . . . 22
⊢ (𝑏 ∈ (𝐼 × 2o) → (𝑀‘𝑏) ∈ (𝐼 × 2o)) | 
| 59 | 56, 58 | syl 17 | . . . . . . . . . . . . . . . . . . . . 21
⊢ (((𝜑 ∧ ∅ ∈ 𝑊) ∧ (𝑎 ∈ (0...(♯‘∅)) ∧
𝑏 ∈ (𝐼 × 2o))) → (𝑀‘𝑏) ∈ (𝐼 × 2o)) | 
| 60 | 56, 59 | s2cld 14910 | . . . . . . . . . . . . . . . . . . . 20
⊢ (((𝜑 ∧ ∅ ∈ 𝑊) ∧ (𝑎 ∈ (0...(♯‘∅)) ∧
𝑏 ∈ (𝐼 × 2o))) →
〈“𝑏(𝑀‘𝑏)”〉 ∈ Word (𝐼 × 2o)) | 
| 61 |  | ccatidid 14628 | . . . . . . . . . . . . . . . . . . . . . . 23
⊢ (∅
++ ∅) = ∅ | 
| 62 | 61 | oveq1i 7441 | . . . . . . . . . . . . . . . . . . . . . 22
⊢ ((∅
++ ∅) ++ ∅) = (∅ ++ ∅) | 
| 63 | 62, 61 | eqtr2i 2766 | . . . . . . . . . . . . . . . . . . . . 21
⊢ ∅ =
((∅ ++ ∅) ++ ∅) | 
| 64 | 63 | a1i 11 | . . . . . . . . . . . . . . . . . . . 20
⊢ (((𝜑 ∧ ∅ ∈ 𝑊) ∧ (𝑎 ∈ (0...(♯‘∅)) ∧
𝑏 ∈ (𝐼 × 2o))) → ∅ =
((∅ ++ ∅) ++ ∅)) | 
| 65 |  | simprl 771 | . . . . . . . . . . . . . . . . . . . . . . 23
⊢ (((𝜑 ∧ ∅ ∈ 𝑊) ∧ (𝑎 ∈ (0...(♯‘∅)) ∧
𝑏 ∈ (𝐼 × 2o))) → 𝑎 ∈
(0...(♯‘∅))) | 
| 66 |  | hash0 14406 | . . . . . . . . . . . . . . . . . . . . . . . 24
⊢
(♯‘∅) = 0 | 
| 67 | 66 | oveq2i 7442 | . . . . . . . . . . . . . . . . . . . . . . 23
⊢
(0...(♯‘∅)) = (0...0) | 
| 68 | 65, 67 | eleqtrdi 2851 | . . . . . . . . . . . . . . . . . . . . . 22
⊢ (((𝜑 ∧ ∅ ∈ 𝑊) ∧ (𝑎 ∈ (0...(♯‘∅)) ∧
𝑏 ∈ (𝐼 × 2o))) → 𝑎 ∈
(0...0)) | 
| 69 |  | elfz1eq 13575 | . . . . . . . . . . . . . . . . . . . . . 22
⊢ (𝑎 ∈ (0...0) → 𝑎 = 0) | 
| 70 | 68, 69 | syl 17 | . . . . . . . . . . . . . . . . . . . . 21
⊢ (((𝜑 ∧ ∅ ∈ 𝑊) ∧ (𝑎 ∈ (0...(♯‘∅)) ∧
𝑏 ∈ (𝐼 × 2o))) → 𝑎 = 0) | 
| 71 | 70, 66 | eqtr4di 2795 | . . . . . . . . . . . . . . . . . . . 20
⊢ (((𝜑 ∧ ∅ ∈ 𝑊) ∧ (𝑎 ∈ (0...(♯‘∅)) ∧
𝑏 ∈ (𝐼 × 2o))) → 𝑎 =
(♯‘∅)) | 
| 72 | 66 | oveq2i 7442 | . . . . . . . . . . . . . . . . . . . . 21
⊢ (𝑎 + (♯‘∅)) =
(𝑎 + 0) | 
| 73 |  | 0cn 11253 | . . . . . . . . . . . . . . . . . . . . . . 23
⊢ 0 ∈
ℂ | 
| 74 | 70, 73 | eqeltrdi 2849 | . . . . . . . . . . . . . . . . . . . . . 22
⊢ (((𝜑 ∧ ∅ ∈ 𝑊) ∧ (𝑎 ∈ (0...(♯‘∅)) ∧
𝑏 ∈ (𝐼 × 2o))) → 𝑎 ∈
ℂ) | 
| 75 | 74 | addridd 11461 | . . . . . . . . . . . . . . . . . . . . 21
⊢ (((𝜑 ∧ ∅ ∈ 𝑊) ∧ (𝑎 ∈ (0...(♯‘∅)) ∧
𝑏 ∈ (𝐼 × 2o))) → (𝑎 + 0) = 𝑎) | 
| 76 | 72, 75 | eqtr2id 2790 | . . . . . . . . . . . . . . . . . . . 20
⊢ (((𝜑 ∧ ∅ ∈ 𝑊) ∧ (𝑎 ∈ (0...(♯‘∅)) ∧
𝑏 ∈ (𝐼 × 2o))) → 𝑎 = (𝑎 + (♯‘∅))) | 
| 77 | 55, 55, 55, 60, 64, 71, 76 | splval2 14795 | . . . . . . . . . . . . . . . . . . 19
⊢ (((𝜑 ∧ ∅ ∈ 𝑊) ∧ (𝑎 ∈ (0...(♯‘∅)) ∧
𝑏 ∈ (𝐼 × 2o))) → (∅
splice 〈𝑎, 𝑎, 〈“𝑏(𝑀‘𝑏)”〉〉) = ((∅ ++
〈“𝑏(𝑀‘𝑏)”〉) ++ ∅)) | 
| 78 |  | ccatlid 14624 | . . . . . . . . . . . . . . . . . . . . . 22
⊢
(〈“𝑏(𝑀‘𝑏)”〉 ∈ Word (𝐼 × 2o) → (∅ ++
〈“𝑏(𝑀‘𝑏)”〉) = 〈“𝑏(𝑀‘𝑏)”〉) | 
| 79 | 78 | oveq1d 7446 | . . . . . . . . . . . . . . . . . . . . 21
⊢
(〈“𝑏(𝑀‘𝑏)”〉 ∈ Word (𝐼 × 2o) → ((∅ ++
〈“𝑏(𝑀‘𝑏)”〉) ++ ∅) =
(〈“𝑏(𝑀‘𝑏)”〉 ++ ∅)) | 
| 80 |  | ccatrid 14625 | . . . . . . . . . . . . . . . . . . . . 21
⊢
(〈“𝑏(𝑀‘𝑏)”〉 ∈ Word (𝐼 × 2o) →
(〈“𝑏(𝑀‘𝑏)”〉 ++ ∅) =
〈“𝑏(𝑀‘𝑏)”〉) | 
| 81 | 79, 80 | eqtrd 2777 | . . . . . . . . . . . . . . . . . . . 20
⊢
(〈“𝑏(𝑀‘𝑏)”〉 ∈ Word (𝐼 × 2o) → ((∅ ++
〈“𝑏(𝑀‘𝑏)”〉) ++ ∅) =
〈“𝑏(𝑀‘𝑏)”〉) | 
| 82 | 60, 81 | syl 17 | . . . . . . . . . . . . . . . . . . 19
⊢ (((𝜑 ∧ ∅ ∈ 𝑊) ∧ (𝑎 ∈ (0...(♯‘∅)) ∧
𝑏 ∈ (𝐼 × 2o))) → ((∅
++ 〈“𝑏(𝑀‘𝑏)”〉) ++ ∅) =
〈“𝑏(𝑀‘𝑏)”〉) | 
| 83 | 77, 82 | eqtrd 2777 | . . . . . . . . . . . . . . . . . 18
⊢ (((𝜑 ∧ ∅ ∈ 𝑊) ∧ (𝑎 ∈ (0...(♯‘∅)) ∧
𝑏 ∈ (𝐼 × 2o))) → (∅
splice 〈𝑎, 𝑎, 〈“𝑏(𝑀‘𝑏)”〉〉) = 〈“𝑏(𝑀‘𝑏)”〉) | 
| 84 | 83 | eqeq2d 2748 | . . . . . . . . . . . . . . . . 17
⊢ (((𝜑 ∧ ∅ ∈ 𝑊) ∧ (𝑎 ∈ (0...(♯‘∅)) ∧
𝑏 ∈ (𝐼 × 2o))) →
(〈“〈𝐴,
∅〉〈𝐵,
∅〉”〉 = (∅ splice 〈𝑎, 𝑎, 〈“𝑏(𝑀‘𝑏)”〉〉) ↔
〈“〈𝐴,
∅〉〈𝐵,
∅〉”〉 = 〈“𝑏(𝑀‘𝑏)”〉)) | 
| 85 | 1 | ad3antrrr 730 | . . . . . . . . . . . . . . . . . . 19
⊢ ((((𝜑 ∧ ∅ ∈ 𝑊) ∧ (𝑎 ∈ (0...(♯‘∅)) ∧
𝑏 ∈ (𝐼 × 2o))) ∧
〈“〈𝐴,
∅〉〈𝐵,
∅〉”〉 = 〈“𝑏(𝑀‘𝑏)”〉) → 𝐴 ∈ 𝐼) | 
| 86 |  | 1on 8518 | . . . . . . . . . . . . . . . . . . . 20
⊢
1o ∈ On | 
| 87 | 86 | a1i 11 | . . . . . . . . . . . . . . . . . . 19
⊢ ((((𝜑 ∧ ∅ ∈ 𝑊) ∧ (𝑎 ∈ (0...(♯‘∅)) ∧
𝑏 ∈ (𝐼 × 2o))) ∧
〈“〈𝐴,
∅〉〈𝐵,
∅〉”〉 = 〈“𝑏(𝑀‘𝑏)”〉) → 1o ∈
On) | 
| 88 |  | simpr 484 | . . . . . . . . . . . . . . . . . . . . . 22
⊢ ((((𝜑 ∧ ∅ ∈ 𝑊) ∧ (𝑎 ∈ (0...(♯‘∅)) ∧
𝑏 ∈ (𝐼 × 2o))) ∧
〈“〈𝐴,
∅〉〈𝐵,
∅〉”〉 = 〈“𝑏(𝑀‘𝑏)”〉) →
〈“〈𝐴,
∅〉〈𝐵,
∅〉”〉 = 〈“𝑏(𝑀‘𝑏)”〉) | 
| 89 | 88 | fveq1d 6908 | . . . . . . . . . . . . . . . . . . . . 21
⊢ ((((𝜑 ∧ ∅ ∈ 𝑊) ∧ (𝑎 ∈ (0...(♯‘∅)) ∧
𝑏 ∈ (𝐼 × 2o))) ∧
〈“〈𝐴,
∅〉〈𝐵,
∅〉”〉 = 〈“𝑏(𝑀‘𝑏)”〉) →
(〈“〈𝐴,
∅〉〈𝐵,
∅〉”〉‘1) = (〈“𝑏(𝑀‘𝑏)”〉‘1)) | 
| 90 |  | opex 5469 | . . . . . . . . . . . . . . . . . . . . . 22
⊢
〈𝐵,
∅〉 ∈ V | 
| 91 |  | s2fv1 14927 | . . . . . . . . . . . . . . . . . . . . . 22
⊢
(〈𝐵,
∅〉 ∈ V → (〈“〈𝐴, ∅〉〈𝐵, ∅〉”〉‘1) =
〈𝐵,
∅〉) | 
| 92 | 90, 91 | ax-mp 5 | . . . . . . . . . . . . . . . . . . . . 21
⊢
(〈“〈𝐴, ∅〉〈𝐵, ∅〉”〉‘1) =
〈𝐵,
∅〉 | 
| 93 |  | fvex 6919 | . . . . . . . . . . . . . . . . . . . . . 22
⊢ (𝑀‘𝑏) ∈ V | 
| 94 |  | s2fv1 14927 | . . . . . . . . . . . . . . . . . . . . . 22
⊢ ((𝑀‘𝑏) ∈ V → (〈“𝑏(𝑀‘𝑏)”〉‘1) = (𝑀‘𝑏)) | 
| 95 | 93, 94 | ax-mp 5 | . . . . . . . . . . . . . . . . . . . . 21
⊢
(〈“𝑏(𝑀‘𝑏)”〉‘1) = (𝑀‘𝑏) | 
| 96 | 89, 92, 95 | 3eqtr3g 2800 | . . . . . . . . . . . . . . . . . . . 20
⊢ ((((𝜑 ∧ ∅ ∈ 𝑊) ∧ (𝑎 ∈ (0...(♯‘∅)) ∧
𝑏 ∈ (𝐼 × 2o))) ∧
〈“〈𝐴,
∅〉〈𝐵,
∅〉”〉 = 〈“𝑏(𝑀‘𝑏)”〉) → 〈𝐵, ∅〉 = (𝑀‘𝑏)) | 
| 97 | 88 | fveq1d 6908 | . . . . . . . . . . . . . . . . . . . . . 22
⊢ ((((𝜑 ∧ ∅ ∈ 𝑊) ∧ (𝑎 ∈ (0...(♯‘∅)) ∧
𝑏 ∈ (𝐼 × 2o))) ∧
〈“〈𝐴,
∅〉〈𝐵,
∅〉”〉 = 〈“𝑏(𝑀‘𝑏)”〉) →
(〈“〈𝐴,
∅〉〈𝐵,
∅〉”〉‘0) = (〈“𝑏(𝑀‘𝑏)”〉‘0)) | 
| 98 |  | opex 5469 | . . . . . . . . . . . . . . . . . . . . . . 23
⊢
〈𝐴,
∅〉 ∈ V | 
| 99 |  | s2fv0 14926 | . . . . . . . . . . . . . . . . . . . . . . 23
⊢
(〈𝐴,
∅〉 ∈ V → (〈“〈𝐴, ∅〉〈𝐵, ∅〉”〉‘0) =
〈𝐴,
∅〉) | 
| 100 | 98, 99 | ax-mp 5 | . . . . . . . . . . . . . . . . . . . . . 22
⊢
(〈“〈𝐴, ∅〉〈𝐵, ∅〉”〉‘0) =
〈𝐴,
∅〉 | 
| 101 |  | s2fv0 14926 | . . . . . . . . . . . . . . . . . . . . . . 23
⊢ (𝑏 ∈ V →
(〈“𝑏(𝑀‘𝑏)”〉‘0) = 𝑏) | 
| 102 | 101 | elv 3485 | . . . . . . . . . . . . . . . . . . . . . 22
⊢
(〈“𝑏(𝑀‘𝑏)”〉‘0) = 𝑏 | 
| 103 | 97, 100, 102 | 3eqtr3g 2800 | . . . . . . . . . . . . . . . . . . . . 21
⊢ ((((𝜑 ∧ ∅ ∈ 𝑊) ∧ (𝑎 ∈ (0...(♯‘∅)) ∧
𝑏 ∈ (𝐼 × 2o))) ∧
〈“〈𝐴,
∅〉〈𝐵,
∅〉”〉 = 〈“𝑏(𝑀‘𝑏)”〉) → 〈𝐴, ∅〉 = 𝑏) | 
| 104 | 103 | fveq2d 6910 | . . . . . . . . . . . . . . . . . . . 20
⊢ ((((𝜑 ∧ ∅ ∈ 𝑊) ∧ (𝑎 ∈ (0...(♯‘∅)) ∧
𝑏 ∈ (𝐼 × 2o))) ∧
〈“〈𝐴,
∅〉〈𝐵,
∅〉”〉 = 〈“𝑏(𝑀‘𝑏)”〉) → (𝑀‘〈𝐴, ∅〉) = (𝑀‘𝑏)) | 
| 105 | 28 | efgmval 19730 | . . . . . . . . . . . . . . . . . . . . . 22
⊢ ((𝐴 ∈ 𝐼 ∧ ∅ ∈ 2o) →
(𝐴𝑀∅) = 〈𝐴, (1o ∖
∅)〉) | 
| 106 | 85, 5, 105 | sylancl 586 | . . . . . . . . . . . . . . . . . . . . 21
⊢ ((((𝜑 ∧ ∅ ∈ 𝑊) ∧ (𝑎 ∈ (0...(♯‘∅)) ∧
𝑏 ∈ (𝐼 × 2o))) ∧
〈“〈𝐴,
∅〉〈𝐵,
∅〉”〉 = 〈“𝑏(𝑀‘𝑏)”〉) → (𝐴𝑀∅) = 〈𝐴, (1o ∖
∅)〉) | 
| 107 |  | df-ov 7434 | . . . . . . . . . . . . . . . . . . . . 21
⊢ (𝐴𝑀∅) = (𝑀‘〈𝐴, ∅〉) | 
| 108 |  | dif0 4378 | . . . . . . . . . . . . . . . . . . . . . 22
⊢
(1o ∖ ∅) = 1o | 
| 109 | 108 | opeq2i 4877 | . . . . . . . . . . . . . . . . . . . . 21
⊢
〈𝐴,
(1o ∖ ∅)〉 = 〈𝐴, 1o〉 | 
| 110 | 106, 107,
109 | 3eqtr3g 2800 | . . . . . . . . . . . . . . . . . . . 20
⊢ ((((𝜑 ∧ ∅ ∈ 𝑊) ∧ (𝑎 ∈ (0...(♯‘∅)) ∧
𝑏 ∈ (𝐼 × 2o))) ∧
〈“〈𝐴,
∅〉〈𝐵,
∅〉”〉 = 〈“𝑏(𝑀‘𝑏)”〉) → (𝑀‘〈𝐴, ∅〉) = 〈𝐴, 1o〉) | 
| 111 | 96, 104, 110 | 3eqtr2rd 2784 | . . . . . . . . . . . . . . . . . . 19
⊢ ((((𝜑 ∧ ∅ ∈ 𝑊) ∧ (𝑎 ∈ (0...(♯‘∅)) ∧
𝑏 ∈ (𝐼 × 2o))) ∧
〈“〈𝐴,
∅〉〈𝐵,
∅〉”〉 = 〈“𝑏(𝑀‘𝑏)”〉) → 〈𝐴, 1o〉 =
〈𝐵,
∅〉) | 
| 112 |  | opthg 5482 | . . . . . . . . . . . . . . . . . . . 20
⊢ ((𝐴 ∈ 𝐼 ∧ 1o ∈ On) →
(〈𝐴,
1o〉 = 〈𝐵, ∅〉 ↔ (𝐴 = 𝐵 ∧ 1o =
∅))) | 
| 113 | 112 | simplbda 499 | . . . . . . . . . . . . . . . . . . 19
⊢ (((𝐴 ∈ 𝐼 ∧ 1o ∈ On) ∧
〈𝐴,
1o〉 = 〈𝐵, ∅〉) → 1o =
∅) | 
| 114 | 85, 87, 111, 113 | syl21anc 838 | . . . . . . . . . . . . . . . . . 18
⊢ ((((𝜑 ∧ ∅ ∈ 𝑊) ∧ (𝑎 ∈ (0...(♯‘∅)) ∧
𝑏 ∈ (𝐼 × 2o))) ∧
〈“〈𝐴,
∅〉〈𝐵,
∅〉”〉 = 〈“𝑏(𝑀‘𝑏)”〉) → 1o =
∅) | 
| 115 | 114 | ex 412 | . . . . . . . . . . . . . . . . 17
⊢ (((𝜑 ∧ ∅ ∈ 𝑊) ∧ (𝑎 ∈ (0...(♯‘∅)) ∧
𝑏 ∈ (𝐼 × 2o))) →
(〈“〈𝐴,
∅〉〈𝐵,
∅〉”〉 = 〈“𝑏(𝑀‘𝑏)”〉 → 1o =
∅)) | 
| 116 | 84, 115 | sylbid 240 | . . . . . . . . . . . . . . . 16
⊢ (((𝜑 ∧ ∅ ∈ 𝑊) ∧ (𝑎 ∈ (0...(♯‘∅)) ∧
𝑏 ∈ (𝐼 × 2o))) →
(〈“〈𝐴,
∅〉〈𝐵,
∅〉”〉 = (∅ splice 〈𝑎, 𝑎, 〈“𝑏(𝑀‘𝑏)”〉〉) → 1o =
∅)) | 
| 117 | 116 | rexlimdvva 3213 | . . . . . . . . . . . . . . 15
⊢ ((𝜑 ∧ ∅ ∈ 𝑊) → (∃𝑎 ∈
(0...(♯‘∅))∃𝑏 ∈ (𝐼 ×
2o)〈“〈𝐴, ∅〉〈𝐵, ∅〉”〉 = (∅
splice 〈𝑎, 𝑎, 〈“𝑏(𝑀‘𝑏)”〉〉) → 1o =
∅)) | 
| 118 | 53, 117 | biimtrid 242 | . . . . . . . . . . . . . 14
⊢ ((𝜑 ∧ ∅ ∈ 𝑊) →
(〈“〈𝐴,
∅〉〈𝐵,
∅〉”〉 ∈ ran (𝑎 ∈ (0...(♯‘∅)), 𝑏 ∈ (𝐼 × 2o) ↦ (∅
splice 〈𝑎, 𝑎, 〈“𝑏(𝑀‘𝑏)”〉〉)) → 1o =
∅)) | 
| 119 | 50, 118 | sylbid 240 | . . . . . . . . . . . . 13
⊢ ((𝜑 ∧ ∅ ∈ 𝑊) →
(〈“〈𝐴,
∅〉〈𝐵,
∅〉”〉 ∈ ran (𝑇‘∅) → 1o =
∅)) | 
| 120 | 119 | expimpd 453 | . . . . . . . . . . . 12
⊢ (𝜑 → ((∅ ∈ 𝑊 ∧ 〈“〈𝐴, ∅〉〈𝐵, ∅〉”〉
∈ ran (𝑇‘∅)) → 1o =
∅)) | 
| 121 |  | hasheq0 14402 | . . . . . . . . . . . . . . . 16
⊢ (𝑥 ∈ V →
((♯‘𝑥) = 0
↔ 𝑥 =
∅)) | 
| 122 | 121 | elv 3485 | . . . . . . . . . . . . . . 15
⊢
((♯‘𝑥) =
0 ↔ 𝑥 =
∅) | 
| 123 |  | eleq1 2829 | . . . . . . . . . . . . . . . 16
⊢ (𝑥 = ∅ → (𝑥 ∈ 𝑊 ↔ ∅ ∈ 𝑊)) | 
| 124 |  | fveq2 6906 | . . . . . . . . . . . . . . . . . 18
⊢ (𝑥 = ∅ → (𝑇‘𝑥) = (𝑇‘∅)) | 
| 125 | 124 | rneqd 5949 | . . . . . . . . . . . . . . . . 17
⊢ (𝑥 = ∅ → ran (𝑇‘𝑥) = ran (𝑇‘∅)) | 
| 126 | 125 | eleq2d 2827 | . . . . . . . . . . . . . . . 16
⊢ (𝑥 = ∅ →
(〈“〈𝐴,
∅〉〈𝐵,
∅〉”〉 ∈ ran (𝑇‘𝑥) ↔ 〈“〈𝐴, ∅〉〈𝐵, ∅〉”〉 ∈ ran
(𝑇‘∅))) | 
| 127 | 123, 126 | anbi12d 632 | . . . . . . . . . . . . . . 15
⊢ (𝑥 = ∅ → ((𝑥 ∈ 𝑊 ∧ 〈“〈𝐴, ∅〉〈𝐵, ∅〉”〉 ∈ ran
(𝑇‘𝑥)) ↔ (∅ ∈ 𝑊 ∧ 〈“〈𝐴, ∅〉〈𝐵, ∅〉”〉 ∈ ran
(𝑇‘∅)))) | 
| 128 | 122, 127 | sylbi 217 | . . . . . . . . . . . . . 14
⊢
((♯‘𝑥) =
0 → ((𝑥 ∈ 𝑊 ∧ 〈“〈𝐴, ∅〉〈𝐵, ∅〉”〉
∈ ran (𝑇‘𝑥)) ↔ (∅ ∈ 𝑊 ∧ 〈“〈𝐴, ∅〉〈𝐵, ∅〉”〉
∈ ran (𝑇‘∅)))) | 
| 129 | 128 | eqcoms 2745 | . . . . . . . . . . . . 13
⊢ (0 =
(♯‘𝑥) →
((𝑥 ∈ 𝑊 ∧ 〈“〈𝐴, ∅〉〈𝐵, ∅〉”〉
∈ ran (𝑇‘𝑥)) ↔ (∅ ∈ 𝑊 ∧ 〈“〈𝐴, ∅〉〈𝐵, ∅〉”〉
∈ ran (𝑇‘∅)))) | 
| 130 | 129 | imbi1d 341 | . . . . . . . . . . . 12
⊢ (0 =
(♯‘𝑥) →
(((𝑥 ∈ 𝑊 ∧ 〈“〈𝐴, ∅〉〈𝐵, ∅〉”〉
∈ ran (𝑇‘𝑥)) → 1o =
∅) ↔ ((∅ ∈ 𝑊 ∧ 〈“〈𝐴, ∅〉〈𝐵, ∅〉”〉 ∈ ran
(𝑇‘∅)) →
1o = ∅))) | 
| 131 | 120, 130 | syl5ibrcom 247 | . . . . . . . . . . 11
⊢ (𝜑 → (0 = (♯‘𝑥) → ((𝑥 ∈ 𝑊 ∧ 〈“〈𝐴, ∅〉〈𝐵, ∅〉”〉 ∈ ran
(𝑇‘𝑥)) → 1o =
∅))) | 
| 132 | 131 | com23 86 | . . . . . . . . . 10
⊢ (𝜑 → ((𝑥 ∈ 𝑊 ∧ 〈“〈𝐴, ∅〉〈𝐵, ∅〉”〉 ∈ ran
(𝑇‘𝑥)) → (0 = (♯‘𝑥) → 1o =
∅))) | 
| 133 | 132 | expdimp 452 | . . . . . . . . 9
⊢ ((𝜑 ∧ 𝑥 ∈ 𝑊) → (〈“〈𝐴, ∅〉〈𝐵, ∅〉”〉
∈ ran (𝑇‘𝑥) → (0 =
(♯‘𝑥) →
1o = ∅))) | 
| 134 | 45, 133 | mpdd 43 | . . . . . . . 8
⊢ ((𝜑 ∧ 𝑥 ∈ 𝑊) → (〈“〈𝐴, ∅〉〈𝐵, ∅〉”〉
∈ ran (𝑇‘𝑥) → 1o =
∅)) | 
| 135 | 134 | necon3ad 2953 | . . . . . . 7
⊢ ((𝜑 ∧ 𝑥 ∈ 𝑊) → (1o ≠ ∅ →
¬ 〈“〈𝐴,
∅〉〈𝐵,
∅〉”〉 ∈ ran (𝑇‘𝑥))) | 
| 136 | 22, 135 | mpi 20 | . . . . . 6
⊢ ((𝜑 ∧ 𝑥 ∈ 𝑊) → ¬ 〈“〈𝐴, ∅〉〈𝐵, ∅〉”〉
∈ ran (𝑇‘𝑥)) | 
| 137 | 136 | nrexdv 3149 | . . . . 5
⊢ (𝜑 → ¬ ∃𝑥 ∈ 𝑊 〈“〈𝐴, ∅〉〈𝐵, ∅〉”〉 ∈ ran
(𝑇‘𝑥)) | 
| 138 |  | eliun 4995 | . . . . 5
⊢
(〈“〈𝐴, ∅〉〈𝐵, ∅〉”〉 ∈ ∪ 𝑥 ∈ 𝑊 ran (𝑇‘𝑥) ↔ ∃𝑥 ∈ 𝑊 〈“〈𝐴, ∅〉〈𝐵, ∅〉”〉 ∈ ran
(𝑇‘𝑥)) | 
| 139 | 137, 138 | sylnibr 329 | . . . 4
⊢ (𝜑 → ¬
〈“〈𝐴,
∅〉〈𝐵,
∅〉”〉 ∈ ∪ 𝑥 ∈ 𝑊 ran (𝑇‘𝑥)) | 
| 140 | 21, 139 | eldifd 3962 | . . 3
⊢ (𝜑 → 〈“〈𝐴, ∅〉〈𝐵, ∅〉”〉
∈ (𝑊 ∖ ∪ 𝑥 ∈ 𝑊 ran (𝑇‘𝑥))) | 
| 141 |  | frgpnabl.d | . . 3
⊢ 𝐷 = (𝑊 ∖ ∪
𝑥 ∈ 𝑊 ran (𝑇‘𝑥)) | 
| 142 | 140, 141 | eleqtrrdi 2852 | . 2
⊢ (𝜑 → 〈“〈𝐴, ∅〉〈𝐵, ∅〉”〉
∈ 𝐷) | 
| 143 |  | df-s2 14887 | . . . . 5
⊢
〈“〈𝐴, ∅〉〈𝐵, ∅〉”〉 =
(〈“〈𝐴,
∅〉”〉 ++ 〈“〈𝐵,
∅〉”〉) | 
| 144 | 12, 27 | efger 19736 | . . . . . . 7
⊢  ∼ Er
𝑊 | 
| 145 | 144 | a1i 11 | . . . . . 6
⊢ (𝜑 → ∼ Er 𝑊) | 
| 146 | 145, 21 | erref 8765 | . . . . 5
⊢ (𝜑 → 〈“〈𝐴, ∅〉〈𝐵, ∅〉”〉
∼
〈“〈𝐴,
∅〉〈𝐵,
∅〉”〉) | 
| 147 | 143, 146 | eqbrtrrid 5179 | . . . 4
⊢ (𝜑 → (〈“〈𝐴, ∅〉”〉 ++
〈“〈𝐵,
∅〉”〉) ∼
〈“〈𝐴,
∅〉〈𝐵,
∅〉”〉) | 
| 148 | 143 | ovexi 7465 | . . . . 5
⊢
〈“〈𝐴, ∅〉〈𝐵, ∅〉”〉 ∈
V | 
| 149 |  | ovex 7464 | . . . . 5
⊢
(〈“〈𝐴, ∅〉”〉 ++
〈“〈𝐵,
∅〉”〉) ∈ V | 
| 150 | 148, 149 | elec 8791 | . . . 4
⊢
(〈“〈𝐴, ∅〉〈𝐵, ∅〉”〉 ∈
[(〈“〈𝐴,
∅〉”〉 ++ 〈“〈𝐵, ∅〉”〉)] ∼ ↔
(〈“〈𝐴,
∅〉”〉 ++ 〈“〈𝐵, ∅〉”〉) ∼
〈“〈𝐴,
∅〉〈𝐵,
∅〉”〉) | 
| 151 | 147, 150 | sylibr 234 | . . 3
⊢ (𝜑 → 〈“〈𝐴, ∅〉〈𝐵, ∅〉”〉
∈ [(〈“〈𝐴, ∅〉”〉 ++
〈“〈𝐵,
∅〉”〉)] ∼ ) | 
| 152 |  | frgpnabl.u | . . . . . . 7
⊢ 𝑈 =
(varFGrp‘𝐼) | 
| 153 | 27, 152 | vrgpval 19785 | . . . . . 6
⊢ ((𝐼 ∈ 𝑉 ∧ 𝐴 ∈ 𝐼) → (𝑈‘𝐴) = [〈“〈𝐴, ∅〉”〉] ∼
) | 
| 154 | 13, 1, 153 | syl2anc 584 | . . . . 5
⊢ (𝜑 → (𝑈‘𝐴) = [〈“〈𝐴, ∅〉”〉] ∼
) | 
| 155 | 27, 152 | vrgpval 19785 | . . . . . 6
⊢ ((𝐼 ∈ 𝑉 ∧ 𝐵 ∈ 𝐼) → (𝑈‘𝐵) = [〈“〈𝐵, ∅〉”〉] ∼
) | 
| 156 | 13, 8, 155 | syl2anc 584 | . . . . 5
⊢ (𝜑 → (𝑈‘𝐵) = [〈“〈𝐵, ∅〉”〉] ∼
) | 
| 157 | 154, 156 | oveq12d 7449 | . . . 4
⊢ (𝜑 → ((𝑈‘𝐴) + (𝑈‘𝐵)) = ([〈“〈𝐴, ∅〉”〉] ∼ +
[〈“〈𝐵,
∅〉”〉] ∼ )) | 
| 158 | 7 | s1cld 14641 | . . . . . 6
⊢ (𝜑 → 〈“〈𝐴, ∅〉”〉
∈ Word (𝐼 ×
2o)) | 
| 159 | 158, 20 | eleqtrrd 2844 | . . . . 5
⊢ (𝜑 → 〈“〈𝐴, ∅〉”〉
∈ 𝑊) | 
| 160 | 10 | s1cld 14641 | . . . . . 6
⊢ (𝜑 → 〈“〈𝐵, ∅〉”〉
∈ Word (𝐼 ×
2o)) | 
| 161 | 160, 20 | eleqtrrd 2844 | . . . . 5
⊢ (𝜑 → 〈“〈𝐵, ∅〉”〉
∈ 𝑊) | 
| 162 |  | frgpnabl.g | . . . . . 6
⊢ 𝐺 = (freeGrp‘𝐼) | 
| 163 |  | frgpnabl.p | . . . . . 6
⊢  + =
(+g‘𝐺) | 
| 164 | 12, 162, 27, 163 | frgpadd 19781 | . . . . 5
⊢
((〈“〈𝐴, ∅〉”〉 ∈ 𝑊 ∧ 〈“〈𝐵, ∅〉”〉
∈ 𝑊) →
([〈“〈𝐴,
∅〉”〉] ∼ + [〈“〈𝐵, ∅〉”〉]
∼
) = [(〈“〈𝐴,
∅〉”〉 ++ 〈“〈𝐵, ∅〉”〉)] ∼
) | 
| 165 | 159, 161,
164 | syl2anc 584 | . . . 4
⊢ (𝜑 → ([〈“〈𝐴, ∅〉”〉]
∼
+
[〈“〈𝐵,
∅〉”〉] ∼ ) =
[(〈“〈𝐴,
∅〉”〉 ++ 〈“〈𝐵, ∅〉”〉)] ∼
) | 
| 166 | 157, 165 | eqtrd 2777 | . . 3
⊢ (𝜑 → ((𝑈‘𝐴) + (𝑈‘𝐵)) = [(〈“〈𝐴, ∅〉”〉 ++
〈“〈𝐵,
∅〉”〉)] ∼ ) | 
| 167 | 151, 166 | eleqtrrd 2844 | . 2
⊢ (𝜑 → 〈“〈𝐴, ∅〉〈𝐵, ∅〉”〉
∈ ((𝑈‘𝐴) + (𝑈‘𝐵))) | 
| 168 | 142, 167 | elind 4200 | 1
⊢ (𝜑 → 〈“〈𝐴, ∅〉〈𝐵, ∅〉”〉
∈ (𝐷 ∩ ((𝑈‘𝐴) + (𝑈‘𝐵)))) |