Metamath Proof Explorer


Theorem eldioph2lem1

Description: Lemma for eldioph2 . Construct necessary renaming function for one direction. (Contributed by Stefan O'Rear, 8-Oct-2014)

Ref Expression
Assertion eldioph2lem1 ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A → ∃ d ∈ ℤ ≥ N ∃ e ∈ V e : 1 … d ⟶ 1-1 onto A ∧ e ↾ 1 … N = I ↾ 1 … N

Proof

Step Hyp Ref Expression
1 nn0re ⊢ N ∈ ℕ 0 → N ∈ ℝ
2 1 3ad2ant1 ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A → N ∈ ℝ
3 2 recnd ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A → N ∈ ℂ
4 ax-1cn ⊢ 1 ∈ ℂ
5 addcom ⊢ N ∈ ℂ ∧ 1 ∈ ℂ → N + 1 = 1 + N
6 3 4 5 sylancl ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A → N + 1 = 1 + N
7 diffi ⊢ A ∈ Fin → A ∖ 1 … N ∈ Fin
8 7 3ad2ant2 ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A → A ∖ 1 … N ∈ Fin
9 fzfid ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A → 1 … N ∈ Fin
10 disjdifr ⊢ A ∖ 1 … N ∩ 1 … N = ∅
11 10 a1i ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A → A ∖ 1 … N ∩ 1 … N = ∅
12 hashun ⊢ A ∖ 1 … N ∈ Fin ∧ 1 … N ∈ Fin ∧ A ∖ 1 … N ∩ 1 … N = ∅ → A ∖ 1 … N ∪ 1 … N = A ∖ 1 … N + 1 … N
13 8 9 11 12 syl3anc ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A → A ∖ 1 … N ∪ 1 … N = A ∖ 1 … N + 1 … N
14 uncom ⊢ A ∖ 1 … N ∪ 1 … N = 1 … N ∪ A ∖ 1 … N
15 simp3 ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A → 1 … N ⊆ A
16 undif ⊢ 1 … N ⊆ A ↔ 1 … N ∪ A ∖ 1 … N = A
17 15 16 sylib ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A → 1 … N ∪ A ∖ 1 … N = A
18 14 17 eqtrid ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A → A ∖ 1 … N ∪ 1 … N = A
19 18 fveq2d ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A → A ∖ 1 … N ∪ 1 … N = A
20 hashfz1 ⊢ N ∈ ℕ 0 → 1 … N = N
21 20 3ad2ant1 ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A → 1 … N = N
22 21 oveq2d ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A → A ∖ 1 … N + 1 … N = A ∖ 1 … N + N
23 13 19 22 3eqtr3d ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A → A = A ∖ 1 … N + N
24 6 23 oveq12d ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A → N + 1 … A = 1 + N … A ∖ 1 … N + N
25 24 fveq2d ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A → N + 1 … A = 1 + N … A ∖ 1 … N + N
26 1zzd ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A → 1 ∈ ℤ
27 hashcl ⊢ A ∖ 1 … N ∈ Fin → A ∖ 1 … N ∈ ℕ 0
28 8 27 syl ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A → A ∖ 1 … N ∈ ℕ 0
29 28 nn0zd ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A → A ∖ 1 … N ∈ ℤ
30 nn0z ⊢ N ∈ ℕ 0 → N ∈ ℤ
31 30 3ad2ant1 ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A → N ∈ ℤ
32 fzen ⊢ 1 ∈ ℤ ∧ A ∖ 1 … N ∈ ℤ ∧ N ∈ ℤ → 1 … A ∖ 1 … N ≈ 1 + N … A ∖ 1 … N + N
33 26 29 31 32 syl3anc ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A → 1 … A ∖ 1 … N ≈ 1 + N … A ∖ 1 … N + N
34 33 ensymd ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A → 1 + N … A ∖ 1 … N + N ≈ 1 … A ∖ 1 … N
35 fzfi ⊢ 1 + N … A ∖ 1 … N + N ∈ Fin
36 fzfi ⊢ 1 … A ∖ 1 … N ∈ Fin
37 hashen ⊢ 1 + N … A ∖ 1 … N + N ∈ Fin ∧ 1 … A ∖ 1 … N ∈ Fin → 1 + N … A ∖ 1 … N + N = 1 … A ∖ 1 … N ↔ 1 + N … A ∖ 1 … N + N ≈ 1 … A ∖ 1 … N
38 35 36 37 mp2an ⊢ 1 + N … A ∖ 1 … N + N = 1 … A ∖ 1 … N ↔ 1 + N … A ∖ 1 … N + N ≈ 1 … A ∖ 1 … N
39 34 38 sylibr ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A → 1 + N … A ∖ 1 … N + N = 1 … A ∖ 1 … N
40 hashfz1 ⊢ A ∖ 1 … N ∈ ℕ 0 → 1 … A ∖ 1 … N = A ∖ 1 … N
41 28 40 syl ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A → 1 … A ∖ 1 … N = A ∖ 1 … N
42 25 39 41 3eqtrd ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A → N + 1 … A = A ∖ 1 … N
43 fzfi ⊢ N + 1 … A ∈ Fin
44 hashen ⊢ N + 1 … A ∈ Fin ∧ A ∖ 1 … N ∈ Fin → N + 1 … A = A ∖ 1 … N ↔ N + 1 … A ≈ A ∖ 1 … N
45 43 8 44 sylancr ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A → N + 1 … A = A ∖ 1 … N ↔ N + 1 … A ≈ A ∖ 1 … N
46 42 45 mpbid ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A → N + 1 … A ≈ A ∖ 1 … N
47 bren ⊢ N + 1 … A ≈ A ∖ 1 … N ↔ ∃ a a : N + 1 … A ⟶ 1-1 onto A ∖ 1 … N
48 46 47 sylib ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A → ∃ a a : N + 1 … A ⟶ 1-1 onto A ∖ 1 … N
49 simpl1 ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A ∧ a : N + 1 … A ⟶ 1-1 onto A ∖ 1 … N → N ∈ ℕ 0
50 49 nn0zd ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A ∧ a : N + 1 … A ⟶ 1-1 onto A ∖ 1 … N → N ∈ ℤ
51 simpl2 ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A ∧ a : N + 1 … A ⟶ 1-1 onto A ∖ 1 … N → A ∈ Fin
52 hashcl ⊢ A ∈ Fin → A ∈ ℕ 0
53 51 52 syl ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A ∧ a : N + 1 … A ⟶ 1-1 onto A ∖ 1 … N → A ∈ ℕ 0
54 53 nn0zd ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A ∧ a : N + 1 … A ⟶ 1-1 onto A ∖ 1 … N → A ∈ ℤ
55 nn0addge2 ⊢ N ∈ ℝ ∧ A ∖ 1 … N ∈ ℕ 0 → N ≤ A ∖ 1 … N + N
56 2 28 55 syl2anc ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A → N ≤ A ∖ 1 … N + N
57 56 23 breqtrrd ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A → N ≤ A
58 57 adantr ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A ∧ a : N + 1 … A ⟶ 1-1 onto A ∖ 1 … N → N ≤ A
59 eluz2 ⊢ A ∈ ℤ ≥ N ↔ N ∈ ℤ ∧ A ∈ ℤ ∧ N ≤ A
60 50 54 58 59 syl3anbrc ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A ∧ a : N + 1 … A ⟶ 1-1 onto A ∖ 1 … N → A ∈ ℤ ≥ N
61 vex ⊢ a ∈ V
62 ovex ⊢ 1 … N ∈ V
63 resiexg ⊢ 1 … N ∈ V → I ↾ 1 … N ∈ V
64 62 63 ax-mp ⊢ I ↾ 1 … N ∈ V
65 61 64 unex ⊢ a ∪ I ↾ 1 … N ∈ V
66 65 a1i ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A ∧ a : N + 1 … A ⟶ 1-1 onto A ∖ 1 … N → a ∪ I ↾ 1 … N ∈ V
67 simpr ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A ∧ a : N + 1 … A ⟶ 1-1 onto A ∖ 1 … N → a : N + 1 … A ⟶ 1-1 onto A ∖ 1 … N
68 f1oi ⊢ I ↾ 1 … N : 1 … N ⟶ 1-1 onto 1 … N
69 68 a1i ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A ∧ a : N + 1 … A ⟶ 1-1 onto A ∖ 1 … N → I ↾ 1 … N : 1 … N ⟶ 1-1 onto 1 … N
70 incom ⊢ N + 1 … A ∩ 1 … N = 1 … N ∩ N + 1 … A
71 49 nn0red ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A ∧ a : N + 1 … A ⟶ 1-1 onto A ∖ 1 … N → N ∈ ℝ
72 71 ltp1d ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A ∧ a : N + 1 … A ⟶ 1-1 onto A ∖ 1 … N → N < N + 1
73 fzdisj ⊢ N < N + 1 → 1 … N ∩ N + 1 … A = ∅
74 72 73 syl ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A ∧ a : N + 1 … A ⟶ 1-1 onto A ∖ 1 … N → 1 … N ∩ N + 1 … A = ∅
75 70 74 eqtrid ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A ∧ a : N + 1 … A ⟶ 1-1 onto A ∖ 1 … N → N + 1 … A ∩ 1 … N = ∅
76 10 a1i ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A ∧ a : N + 1 … A ⟶ 1-1 onto A ∖ 1 … N → A ∖ 1 … N ∩ 1 … N = ∅
77 f1oun ⊢ a : N + 1 … A ⟶ 1-1 onto A ∖ 1 … N ∧ I ↾ 1 … N : 1 … N ⟶ 1-1 onto 1 … N ∧ N + 1 … A ∩ 1 … N = ∅ ∧ A ∖ 1 … N ∩ 1 … N = ∅ → a ∪ I ↾ 1 … N : N + 1 … A ∪ 1 … N ⟶ 1-1 onto A ∖ 1 … N ∪ 1 … N
78 67 69 75 76 77 syl22anc ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A ∧ a : N + 1 … A ⟶ 1-1 onto A ∖ 1 … N → a ∪ I ↾ 1 … N : N + 1 … A ∪ 1 … N ⟶ 1-1 onto A ∖ 1 … N ∪ 1 … N
79 uncom ⊢ N + 1 … A ∪ 1 … N = 1 … N ∪ N + 1 … A
80 fzsplit1nn0 ⊢ N ∈ ℕ 0 ∧ A ∈ ℕ 0 ∧ N ≤ A → 1 … A = 1 … N ∪ N + 1 … A
81 49 53 58 80 syl3anc ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A ∧ a : N + 1 … A ⟶ 1-1 onto A ∖ 1 … N → 1 … A = 1 … N ∪ N + 1 … A
82 79 81 eqtr4id ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A ∧ a : N + 1 … A ⟶ 1-1 onto A ∖ 1 … N → N + 1 … A ∪ 1 … N = 1 … A
83 simpl3 ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A ∧ a : N + 1 … A ⟶ 1-1 onto A ∖ 1 … N → 1 … N ⊆ A
84 83 16 sylib ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A ∧ a : N + 1 … A ⟶ 1-1 onto A ∖ 1 … N → 1 … N ∪ A ∖ 1 … N = A
85 14 84 eqtrid ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A ∧ a : N + 1 … A ⟶ 1-1 onto A ∖ 1 … N → A ∖ 1 … N ∪ 1 … N = A
86 f1oeq23 ⊢ N + 1 … A ∪ 1 … N = 1 … A ∧ A ∖ 1 … N ∪ 1 … N = A → a ∪ I ↾ 1 … N : N + 1 … A ∪ 1 … N ⟶ 1-1 onto A ∖ 1 … N ∪ 1 … N ↔ a ∪ I ↾ 1 … N : 1 … A ⟶ 1-1 onto A
87 82 85 86 syl2anc ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A ∧ a : N + 1 … A ⟶ 1-1 onto A ∖ 1 … N → a ∪ I ↾ 1 … N : N + 1 … A ∪ 1 … N ⟶ 1-1 onto A ∖ 1 … N ∪ 1 … N ↔ a ∪ I ↾ 1 … N : 1 … A ⟶ 1-1 onto A
88 78 87 mpbid ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A ∧ a : N + 1 … A ⟶ 1-1 onto A ∖ 1 … N → a ∪ I ↾ 1 … N : 1 … A ⟶ 1-1 onto A
89 resundir ⊢ a ∪ I ↾ 1 … N ↾ 1 … N = a ↾ 1 … N ∪ I ↾ 1 … N ↾ 1 … N
90 dmres ⊢ dom ⁡ a ↾ 1 … N = 1 … N ∩ dom ⁡ a
91 f1odm ⊢ a : N + 1 … A ⟶ 1-1 onto A ∖ 1 … N → dom ⁡ a = N + 1 … A
92 91 adantl ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A ∧ a : N + 1 … A ⟶ 1-1 onto A ∖ 1 … N → dom ⁡ a = N + 1 … A
93 92 ineq2d ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A ∧ a : N + 1 … A ⟶ 1-1 onto A ∖ 1 … N → 1 … N ∩ dom ⁡ a = 1 … N ∩ N + 1 … A
94 93 74 eqtrd ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A ∧ a : N + 1 … A ⟶ 1-1 onto A ∖ 1 … N → 1 … N ∩ dom ⁡ a = ∅
95 90 94 eqtrid ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A ∧ a : N + 1 … A ⟶ 1-1 onto A ∖ 1 … N → dom ⁡ a ↾ 1 … N = ∅
96 relres ⊢ Rel ⁡ a ↾ 1 … N
97 reldm0 ⊢ Rel ⁡ a ↾ 1 … N → a ↾ 1 … N = ∅ ↔ dom ⁡ a ↾ 1 … N = ∅
98 96 97 ax-mp ⊢ a ↾ 1 … N = ∅ ↔ dom ⁡ a ↾ 1 … N = ∅
99 95 98 sylibr ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A ∧ a : N + 1 … A ⟶ 1-1 onto A ∖ 1 … N → a ↾ 1 … N = ∅
100 residm ⊢ I ↾ 1 … N ↾ 1 … N = I ↾ 1 … N
101 100 a1i ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A ∧ a : N + 1 … A ⟶ 1-1 onto A ∖ 1 … N → I ↾ 1 … N ↾ 1 … N = I ↾ 1 … N
102 99 101 uneq12d ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A ∧ a : N + 1 … A ⟶ 1-1 onto A ∖ 1 … N → a ↾ 1 … N ∪ I ↾ 1 … N ↾ 1 … N = ∅ ∪ I ↾ 1 … N
103 uncom ⊢ ∅ ∪ I ↾ 1 … N = I ↾ 1 … N ∪ ∅
104 un0 ⊢ I ↾ 1 … N ∪ ∅ = I ↾ 1 … N
105 103 104 eqtri ⊢ ∅ ∪ I ↾ 1 … N = I ↾ 1 … N
106 102 105 eqtrdi ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A ∧ a : N + 1 … A ⟶ 1-1 onto A ∖ 1 … N → a ↾ 1 … N ∪ I ↾ 1 … N ↾ 1 … N = I ↾ 1 … N
107 89 106 eqtrid ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A ∧ a : N + 1 … A ⟶ 1-1 onto A ∖ 1 … N → a ∪ I ↾ 1 … N ↾ 1 … N = I ↾ 1 … N
108 oveq2 ⊢ d = A → 1 … d = 1 … A
109 108 f1oeq2d ⊢ d = A → e : 1 … d ⟶ 1-1 onto A ↔ e : 1 … A ⟶ 1-1 onto A
110 109 anbi1d ⊢ d = A → e : 1 … d ⟶ 1-1 onto A ∧ e ↾ 1 … N = I ↾ 1 … N ↔ e : 1 … A ⟶ 1-1 onto A ∧ e ↾ 1 … N = I ↾ 1 … N
111 f1oeq1 ⊢ e = a ∪ I ↾ 1 … N → e : 1 … A ⟶ 1-1 onto A ↔ a ∪ I ↾ 1 … N : 1 … A ⟶ 1-1 onto A
112 reseq1 ⊢ e = a ∪ I ↾ 1 … N → e ↾ 1 … N = a ∪ I ↾ 1 … N ↾ 1 … N
113 112 eqeq1d ⊢ e = a ∪ I ↾ 1 … N → e ↾ 1 … N = I ↾ 1 … N ↔ a ∪ I ↾ 1 … N ↾ 1 … N = I ↾ 1 … N
114 111 113 anbi12d ⊢ e = a ∪ I ↾ 1 … N → e : 1 … A ⟶ 1-1 onto A ∧ e ↾ 1 … N = I ↾ 1 … N ↔ a ∪ I ↾ 1 … N : 1 … A ⟶ 1-1 onto A ∧ a ∪ I ↾ 1 … N ↾ 1 … N = I ↾ 1 … N
115 110 114 rspc2ev ⊢ A ∈ ℤ ≥ N ∧ a ∪ I ↾ 1 … N ∈ V ∧ a ∪ I ↾ 1 … N : 1 … A ⟶ 1-1 onto A ∧ a ∪ I ↾ 1 … N ↾ 1 … N = I ↾ 1 … N → ∃ d ∈ ℤ ≥ N ∃ e ∈ V e : 1 … d ⟶ 1-1 onto A ∧ e ↾ 1 … N = I ↾ 1 … N
116 60 66 88 107 115 syl112anc ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A ∧ a : N + 1 … A ⟶ 1-1 onto A ∖ 1 … N → ∃ d ∈ ℤ ≥ N ∃ e ∈ V e : 1 … d ⟶ 1-1 onto A ∧ e ↾ 1 … N = I ↾ 1 … N
117 48 116 exlimddv ⊢ N ∈ ℕ 0 ∧ A ∈ Fin ∧ 1 … N ⊆ A → ∃ d ∈ ℤ ≥ N ∃ e ∈ V e : 1 … d ⟶ 1-1 onto A ∧ e ↾ 1 … N = I ↾ 1 … N