Users' Mathboxes Mathbox for Alexander van der Vekens < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  fargshiftfo Structured version   Visualization version   GIF version

Theorem fargshiftfo 47427
Description: If a function is onto, then also the shifted function is onto. (Contributed by Alexander van der Vekens, 24-Nov-2017.)
Hypothesis
Ref Expression
fargshift.g 𝐺 = (𝑥 ∈ (0..^(♯‘𝐹)) ↦ (𝐹‘(𝑥 + 1)))
Assertion
Ref Expression
fargshiftfo ((𝑁 ∈ ℕ0𝐹:(1...𝑁)–onto→dom 𝐸) → 𝐺:(0..^(♯‘𝐹))–onto→dom 𝐸)
Distinct variable groups:   𝑥,𝐹   𝑥,𝐸   𝑥,𝑁
Allowed substitution hint:   𝐺(𝑥)

Proof of Theorem fargshiftfo
Dummy variables 𝑦 𝑧 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 fof 6740 . . 3 (𝐹:(1...𝑁)–onto→dom 𝐸𝐹:(1...𝑁)⟶dom 𝐸)
2 fargshift.g . . . 4 𝐺 = (𝑥 ∈ (0..^(♯‘𝐹)) ↦ (𝐹‘(𝑥 + 1)))
32fargshiftf 47425 . . 3 ((𝑁 ∈ ℕ0𝐹:(1...𝑁)⟶dom 𝐸) → 𝐺:(0..^(♯‘𝐹))⟶dom 𝐸)
41, 3sylan2 593 . 2 ((𝑁 ∈ ℕ0𝐹:(1...𝑁)–onto→dom 𝐸) → 𝐺:(0..^(♯‘𝐹))⟶dom 𝐸)
52rnmpt 5903 . . 3 ran 𝐺 = {𝑦 ∣ ∃𝑥 ∈ (0..^(♯‘𝐹))𝑦 = (𝐹‘(𝑥 + 1))}
6 fofn 6742 . . . . . 6 (𝐹:(1...𝑁)–onto→dom 𝐸𝐹 Fn (1...𝑁))
7 fnrnfv 6886 . . . . . 6 (𝐹 Fn (1...𝑁) → ran 𝐹 = {𝑦 ∣ ∃𝑧 ∈ (1...𝑁)𝑦 = (𝐹𝑧)})
86, 7syl 17 . . . . 5 (𝐹:(1...𝑁)–onto→dom 𝐸 → ran 𝐹 = {𝑦 ∣ ∃𝑧 ∈ (1...𝑁)𝑦 = (𝐹𝑧)})
98adantl 481 . . . 4 ((𝑁 ∈ ℕ0𝐹:(1...𝑁)–onto→dom 𝐸) → ran 𝐹 = {𝑦 ∣ ∃𝑧 ∈ (1...𝑁)𝑦 = (𝐹𝑧)})
10 df-fo 6492 . . . . . . 7 (𝐹:(1...𝑁)–onto→dom 𝐸 ↔ (𝐹 Fn (1...𝑁) ∧ ran 𝐹 = dom 𝐸))
1110biimpi 216 . . . . . 6 (𝐹:(1...𝑁)–onto→dom 𝐸 → (𝐹 Fn (1...𝑁) ∧ ran 𝐹 = dom 𝐸))
1211adantl 481 . . . . 5 ((𝑁 ∈ ℕ0𝐹:(1...𝑁)–onto→dom 𝐸) → (𝐹 Fn (1...𝑁) ∧ ran 𝐹 = dom 𝐸))
13 eqeq1 2733 . . . . . . . . 9 (ran 𝐹 = dom 𝐸 → (ran 𝐹 = {𝑦 ∣ ∃𝑧 ∈ (1...𝑁)𝑦 = (𝐹𝑧)} ↔ dom 𝐸 = {𝑦 ∣ ∃𝑧 ∈ (1...𝑁)𝑦 = (𝐹𝑧)}))
14 eqcom 2736 . . . . . . . . 9 (dom 𝐸 = {𝑦 ∣ ∃𝑧 ∈ (1...𝑁)𝑦 = (𝐹𝑧)} ↔ {𝑦 ∣ ∃𝑧 ∈ (1...𝑁)𝑦 = (𝐹𝑧)} = dom 𝐸)
1513, 14bitrdi 287 . . . . . . . 8 (ran 𝐹 = dom 𝐸 → (ran 𝐹 = {𝑦 ∣ ∃𝑧 ∈ (1...𝑁)𝑦 = (𝐹𝑧)} ↔ {𝑦 ∣ ∃𝑧 ∈ (1...𝑁)𝑦 = (𝐹𝑧)} = dom 𝐸))
16 ffn 6656 . . . . . . . . . . . . . 14 (𝐹:(1...𝑁)⟶dom 𝐸𝐹 Fn (1...𝑁))
17 fseq1hash 14301 . . . . . . . . . . . . . 14 ((𝑁 ∈ ℕ0𝐹 Fn (1...𝑁)) → (♯‘𝐹) = 𝑁)
1816, 17sylan2 593 . . . . . . . . . . . . 13 ((𝑁 ∈ ℕ0𝐹:(1...𝑁)⟶dom 𝐸) → (♯‘𝐹) = 𝑁)
191, 18sylan2 593 . . . . . . . . . . . 12 ((𝑁 ∈ ℕ0𝐹:(1...𝑁)–onto→dom 𝐸) → (♯‘𝐹) = 𝑁)
20 fz0add1fz1 13656 . . . . . . . . . . . . . . 15 ((𝑁 ∈ ℕ0𝑥 ∈ (0..^𝑁)) → (𝑥 + 1) ∈ (1...𝑁))
21 nn0z 12514 . . . . . . . . . . . . . . . . . . . . 21 (𝑁 ∈ ℕ0𝑁 ∈ ℤ)
22 fzval3 13655 . . . . . . . . . . . . . . . . . . . . 21 (𝑁 ∈ ℤ → (1...𝑁) = (1..^(𝑁 + 1)))
2321, 22syl 17 . . . . . . . . . . . . . . . . . . . 20 (𝑁 ∈ ℕ0 → (1...𝑁) = (1..^(𝑁 + 1)))
24 nn0cn 12412 . . . . . . . . . . . . . . . . . . . . . 22 (𝑁 ∈ ℕ0𝑁 ∈ ℂ)
25 1cnd 11129 . . . . . . . . . . . . . . . . . . . . . 22 (𝑁 ∈ ℕ0 → 1 ∈ ℂ)
2624, 25addcomd 11336 . . . . . . . . . . . . . . . . . . . . 21 (𝑁 ∈ ℕ0 → (𝑁 + 1) = (1 + 𝑁))
2726oveq2d 7369 . . . . . . . . . . . . . . . . . . . 20 (𝑁 ∈ ℕ0 → (1..^(𝑁 + 1)) = (1..^(1 + 𝑁)))
2823, 27eqtrd 2764 . . . . . . . . . . . . . . . . . . 19 (𝑁 ∈ ℕ0 → (1...𝑁) = (1..^(1 + 𝑁)))
2928eleq2d 2814 . . . . . . . . . . . . . . . . . 18 (𝑁 ∈ ℕ0 → (𝑧 ∈ (1...𝑁) ↔ 𝑧 ∈ (1..^(1 + 𝑁))))
3029biimpa 476 . . . . . . . . . . . . . . . . 17 ((𝑁 ∈ ℕ0𝑧 ∈ (1...𝑁)) → 𝑧 ∈ (1..^(1 + 𝑁)))
3121adantr 480 . . . . . . . . . . . . . . . . 17 ((𝑁 ∈ ℕ0𝑧 ∈ (1...𝑁)) → 𝑁 ∈ ℤ)
32 fzosubel3 13647 . . . . . . . . . . . . . . . . 17 ((𝑧 ∈ (1..^(1 + 𝑁)) ∧ 𝑁 ∈ ℤ) → (𝑧 − 1) ∈ (0..^𝑁))
3330, 31, 32syl2anc 584 . . . . . . . . . . . . . . . 16 ((𝑁 ∈ ℕ0𝑧 ∈ (1...𝑁)) → (𝑧 − 1) ∈ (0..^𝑁))
34 oveq1 7360 . . . . . . . . . . . . . . . . . 18 (𝑥 = (𝑧 − 1) → (𝑥 + 1) = ((𝑧 − 1) + 1))
3534eqeq2d 2740 . . . . . . . . . . . . . . . . 17 (𝑥 = (𝑧 − 1) → (𝑧 = (𝑥 + 1) ↔ 𝑧 = ((𝑧 − 1) + 1)))
3635adantl 481 . . . . . . . . . . . . . . . 16 (((𝑁 ∈ ℕ0𝑧 ∈ (1...𝑁)) ∧ 𝑥 = (𝑧 − 1)) → (𝑧 = (𝑥 + 1) ↔ 𝑧 = ((𝑧 − 1) + 1)))
37 elfzelz 13445 . . . . . . . . . . . . . . . . . . . 20 (𝑧 ∈ (1...𝑁) → 𝑧 ∈ ℤ)
3837zcnd 12599 . . . . . . . . . . . . . . . . . . 19 (𝑧 ∈ (1...𝑁) → 𝑧 ∈ ℂ)
3938adantl 481 . . . . . . . . . . . . . . . . . 18 ((𝑁 ∈ ℕ0𝑧 ∈ (1...𝑁)) → 𝑧 ∈ ℂ)
40 1cnd 11129 . . . . . . . . . . . . . . . . . 18 ((𝑁 ∈ ℕ0𝑧 ∈ (1...𝑁)) → 1 ∈ ℂ)
4139, 40npcand 11497 . . . . . . . . . . . . . . . . 17 ((𝑁 ∈ ℕ0𝑧 ∈ (1...𝑁)) → ((𝑧 − 1) + 1) = 𝑧)
4241eqcomd 2735 . . . . . . . . . . . . . . . 16 ((𝑁 ∈ ℕ0𝑧 ∈ (1...𝑁)) → 𝑧 = ((𝑧 − 1) + 1))
4333, 36, 42rspcedvd 3581 . . . . . . . . . . . . . . 15 ((𝑁 ∈ ℕ0𝑧 ∈ (1...𝑁)) → ∃𝑥 ∈ (0..^𝑁)𝑧 = (𝑥 + 1))
44 fveq2 6826 . . . . . . . . . . . . . . . . 17 (𝑧 = (𝑥 + 1) → (𝐹𝑧) = (𝐹‘(𝑥 + 1)))
4544eqeq2d 2740 . . . . . . . . . . . . . . . 16 (𝑧 = (𝑥 + 1) → (𝑦 = (𝐹𝑧) ↔ 𝑦 = (𝐹‘(𝑥 + 1))))
4645adantl 481 . . . . . . . . . . . . . . 15 ((𝑁 ∈ ℕ0𝑧 = (𝑥 + 1)) → (𝑦 = (𝐹𝑧) ↔ 𝑦 = (𝐹‘(𝑥 + 1))))
4720, 43, 46rexxfrd 5351 . . . . . . . . . . . . . 14 (𝑁 ∈ ℕ0 → (∃𝑧 ∈ (1...𝑁)𝑦 = (𝐹𝑧) ↔ ∃𝑥 ∈ (0..^𝑁)𝑦 = (𝐹‘(𝑥 + 1))))
4847adantr 480 . . . . . . . . . . . . 13 ((𝑁 ∈ ℕ0 ∧ (♯‘𝐹) = 𝑁) → (∃𝑧 ∈ (1...𝑁)𝑦 = (𝐹𝑧) ↔ ∃𝑥 ∈ (0..^𝑁)𝑦 = (𝐹‘(𝑥 + 1))))
49 oveq2 7361 . . . . . . . . . . . . . . . 16 ((♯‘𝐹) = 𝑁 → (0..^(♯‘𝐹)) = (0..^𝑁))
5049rexeqdv 3291 . . . . . . . . . . . . . . 15 ((♯‘𝐹) = 𝑁 → (∃𝑥 ∈ (0..^(♯‘𝐹))𝑦 = (𝐹‘(𝑥 + 1)) ↔ ∃𝑥 ∈ (0..^𝑁)𝑦 = (𝐹‘(𝑥 + 1))))
5150bibi2d 342 . . . . . . . . . . . . . 14 ((♯‘𝐹) = 𝑁 → ((∃𝑧 ∈ (1...𝑁)𝑦 = (𝐹𝑧) ↔ ∃𝑥 ∈ (0..^(♯‘𝐹))𝑦 = (𝐹‘(𝑥 + 1))) ↔ (∃𝑧 ∈ (1...𝑁)𝑦 = (𝐹𝑧) ↔ ∃𝑥 ∈ (0..^𝑁)𝑦 = (𝐹‘(𝑥 + 1)))))
5251adantl 481 . . . . . . . . . . . . 13 ((𝑁 ∈ ℕ0 ∧ (♯‘𝐹) = 𝑁) → ((∃𝑧 ∈ (1...𝑁)𝑦 = (𝐹𝑧) ↔ ∃𝑥 ∈ (0..^(♯‘𝐹))𝑦 = (𝐹‘(𝑥 + 1))) ↔ (∃𝑧 ∈ (1...𝑁)𝑦 = (𝐹𝑧) ↔ ∃𝑥 ∈ (0..^𝑁)𝑦 = (𝐹‘(𝑥 + 1)))))
5348, 52mpbird 257 . . . . . . . . . . . 12 ((𝑁 ∈ ℕ0 ∧ (♯‘𝐹) = 𝑁) → (∃𝑧 ∈ (1...𝑁)𝑦 = (𝐹𝑧) ↔ ∃𝑥 ∈ (0..^(♯‘𝐹))𝑦 = (𝐹‘(𝑥 + 1))))
5419, 53syldan 591 . . . . . . . . . . 11 ((𝑁 ∈ ℕ0𝐹:(1...𝑁)–onto→dom 𝐸) → (∃𝑧 ∈ (1...𝑁)𝑦 = (𝐹𝑧) ↔ ∃𝑥 ∈ (0..^(♯‘𝐹))𝑦 = (𝐹‘(𝑥 + 1))))
5554abbidv 2795 . . . . . . . . . 10 ((𝑁 ∈ ℕ0𝐹:(1...𝑁)–onto→dom 𝐸) → {𝑦 ∣ ∃𝑧 ∈ (1...𝑁)𝑦 = (𝐹𝑧)} = {𝑦 ∣ ∃𝑥 ∈ (0..^(♯‘𝐹))𝑦 = (𝐹‘(𝑥 + 1))})
5655eqeq1d 2731 . . . . . . . . 9 ((𝑁 ∈ ℕ0𝐹:(1...𝑁)–onto→dom 𝐸) → ({𝑦 ∣ ∃𝑧 ∈ (1...𝑁)𝑦 = (𝐹𝑧)} = dom 𝐸 ↔ {𝑦 ∣ ∃𝑥 ∈ (0..^(♯‘𝐹))𝑦 = (𝐹‘(𝑥 + 1))} = dom 𝐸))
5756biimpcd 249 . . . . . . . 8 ({𝑦 ∣ ∃𝑧 ∈ (1...𝑁)𝑦 = (𝐹𝑧)} = dom 𝐸 → ((𝑁 ∈ ℕ0𝐹:(1...𝑁)–onto→dom 𝐸) → {𝑦 ∣ ∃𝑥 ∈ (0..^(♯‘𝐹))𝑦 = (𝐹‘(𝑥 + 1))} = dom 𝐸))
5815, 57biimtrdi 253 . . . . . . 7 (ran 𝐹 = dom 𝐸 → (ran 𝐹 = {𝑦 ∣ ∃𝑧 ∈ (1...𝑁)𝑦 = (𝐹𝑧)} → ((𝑁 ∈ ℕ0𝐹:(1...𝑁)–onto→dom 𝐸) → {𝑦 ∣ ∃𝑥 ∈ (0..^(♯‘𝐹))𝑦 = (𝐹‘(𝑥 + 1))} = dom 𝐸)))
5958com23 86 . . . . . 6 (ran 𝐹 = dom 𝐸 → ((𝑁 ∈ ℕ0𝐹:(1...𝑁)–onto→dom 𝐸) → (ran 𝐹 = {𝑦 ∣ ∃𝑧 ∈ (1...𝑁)𝑦 = (𝐹𝑧)} → {𝑦 ∣ ∃𝑥 ∈ (0..^(♯‘𝐹))𝑦 = (𝐹‘(𝑥 + 1))} = dom 𝐸)))
6059adantl 481 . . . . 5 ((𝐹 Fn (1...𝑁) ∧ ran 𝐹 = dom 𝐸) → ((𝑁 ∈ ℕ0𝐹:(1...𝑁)–onto→dom 𝐸) → (ran 𝐹 = {𝑦 ∣ ∃𝑧 ∈ (1...𝑁)𝑦 = (𝐹𝑧)} → {𝑦 ∣ ∃𝑥 ∈ (0..^(♯‘𝐹))𝑦 = (𝐹‘(𝑥 + 1))} = dom 𝐸)))
6112, 60mpcom 38 . . . 4 ((𝑁 ∈ ℕ0𝐹:(1...𝑁)–onto→dom 𝐸) → (ran 𝐹 = {𝑦 ∣ ∃𝑧 ∈ (1...𝑁)𝑦 = (𝐹𝑧)} → {𝑦 ∣ ∃𝑥 ∈ (0..^(♯‘𝐹))𝑦 = (𝐹‘(𝑥 + 1))} = dom 𝐸))
629, 61mpd 15 . . 3 ((𝑁 ∈ ℕ0𝐹:(1...𝑁)–onto→dom 𝐸) → {𝑦 ∣ ∃𝑥 ∈ (0..^(♯‘𝐹))𝑦 = (𝐹‘(𝑥 + 1))} = dom 𝐸)
635, 62eqtrid 2776 . 2 ((𝑁 ∈ ℕ0𝐹:(1...𝑁)–onto→dom 𝐸) → ran 𝐺 = dom 𝐸)
64 dffo2 6744 . 2 (𝐺:(0..^(♯‘𝐹))–onto→dom 𝐸 ↔ (𝐺:(0..^(♯‘𝐹))⟶dom 𝐸 ∧ ran 𝐺 = dom 𝐸))
654, 63, 64sylanbrc 583 1 ((𝑁 ∈ ℕ0𝐹:(1...𝑁)–onto→dom 𝐸) → 𝐺:(0..^(♯‘𝐹))–onto→dom 𝐸)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 206  wa 395   = wceq 1540  wcel 2109  {cab 2707  wrex 3053  cmpt 5176  dom cdm 5623  ran crn 5624   Fn wfn 6481  wf 6482  ontowfo 6484  cfv 6486  (class class class)co 7353  cc 11026  0cc0 11028  1c1 11029   + caddc 11031  cmin 11365  0cn0 12402  cz 12489  ...cfz 13428  ..^cfzo 13575  chash 14255
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1795  ax-4 1809  ax-5 1910  ax-6 1967  ax-7 2008  ax-8 2111  ax-9 2119  ax-10 2142  ax-11 2158  ax-12 2178  ax-ext 2701  ax-rep 5221  ax-sep 5238  ax-nul 5248  ax-pow 5307  ax-pr 5374  ax-un 7675  ax-cnex 11084  ax-resscn 11085  ax-1cn 11086  ax-icn 11087  ax-addcl 11088  ax-addrcl 11089  ax-mulcl 11090  ax-mulrcl 11091  ax-mulcom 11092  ax-addass 11093  ax-mulass 11094  ax-distr 11095  ax-i2m1 11096  ax-1ne0 11097  ax-1rid 11098  ax-rnegex 11099  ax-rrecex 11100  ax-cnre 11101  ax-pre-lttri 11102  ax-pre-lttrn 11103  ax-pre-ltadd 11104  ax-pre-mulgt0 11105
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-3or 1087  df-3an 1088  df-tru 1543  df-fal 1553  df-ex 1780  df-nf 1784  df-sb 2066  df-mo 2533  df-eu 2562  df-clab 2708  df-cleq 2721  df-clel 2803  df-nfc 2878  df-ne 2926  df-nel 3030  df-ral 3045  df-rex 3054  df-reu 3346  df-rab 3397  df-v 3440  df-sbc 3745  df-csb 3854  df-dif 3908  df-un 3910  df-in 3912  df-ss 3922  df-pss 3925  df-nul 4287  df-if 4479  df-pw 4555  df-sn 4580  df-pr 4582  df-op 4586  df-uni 4862  df-int 4900  df-iun 4946  df-br 5096  df-opab 5158  df-mpt 5177  df-tr 5203  df-id 5518  df-eprel 5523  df-po 5531  df-so 5532  df-fr 5576  df-we 5578  df-xp 5629  df-rel 5630  df-cnv 5631  df-co 5632  df-dm 5633  df-rn 5634  df-res 5635  df-ima 5636  df-pred 6253  df-ord 6314  df-on 6315  df-lim 6316  df-suc 6317  df-iota 6442  df-fun 6488  df-fn 6489  df-f 6490  df-f1 6491  df-fo 6492  df-f1o 6493  df-fv 6494  df-riota 7310  df-ov 7356  df-oprab 7357  df-mpo 7358  df-om 7807  df-1st 7931  df-2nd 7932  df-frecs 8221  df-wrecs 8252  df-recs 8301  df-rdg 8339  df-1o 8395  df-er 8632  df-en 8880  df-dom 8881  df-sdom 8882  df-fin 8883  df-card 9854  df-pnf 11170  df-mnf 11171  df-xr 11172  df-ltxr 11173  df-le 11174  df-sub 11367  df-neg 11368  df-nn 12147  df-n0 12403  df-z 12490  df-uz 12754  df-fz 13429  df-fzo 13576  df-hash 14256
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator