Metamath Proof Explorer


Theorem fargshiftf1

Description: If a function is 1-1, then also the shifted function is 1-1. (Contributed by Alexander van der Vekens, 23-Nov-2017)

Ref Expression
Hypothesis fargshift.g ⊢ 𝐺 = ( 𝑥 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ↦ ( 𝐹 ‘ ( 𝑥 + 1 ) ) )
Assertion fargshiftf1 ( ( 𝑁 ∈ ℕ0 ∧ 𝐹 : ( 1 ... 𝑁 ) –1-1→ dom 𝐸 ) → 𝐺 : ( 0 ..^ ( ♯ ‘ 𝐹 ) ) –1-1→ dom 𝐸 )

Proof

Step Hyp Ref Expression
1 fargshift.g ⊢ 𝐺 = ( 𝑥 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ↦ ( 𝐹 ‘ ( 𝑥 + 1 ) ) )
2 f1f ⊢ ( 𝐹 : ( 1 ... 𝑁 ) –1-1→ dom 𝐸 → 𝐹 : ( 1 ... 𝑁 ) ⟶ dom 𝐸 )
3 1 fargshiftf ⊢ ( ( 𝑁 ∈ ℕ0 ∧ 𝐹 : ( 1 ... 𝑁 ) ⟶ dom 𝐸 ) → 𝐺 : ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ⟶ dom 𝐸 )
4 2 3 sylan2 ⊢ ( ( 𝑁 ∈ ℕ0 ∧ 𝐹 : ( 1 ... 𝑁 ) –1-1→ dom 𝐸 ) → 𝐺 : ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ⟶ dom 𝐸 )
5 ffn ⊢ ( 𝐹 : ( 1 ... 𝑁 ) ⟶ dom 𝐸 → 𝐹 Fn ( 1 ... 𝑁 ) )
6 fseq1hash ⊢ ( ( 𝑁 ∈ ℕ0 ∧ 𝐹 Fn ( 1 ... 𝑁 ) ) → ( ♯ ‘ 𝐹 ) = 𝑁 )
7 5 6 sylan2 ⊢ ( ( 𝑁 ∈ ℕ0 ∧ 𝐹 : ( 1 ... 𝑁 ) ⟶ dom 𝐸 ) → ( ♯ ‘ 𝐹 ) = 𝑁 )
8 2 7 sylan2 ⊢ ( ( 𝑁 ∈ ℕ0 ∧ 𝐹 : ( 1 ... 𝑁 ) –1-1→ dom 𝐸 ) → ( ♯ ‘ 𝐹 ) = 𝑁 )
9 eleq1 ⊢ ( ( ♯ ‘ 𝐹 ) = 𝑁 → ( ( ♯ ‘ 𝐹 ) ∈ ℕ0 ↔ 𝑁 ∈ ℕ0 ) )
10 oveq2 ⊢ ( ( ♯ ‘ 𝐹 ) = 𝑁 → ( 1 ... ( ♯ ‘ 𝐹 ) ) = ( 1 ... 𝑁 ) )
11 f1eq2 ⊢ ( ( 1 ... ( ♯ ‘ 𝐹 ) ) = ( 1 ... 𝑁 ) → ( 𝐹 : ( 1 ... ( ♯ ‘ 𝐹 ) ) –1-1→ dom 𝐸 ↔ 𝐹 : ( 1 ... 𝑁 ) –1-1→ dom 𝐸 ) )
12 10 11 syl ⊢ ( ( ♯ ‘ 𝐹 ) = 𝑁 → ( 𝐹 : ( 1 ... ( ♯ ‘ 𝐹 ) ) –1-1→ dom 𝐸 ↔ 𝐹 : ( 1 ... 𝑁 ) –1-1→ dom 𝐸 ) )
13 9 12 anbi12d ⊢ ( ( ♯ ‘ 𝐹 ) = 𝑁 → ( ( ( ♯ ‘ 𝐹 ) ∈ ℕ0 ∧ 𝐹 : ( 1 ... ( ♯ ‘ 𝐹 ) ) –1-1→ dom 𝐸 ) ↔ ( 𝑁 ∈ ℕ0 ∧ 𝐹 : ( 1 ... 𝑁 ) –1-1→ dom 𝐸 ) ) )
14 dff13 ⊢ ( 𝐹 : ( 1 ... ( ♯ ‘ 𝐹 ) ) –1-1→ dom 𝐸 ↔ ( 𝐹 : ( 1 ... ( ♯ ‘ 𝐹 ) ) ⟶ dom 𝐸 ∧ ∀ 𝑘 ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ∀ 𝑙 ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ( ( 𝐹 ‘ 𝑘 ) = ( 𝐹 ‘ 𝑙 ) → 𝑘 = 𝑙 ) ) )
15 fz0add1fz1 ⊢ ( ( ( ♯ ‘ 𝐹 ) ∈ ℕ0 ∧ 𝑦 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ) → ( 𝑦 + 1 ) ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) )
16 fz0add1fz1 ⊢ ( ( ( ♯ ‘ 𝐹 ) ∈ ℕ0 ∧ 𝑧 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ) → ( 𝑧 + 1 ) ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) )
17 15 16 anim12dan ⊢ ( ( ( ♯ ‘ 𝐹 ) ∈ ℕ0 ∧ ( 𝑦 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ∧ 𝑧 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ) ) → ( ( 𝑦 + 1 ) ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ∧ ( 𝑧 + 1 ) ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ) )
18 fveq2 ⊢ ( 𝑘 = ( 𝑦 + 1 ) → ( 𝐹 ‘ 𝑘 ) = ( 𝐹 ‘ ( 𝑦 + 1 ) ) )
19 18 eqeq1d ⊢ ( 𝑘 = ( 𝑦 + 1 ) → ( ( 𝐹 ‘ 𝑘 ) = ( 𝐹 ‘ 𝑙 ) ↔ ( 𝐹 ‘ ( 𝑦 + 1 ) ) = ( 𝐹 ‘ 𝑙 ) ) )
20 eqeq1 ⊢ ( 𝑘 = ( 𝑦 + 1 ) → ( 𝑘 = 𝑙 ↔ ( 𝑦 + 1 ) = 𝑙 ) )
21 19 20 imbi12d ⊢ ( 𝑘 = ( 𝑦 + 1 ) → ( ( ( 𝐹 ‘ 𝑘 ) = ( 𝐹 ‘ 𝑙 ) → 𝑘 = 𝑙 ) ↔ ( ( 𝐹 ‘ ( 𝑦 + 1 ) ) = ( 𝐹 ‘ 𝑙 ) → ( 𝑦 + 1 ) = 𝑙 ) ) )
22 fveq2 ⊢ ( 𝑙 = ( 𝑧 + 1 ) → ( 𝐹 ‘ 𝑙 ) = ( 𝐹 ‘ ( 𝑧 + 1 ) ) )
23 22 eqeq2d ⊢ ( 𝑙 = ( 𝑧 + 1 ) → ( ( 𝐹 ‘ ( 𝑦 + 1 ) ) = ( 𝐹 ‘ 𝑙 ) ↔ ( 𝐹 ‘ ( 𝑦 + 1 ) ) = ( 𝐹 ‘ ( 𝑧 + 1 ) ) ) )
24 eqeq2 ⊢ ( 𝑙 = ( 𝑧 + 1 ) → ( ( 𝑦 + 1 ) = 𝑙 ↔ ( 𝑦 + 1 ) = ( 𝑧 + 1 ) ) )
25 23 24 imbi12d ⊢ ( 𝑙 = ( 𝑧 + 1 ) → ( ( ( 𝐹 ‘ ( 𝑦 + 1 ) ) = ( 𝐹 ‘ 𝑙 ) → ( 𝑦 + 1 ) = 𝑙 ) ↔ ( ( 𝐹 ‘ ( 𝑦 + 1 ) ) = ( 𝐹 ‘ ( 𝑧 + 1 ) ) → ( 𝑦 + 1 ) = ( 𝑧 + 1 ) ) ) )
26 21 25 rspc2v ⊢ ( ( ( 𝑦 + 1 ) ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ∧ ( 𝑧 + 1 ) ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ) → ( ∀ 𝑘 ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ∀ 𝑙 ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ( ( 𝐹 ‘ 𝑘 ) = ( 𝐹 ‘ 𝑙 ) → 𝑘 = 𝑙 ) → ( ( 𝐹 ‘ ( 𝑦 + 1 ) ) = ( 𝐹 ‘ ( 𝑧 + 1 ) ) → ( 𝑦 + 1 ) = ( 𝑧 + 1 ) ) ) )
27 26 adantl ⊢ ( ( ( 𝐹 : ( 1 ... ( ♯ ‘ 𝐹 ) ) ⟶ dom 𝐸 ∧ ( ( ♯ ‘ 𝐹 ) ∈ ℕ0 ∧ ( 𝑦 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ∧ 𝑧 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ) ) ) ∧ ( ( 𝑦 + 1 ) ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ∧ ( 𝑧 + 1 ) ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ) ) → ( ∀ 𝑘 ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ∀ 𝑙 ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ( ( 𝐹 ‘ 𝑘 ) = ( 𝐹 ‘ 𝑙 ) → 𝑘 = 𝑙 ) → ( ( 𝐹 ‘ ( 𝑦 + 1 ) ) = ( 𝐹 ‘ ( 𝑧 + 1 ) ) → ( 𝑦 + 1 ) = ( 𝑧 + 1 ) ) ) )
28 1 fargshiftfv ⊢ ( ( ( ♯ ‘ 𝐹 ) ∈ ℕ0 ∧ 𝐹 : ( 1 ... ( ♯ ‘ 𝐹 ) ) ⟶ dom 𝐸 ) → ( 𝑦 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) → ( 𝐺 ‘ 𝑦 ) = ( 𝐹 ‘ ( 𝑦 + 1 ) ) ) )
29 28 expcom ⊢ ( 𝐹 : ( 1 ... ( ♯ ‘ 𝐹 ) ) ⟶ dom 𝐸 → ( ( ♯ ‘ 𝐹 ) ∈ ℕ0 → ( 𝑦 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) → ( 𝐺 ‘ 𝑦 ) = ( 𝐹 ‘ ( 𝑦 + 1 ) ) ) ) )
30 29 com13 ⊢ ( 𝑦 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) → ( ( ♯ ‘ 𝐹 ) ∈ ℕ0 → ( 𝐹 : ( 1 ... ( ♯ ‘ 𝐹 ) ) ⟶ dom 𝐸 → ( 𝐺 ‘ 𝑦 ) = ( 𝐹 ‘ ( 𝑦 + 1 ) ) ) ) )
31 30 adantr ⊢ ( ( 𝑦 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ∧ 𝑧 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ) → ( ( ♯ ‘ 𝐹 ) ∈ ℕ0 → ( 𝐹 : ( 1 ... ( ♯ ‘ 𝐹 ) ) ⟶ dom 𝐸 → ( 𝐺 ‘ 𝑦 ) = ( 𝐹 ‘ ( 𝑦 + 1 ) ) ) ) )
32 31 impcom ⊢ ( ( ( ♯ ‘ 𝐹 ) ∈ ℕ0 ∧ ( 𝑦 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ∧ 𝑧 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ) ) → ( 𝐹 : ( 1 ... ( ♯ ‘ 𝐹 ) ) ⟶ dom 𝐸 → ( 𝐺 ‘ 𝑦 ) = ( 𝐹 ‘ ( 𝑦 + 1 ) ) ) )
33 32 impcom ⊢ ( ( 𝐹 : ( 1 ... ( ♯ ‘ 𝐹 ) ) ⟶ dom 𝐸 ∧ ( ( ♯ ‘ 𝐹 ) ∈ ℕ0 ∧ ( 𝑦 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ∧ 𝑧 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ) ) ) → ( 𝐺 ‘ 𝑦 ) = ( 𝐹 ‘ ( 𝑦 + 1 ) ) )
34 1 fargshiftfv ⊢ ( ( ( ♯ ‘ 𝐹 ) ∈ ℕ0 ∧ 𝐹 : ( 1 ... ( ♯ ‘ 𝐹 ) ) ⟶ dom 𝐸 ) → ( 𝑧 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) → ( 𝐺 ‘ 𝑧 ) = ( 𝐹 ‘ ( 𝑧 + 1 ) ) ) )
35 34 expcom ⊢ ( 𝐹 : ( 1 ... ( ♯ ‘ 𝐹 ) ) ⟶ dom 𝐸 → ( ( ♯ ‘ 𝐹 ) ∈ ℕ0 → ( 𝑧 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) → ( 𝐺 ‘ 𝑧 ) = ( 𝐹 ‘ ( 𝑧 + 1 ) ) ) ) )
36 35 com13 ⊢ ( 𝑧 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) → ( ( ♯ ‘ 𝐹 ) ∈ ℕ0 → ( 𝐹 : ( 1 ... ( ♯ ‘ 𝐹 ) ) ⟶ dom 𝐸 → ( 𝐺 ‘ 𝑧 ) = ( 𝐹 ‘ ( 𝑧 + 1 ) ) ) ) )
37 36 adantl ⊢ ( ( 𝑦 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ∧ 𝑧 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ) → ( ( ♯ ‘ 𝐹 ) ∈ ℕ0 → ( 𝐹 : ( 1 ... ( ♯ ‘ 𝐹 ) ) ⟶ dom 𝐸 → ( 𝐺 ‘ 𝑧 ) = ( 𝐹 ‘ ( 𝑧 + 1 ) ) ) ) )
38 37 impcom ⊢ ( ( ( ♯ ‘ 𝐹 ) ∈ ℕ0 ∧ ( 𝑦 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ∧ 𝑧 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ) ) → ( 𝐹 : ( 1 ... ( ♯ ‘ 𝐹 ) ) ⟶ dom 𝐸 → ( 𝐺 ‘ 𝑧 ) = ( 𝐹 ‘ ( 𝑧 + 1 ) ) ) )
39 38 impcom ⊢ ( ( 𝐹 : ( 1 ... ( ♯ ‘ 𝐹 ) ) ⟶ dom 𝐸 ∧ ( ( ♯ ‘ 𝐹 ) ∈ ℕ0 ∧ ( 𝑦 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ∧ 𝑧 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ) ) ) → ( 𝐺 ‘ 𝑧 ) = ( 𝐹 ‘ ( 𝑧 + 1 ) ) )
40 33 39 eqeq12d ⊢ ( ( 𝐹 : ( 1 ... ( ♯ ‘ 𝐹 ) ) ⟶ dom 𝐸 ∧ ( ( ♯ ‘ 𝐹 ) ∈ ℕ0 ∧ ( 𝑦 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ∧ 𝑧 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ) ) ) → ( ( 𝐺 ‘ 𝑦 ) = ( 𝐺 ‘ 𝑧 ) ↔ ( 𝐹 ‘ ( 𝑦 + 1 ) ) = ( 𝐹 ‘ ( 𝑧 + 1 ) ) ) )
41 40 adantr ⊢ ( ( ( 𝐹 : ( 1 ... ( ♯ ‘ 𝐹 ) ) ⟶ dom 𝐸 ∧ ( ( ♯ ‘ 𝐹 ) ∈ ℕ0 ∧ ( 𝑦 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ∧ 𝑧 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ) ) ) ∧ ( ( 𝑦 + 1 ) ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ∧ ( 𝑧 + 1 ) ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ) ) → ( ( 𝐺 ‘ 𝑦 ) = ( 𝐺 ‘ 𝑧 ) ↔ ( 𝐹 ‘ ( 𝑦 + 1 ) ) = ( 𝐹 ‘ ( 𝑧 + 1 ) ) ) )
42 41 adantr ⊢ ( ( ( ( 𝐹 : ( 1 ... ( ♯ ‘ 𝐹 ) ) ⟶ dom 𝐸 ∧ ( ( ♯ ‘ 𝐹 ) ∈ ℕ0 ∧ ( 𝑦 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ∧ 𝑧 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ) ) ) ∧ ( ( 𝑦 + 1 ) ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ∧ ( 𝑧 + 1 ) ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ) ) ∧ ( ( 𝐹 ‘ ( 𝑦 + 1 ) ) = ( 𝐹 ‘ ( 𝑧 + 1 ) ) → ( 𝑦 + 1 ) = ( 𝑧 + 1 ) ) ) → ( ( 𝐺 ‘ 𝑦 ) = ( 𝐺 ‘ 𝑧 ) ↔ ( 𝐹 ‘ ( 𝑦 + 1 ) ) = ( 𝐹 ‘ ( 𝑧 + 1 ) ) ) )
43 elfzoelz ⊢ ( 𝑦 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) → 𝑦 ∈ ℤ )
44 43 zcnd ⊢ ( 𝑦 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) → 𝑦 ∈ ℂ )
45 44 adantr ⊢ ( ( 𝑦 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ∧ 𝑧 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ) → 𝑦 ∈ ℂ )
46 45 adantl ⊢ ( ( ( ♯ ‘ 𝐹 ) ∈ ℕ0 ∧ ( 𝑦 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ∧ 𝑧 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ) ) → 𝑦 ∈ ℂ )
47 elfzoelz ⊢ ( 𝑧 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) → 𝑧 ∈ ℤ )
48 47 zcnd ⊢ ( 𝑧 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) → 𝑧 ∈ ℂ )
49 48 adantl ⊢ ( ( 𝑦 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ∧ 𝑧 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ) → 𝑧 ∈ ℂ )
50 49 adantl ⊢ ( ( ( ♯ ‘ 𝐹 ) ∈ ℕ0 ∧ ( 𝑦 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ∧ 𝑧 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ) ) → 𝑧 ∈ ℂ )
51 1cnd ⊢ ( ( ( ♯ ‘ 𝐹 ) ∈ ℕ0 ∧ ( 𝑦 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ∧ 𝑧 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ) ) → 1 ∈ ℂ )
52 46 50 51 3jca ⊢ ( ( ( ♯ ‘ 𝐹 ) ∈ ℕ0 ∧ ( 𝑦 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ∧ 𝑧 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ) ) → ( 𝑦 ∈ ℂ ∧ 𝑧 ∈ ℂ ∧ 1 ∈ ℂ ) )
53 52 adantl ⊢ ( ( 𝐹 : ( 1 ... ( ♯ ‘ 𝐹 ) ) ⟶ dom 𝐸 ∧ ( ( ♯ ‘ 𝐹 ) ∈ ℕ0 ∧ ( 𝑦 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ∧ 𝑧 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ) ) ) → ( 𝑦 ∈ ℂ ∧ 𝑧 ∈ ℂ ∧ 1 ∈ ℂ ) )
54 53 adantr ⊢ ( ( ( 𝐹 : ( 1 ... ( ♯ ‘ 𝐹 ) ) ⟶ dom 𝐸 ∧ ( ( ♯ ‘ 𝐹 ) ∈ ℕ0 ∧ ( 𝑦 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ∧ 𝑧 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ) ) ) ∧ ( ( 𝑦 + 1 ) ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ∧ ( 𝑧 + 1 ) ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ) ) → ( 𝑦 ∈ ℂ ∧ 𝑧 ∈ ℂ ∧ 1 ∈ ℂ ) )
55 addcan2 ⊢ ( ( 𝑦 ∈ ℂ ∧ 𝑧 ∈ ℂ ∧ 1 ∈ ℂ ) → ( ( 𝑦 + 1 ) = ( 𝑧 + 1 ) ↔ 𝑦 = 𝑧 ) )
56 54 55 syl ⊢ ( ( ( 𝐹 : ( 1 ... ( ♯ ‘ 𝐹 ) ) ⟶ dom 𝐸 ∧ ( ( ♯ ‘ 𝐹 ) ∈ ℕ0 ∧ ( 𝑦 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ∧ 𝑧 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ) ) ) ∧ ( ( 𝑦 + 1 ) ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ∧ ( 𝑧 + 1 ) ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ) ) → ( ( 𝑦 + 1 ) = ( 𝑧 + 1 ) ↔ 𝑦 = 𝑧 ) )
57 56 imbi2d ⊢ ( ( ( 𝐹 : ( 1 ... ( ♯ ‘ 𝐹 ) ) ⟶ dom 𝐸 ∧ ( ( ♯ ‘ 𝐹 ) ∈ ℕ0 ∧ ( 𝑦 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ∧ 𝑧 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ) ) ) ∧ ( ( 𝑦 + 1 ) ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ∧ ( 𝑧 + 1 ) ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ) ) → ( ( ( 𝐹 ‘ ( 𝑦 + 1 ) ) = ( 𝐹 ‘ ( 𝑧 + 1 ) ) → ( 𝑦 + 1 ) = ( 𝑧 + 1 ) ) ↔ ( ( 𝐹 ‘ ( 𝑦 + 1 ) ) = ( 𝐹 ‘ ( 𝑧 + 1 ) ) → 𝑦 = 𝑧 ) ) )
58 57 biimpa ⊢ ( ( ( ( 𝐹 : ( 1 ... ( ♯ ‘ 𝐹 ) ) ⟶ dom 𝐸 ∧ ( ( ♯ ‘ 𝐹 ) ∈ ℕ0 ∧ ( 𝑦 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ∧ 𝑧 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ) ) ) ∧ ( ( 𝑦 + 1 ) ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ∧ ( 𝑧 + 1 ) ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ) ) ∧ ( ( 𝐹 ‘ ( 𝑦 + 1 ) ) = ( 𝐹 ‘ ( 𝑧 + 1 ) ) → ( 𝑦 + 1 ) = ( 𝑧 + 1 ) ) ) → ( ( 𝐹 ‘ ( 𝑦 + 1 ) ) = ( 𝐹 ‘ ( 𝑧 + 1 ) ) → 𝑦 = 𝑧 ) )
59 42 58 sylbid ⊢ ( ( ( ( 𝐹 : ( 1 ... ( ♯ ‘ 𝐹 ) ) ⟶ dom 𝐸 ∧ ( ( ♯ ‘ 𝐹 ) ∈ ℕ0 ∧ ( 𝑦 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ∧ 𝑧 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ) ) ) ∧ ( ( 𝑦 + 1 ) ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ∧ ( 𝑧 + 1 ) ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ) ) ∧ ( ( 𝐹 ‘ ( 𝑦 + 1 ) ) = ( 𝐹 ‘ ( 𝑧 + 1 ) ) → ( 𝑦 + 1 ) = ( 𝑧 + 1 ) ) ) → ( ( 𝐺 ‘ 𝑦 ) = ( 𝐺 ‘ 𝑧 ) → 𝑦 = 𝑧 ) )
60 59 ex ⊢ ( ( ( 𝐹 : ( 1 ... ( ♯ ‘ 𝐹 ) ) ⟶ dom 𝐸 ∧ ( ( ♯ ‘ 𝐹 ) ∈ ℕ0 ∧ ( 𝑦 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ∧ 𝑧 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ) ) ) ∧ ( ( 𝑦 + 1 ) ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ∧ ( 𝑧 + 1 ) ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ) ) → ( ( ( 𝐹 ‘ ( 𝑦 + 1 ) ) = ( 𝐹 ‘ ( 𝑧 + 1 ) ) → ( 𝑦 + 1 ) = ( 𝑧 + 1 ) ) → ( ( 𝐺 ‘ 𝑦 ) = ( 𝐺 ‘ 𝑧 ) → 𝑦 = 𝑧 ) ) )
61 27 60 syld ⊢ ( ( ( 𝐹 : ( 1 ... ( ♯ ‘ 𝐹 ) ) ⟶ dom 𝐸 ∧ ( ( ♯ ‘ 𝐹 ) ∈ ℕ0 ∧ ( 𝑦 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ∧ 𝑧 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ) ) ) ∧ ( ( 𝑦 + 1 ) ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ∧ ( 𝑧 + 1 ) ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ) ) → ( ∀ 𝑘 ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ∀ 𝑙 ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ( ( 𝐹 ‘ 𝑘 ) = ( 𝐹 ‘ 𝑙 ) → 𝑘 = 𝑙 ) → ( ( 𝐺 ‘ 𝑦 ) = ( 𝐺 ‘ 𝑧 ) → 𝑦 = 𝑧 ) ) )
62 61 exp31 ⊢ ( 𝐹 : ( 1 ... ( ♯ ‘ 𝐹 ) ) ⟶ dom 𝐸 → ( ( ( ♯ ‘ 𝐹 ) ∈ ℕ0 ∧ ( 𝑦 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ∧ 𝑧 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ) ) → ( ( ( 𝑦 + 1 ) ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ∧ ( 𝑧 + 1 ) ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ) → ( ∀ 𝑘 ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ∀ 𝑙 ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ( ( 𝐹 ‘ 𝑘 ) = ( 𝐹 ‘ 𝑙 ) → 𝑘 = 𝑙 ) → ( ( 𝐺 ‘ 𝑦 ) = ( 𝐺 ‘ 𝑧 ) → 𝑦 = 𝑧 ) ) ) ) )
63 62 com24 ⊢ ( 𝐹 : ( 1 ... ( ♯ ‘ 𝐹 ) ) ⟶ dom 𝐸 → ( ∀ 𝑘 ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ∀ 𝑙 ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ( ( 𝐹 ‘ 𝑘 ) = ( 𝐹 ‘ 𝑙 ) → 𝑘 = 𝑙 ) → ( ( ( 𝑦 + 1 ) ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ∧ ( 𝑧 + 1 ) ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ) → ( ( ( ♯ ‘ 𝐹 ) ∈ ℕ0 ∧ ( 𝑦 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ∧ 𝑧 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ) ) → ( ( 𝐺 ‘ 𝑦 ) = ( 𝐺 ‘ 𝑧 ) → 𝑦 = 𝑧 ) ) ) ) )
64 63 imp ⊢ ( ( 𝐹 : ( 1 ... ( ♯ ‘ 𝐹 ) ) ⟶ dom 𝐸 ∧ ∀ 𝑘 ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ∀ 𝑙 ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ( ( 𝐹 ‘ 𝑘 ) = ( 𝐹 ‘ 𝑙 ) → 𝑘 = 𝑙 ) ) → ( ( ( 𝑦 + 1 ) ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ∧ ( 𝑧 + 1 ) ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ) → ( ( ( ♯ ‘ 𝐹 ) ∈ ℕ0 ∧ ( 𝑦 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ∧ 𝑧 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ) ) → ( ( 𝐺 ‘ 𝑦 ) = ( 𝐺 ‘ 𝑧 ) → 𝑦 = 𝑧 ) ) ) )
65 64 com13 ⊢ ( ( ( ♯ ‘ 𝐹 ) ∈ ℕ0 ∧ ( 𝑦 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ∧ 𝑧 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ) ) → ( ( ( 𝑦 + 1 ) ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ∧ ( 𝑧 + 1 ) ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ) → ( ( 𝐹 : ( 1 ... ( ♯ ‘ 𝐹 ) ) ⟶ dom 𝐸 ∧ ∀ 𝑘 ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ∀ 𝑙 ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ( ( 𝐹 ‘ 𝑘 ) = ( 𝐹 ‘ 𝑙 ) → 𝑘 = 𝑙 ) ) → ( ( 𝐺 ‘ 𝑦 ) = ( 𝐺 ‘ 𝑧 ) → 𝑦 = 𝑧 ) ) ) )
66 17 65 mpd ⊢ ( ( ( ♯ ‘ 𝐹 ) ∈ ℕ0 ∧ ( 𝑦 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ∧ 𝑧 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ) ) → ( ( 𝐹 : ( 1 ... ( ♯ ‘ 𝐹 ) ) ⟶ dom 𝐸 ∧ ∀ 𝑘 ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ∀ 𝑙 ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ( ( 𝐹 ‘ 𝑘 ) = ( 𝐹 ‘ 𝑙 ) → 𝑘 = 𝑙 ) ) → ( ( 𝐺 ‘ 𝑦 ) = ( 𝐺 ‘ 𝑧 ) → 𝑦 = 𝑧 ) ) )
67 66 expcom ⊢ ( ( 𝑦 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ∧ 𝑧 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ) → ( ( ♯ ‘ 𝐹 ) ∈ ℕ0 → ( ( 𝐹 : ( 1 ... ( ♯ ‘ 𝐹 ) ) ⟶ dom 𝐸 ∧ ∀ 𝑘 ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ∀ 𝑙 ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ( ( 𝐹 ‘ 𝑘 ) = ( 𝐹 ‘ 𝑙 ) → 𝑘 = 𝑙 ) ) → ( ( 𝐺 ‘ 𝑦 ) = ( 𝐺 ‘ 𝑧 ) → 𝑦 = 𝑧 ) ) ) )
68 67 com13 ⊢ ( ( 𝐹 : ( 1 ... ( ♯ ‘ 𝐹 ) ) ⟶ dom 𝐸 ∧ ∀ 𝑘 ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ∀ 𝑙 ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ( ( 𝐹 ‘ 𝑘 ) = ( 𝐹 ‘ 𝑙 ) → 𝑘 = 𝑙 ) ) → ( ( ♯ ‘ 𝐹 ) ∈ ℕ0 → ( ( 𝑦 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ∧ 𝑧 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ) → ( ( 𝐺 ‘ 𝑦 ) = ( 𝐺 ‘ 𝑧 ) → 𝑦 = 𝑧 ) ) ) )
69 68 ralrimdvv ⊢ ( ( 𝐹 : ( 1 ... ( ♯ ‘ 𝐹 ) ) ⟶ dom 𝐸 ∧ ∀ 𝑘 ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ∀ 𝑙 ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ( ( 𝐹 ‘ 𝑘 ) = ( 𝐹 ‘ 𝑙 ) → 𝑘 = 𝑙 ) ) → ( ( ♯ ‘ 𝐹 ) ∈ ℕ0 → ∀ 𝑦 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ∀ 𝑧 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ( ( 𝐺 ‘ 𝑦 ) = ( 𝐺 ‘ 𝑧 ) → 𝑦 = 𝑧 ) ) )
70 14 69 sylbi ⊢ ( 𝐹 : ( 1 ... ( ♯ ‘ 𝐹 ) ) –1-1→ dom 𝐸 → ( ( ♯ ‘ 𝐹 ) ∈ ℕ0 → ∀ 𝑦 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ∀ 𝑧 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ( ( 𝐺 ‘ 𝑦 ) = ( 𝐺 ‘ 𝑧 ) → 𝑦 = 𝑧 ) ) )
71 70 impcom ⊢ ( ( ( ♯ ‘ 𝐹 ) ∈ ℕ0 ∧ 𝐹 : ( 1 ... ( ♯ ‘ 𝐹 ) ) –1-1→ dom 𝐸 ) → ∀ 𝑦 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ∀ 𝑧 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ( ( 𝐺 ‘ 𝑦 ) = ( 𝐺 ‘ 𝑧 ) → 𝑦 = 𝑧 ) )
72 13 71 biimtrrdi ⊢ ( ( ♯ ‘ 𝐹 ) = 𝑁 → ( ( 𝑁 ∈ ℕ0 ∧ 𝐹 : ( 1 ... 𝑁 ) –1-1→ dom 𝐸 ) → ∀ 𝑦 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ∀ 𝑧 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ( ( 𝐺 ‘ 𝑦 ) = ( 𝐺 ‘ 𝑧 ) → 𝑦 = 𝑧 ) ) )
73 8 72 mpcom ⊢ ( ( 𝑁 ∈ ℕ0 ∧ 𝐹 : ( 1 ... 𝑁 ) –1-1→ dom 𝐸 ) → ∀ 𝑦 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ∀ 𝑧 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ( ( 𝐺 ‘ 𝑦 ) = ( 𝐺 ‘ 𝑧 ) → 𝑦 = 𝑧 ) )
74 dff13 ⊢ ( 𝐺 : ( 0 ..^ ( ♯ ‘ 𝐹 ) ) –1-1→ dom 𝐸 ↔ ( 𝐺 : ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ⟶ dom 𝐸 ∧ ∀ 𝑦 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ∀ 𝑧 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ( ( 𝐺 ‘ 𝑦 ) = ( 𝐺 ‘ 𝑧 ) → 𝑦 = 𝑧 ) ) )
75 4 73 74 sylanbrc ⊢ ( ( 𝑁 ∈ ℕ0 ∧ 𝐹 : ( 1 ... 𝑁 ) –1-1→ dom 𝐸 ) → 𝐺 : ( 0 ..^ ( ♯ ‘ 𝐹 ) ) –1-1→ dom 𝐸 )