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 47433
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 6774 . . 3 (𝐹:(1...𝑁)–onto→dom 𝐸𝐹:(1...𝑁)⟶dom 𝐸)
2 fargshift.g . . . 4 𝐺 = (𝑥 ∈ (0..^(♯‘𝐹)) ↦ (𝐹‘(𝑥 + 1)))
32fargshiftf 47431 . . 3 ((𝑁 ∈ ℕ0𝐹:(1...𝑁)⟶dom 𝐸) → 𝐺:(0..^(♯‘𝐹))⟶dom 𝐸)
41, 3sylan2 593 . 2 ((𝑁 ∈ ℕ0𝐹:(1...𝑁)–onto→dom 𝐸) → 𝐺:(0..^(♯‘𝐹))⟶dom 𝐸)
52rnmpt 5923 . . 3 ran 𝐺 = {𝑦 ∣ ∃𝑥 ∈ (0..^(♯‘𝐹))𝑦 = (𝐹‘(𝑥 + 1))}
6 fofn 6776 . . . . . 6 (𝐹:(1...𝑁)–onto→dom 𝐸𝐹 Fn (1...𝑁))
7 fnrnfv 6922 . . . . . 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 6519 . . . . . . 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 2734 . . . . . . . . 9 (ran 𝐹 = dom 𝐸 → (ran 𝐹 = {𝑦 ∣ ∃𝑧 ∈ (1...𝑁)𝑦 = (𝐹𝑧)} ↔ dom 𝐸 = {𝑦 ∣ ∃𝑧 ∈ (1...𝑁)𝑦 = (𝐹𝑧)}))
14 eqcom 2737 . . . . . . . . 9 (dom 𝐸 = {𝑦 ∣ ∃𝑧 ∈ (1...𝑁)𝑦 = (𝐹𝑧)} ↔ {𝑦 ∣ ∃𝑧 ∈ (1...𝑁)𝑦 = (𝐹𝑧)} = dom 𝐸)
1513, 14bitrdi 287 . . . . . . . 8 (ran 𝐹 = dom 𝐸 → (ran 𝐹 = {𝑦 ∣ ∃𝑧 ∈ (1...𝑁)𝑦 = (𝐹𝑧)} ↔ {𝑦 ∣ ∃𝑧 ∈ (1...𝑁)𝑦 = (𝐹𝑧)} = dom 𝐸))
16 ffn 6690 . . . . . . . . . . . . . 14 (𝐹:(1...𝑁)⟶dom 𝐸𝐹 Fn (1...𝑁))
17 fseq1hash 14347 . . . . . . . . . . . . . 14 ((𝑁 ∈ ℕ0𝐹 Fn (1...𝑁)) → (♯‘𝐹) = 𝑁)
1816, 17sylan2 593 . . . . . . . . . . . . 13 ((𝑁 ∈ ℕ0𝐹:(1...𝑁)⟶dom 𝐸) → (♯‘𝐹) = 𝑁)
191, 18sylan2 593 . . . . . . . . . . . 12 ((𝑁 ∈ ℕ0𝐹:(1...𝑁)–onto→dom 𝐸) → (♯‘𝐹) = 𝑁)
20 fz0add1fz1 13702 . . . . . . . . . . . . . . 15 ((𝑁 ∈ ℕ0𝑥 ∈ (0..^𝑁)) → (𝑥 + 1) ∈ (1...𝑁))
21 nn0z 12560 . . . . . . . . . . . . . . . . . . . . 21 (𝑁 ∈ ℕ0𝑁 ∈ ℤ)
22 fzval3 13701 . . . . . . . . . . . . . . . . . . . . 21 (𝑁 ∈ ℤ → (1...𝑁) = (1..^(𝑁 + 1)))
2321, 22syl 17 . . . . . . . . . . . . . . . . . . . 20 (𝑁 ∈ ℕ0 → (1...𝑁) = (1..^(𝑁 + 1)))
24 nn0cn 12458 . . . . . . . . . . . . . . . . . . . . . 22 (𝑁 ∈ ℕ0𝑁 ∈ ℂ)
25 1cnd 11175 . . . . . . . . . . . . . . . . . . . . . 22 (𝑁 ∈ ℕ0 → 1 ∈ ℂ)
2624, 25addcomd 11382 . . . . . . . . . . . . . . . . . . . . 21 (𝑁 ∈ ℕ0 → (𝑁 + 1) = (1 + 𝑁))
2726oveq2d 7405 . . . . . . . . . . . . . . . . . . . 20 (𝑁 ∈ ℕ0 → (1..^(𝑁 + 1)) = (1..^(1 + 𝑁)))
2823, 27eqtrd 2765 . . . . . . . . . . . . . . . . . . 19 (𝑁 ∈ ℕ0 → (1...𝑁) = (1..^(1 + 𝑁)))
2928eleq2d 2815 . . . . . . . . . . . . . . . . . 18 (𝑁 ∈ ℕ0 → (𝑧 ∈ (1...𝑁) ↔ 𝑧 ∈ (1..^(1 + 𝑁))))
3029biimpa 476 . . . . . . . . . . . . . . . . 17 ((𝑁 ∈ ℕ0𝑧 ∈ (1...𝑁)) → 𝑧 ∈ (1..^(1 + 𝑁)))
3121adantr 480 . . . . . . . . . . . . . . . . 17 ((𝑁 ∈ ℕ0𝑧 ∈ (1...𝑁)) → 𝑁 ∈ ℤ)
32 fzosubel3 13693 . . . . . . . . . . . . . . . . 17 ((𝑧 ∈ (1..^(1 + 𝑁)) ∧ 𝑁 ∈ ℤ) → (𝑧 − 1) ∈ (0..^𝑁))
3330, 31, 32syl2anc 584 . . . . . . . . . . . . . . . 16 ((𝑁 ∈ ℕ0𝑧 ∈ (1...𝑁)) → (𝑧 − 1) ∈ (0..^𝑁))
34 oveq1 7396 . . . . . . . . . . . . . . . . . 18 (𝑥 = (𝑧 − 1) → (𝑥 + 1) = ((𝑧 − 1) + 1))
3534eqeq2d 2741 . . . . . . . . . . . . . . . . 17 (𝑥 = (𝑧 − 1) → (𝑧 = (𝑥 + 1) ↔ 𝑧 = ((𝑧 − 1) + 1)))
3635adantl 481 . . . . . . . . . . . . . . . 16 (((𝑁 ∈ ℕ0𝑧 ∈ (1...𝑁)) ∧ 𝑥 = (𝑧 − 1)) → (𝑧 = (𝑥 + 1) ↔ 𝑧 = ((𝑧 − 1) + 1)))
37 elfzelz 13491 . . . . . . . . . . . . . . . . . . . 20 (𝑧 ∈ (1...𝑁) → 𝑧 ∈ ℤ)
3837zcnd 12645 . . . . . . . . . . . . . . . . . . 19 (𝑧 ∈ (1...𝑁) → 𝑧 ∈ ℂ)
3938adantl 481 . . . . . . . . . . . . . . . . . 18 ((𝑁 ∈ ℕ0𝑧 ∈ (1...𝑁)) → 𝑧 ∈ ℂ)
40 1cnd 11175 . . . . . . . . . . . . . . . . . 18 ((𝑁 ∈ ℕ0𝑧 ∈ (1...𝑁)) → 1 ∈ ℂ)
4139, 40npcand 11543 . . . . . . . . . . . . . . . . 17 ((𝑁 ∈ ℕ0𝑧 ∈ (1...𝑁)) → ((𝑧 − 1) + 1) = 𝑧)
4241eqcomd 2736 . . . . . . . . . . . . . . . 16 ((𝑁 ∈ ℕ0𝑧 ∈ (1...𝑁)) → 𝑧 = ((𝑧 − 1) + 1))
4333, 36, 42rspcedvd 3593 . . . . . . . . . . . . . . 15 ((𝑁 ∈ ℕ0𝑧 ∈ (1...𝑁)) → ∃𝑥 ∈ (0..^𝑁)𝑧 = (𝑥 + 1))
44 fveq2 6860 . . . . . . . . . . . . . . . . 17 (𝑧 = (𝑥 + 1) → (𝐹𝑧) = (𝐹‘(𝑥 + 1)))
4544eqeq2d 2741 . . . . . . . . . . . . . . . 16 (𝑧 = (𝑥 + 1) → (𝑦 = (𝐹𝑧) ↔ 𝑦 = (𝐹‘(𝑥 + 1))))
4645adantl 481 . . . . . . . . . . . . . . 15 ((𝑁 ∈ ℕ0𝑧 = (𝑥 + 1)) → (𝑦 = (𝐹𝑧) ↔ 𝑦 = (𝐹‘(𝑥 + 1))))
4720, 43, 46rexxfrd 5366 . . . . . . . . . . . . . 14 (𝑁 ∈ ℕ0 → (∃𝑧 ∈ (1...𝑁)𝑦 = (𝐹𝑧) ↔ ∃𝑥 ∈ (0..^𝑁)𝑦 = (𝐹‘(𝑥 + 1))))
4847adantr 480 . . . . . . . . . . . . 13 ((𝑁 ∈ ℕ0 ∧ (♯‘𝐹) = 𝑁) → (∃𝑧 ∈ (1...𝑁)𝑦 = (𝐹𝑧) ↔ ∃𝑥 ∈ (0..^𝑁)𝑦 = (𝐹‘(𝑥 + 1))))
49 oveq2 7397 . . . . . . . . . . . . . . . 16 ((♯‘𝐹) = 𝑁 → (0..^(♯‘𝐹)) = (0..^𝑁))
5049rexeqdv 3302 . . . . . . . . . . . . . . 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 2796 . . . . . . . . . 10 ((𝑁 ∈ ℕ0𝐹:(1...𝑁)–onto→dom 𝐸) → {𝑦 ∣ ∃𝑧 ∈ (1...𝑁)𝑦 = (𝐹𝑧)} = {𝑦 ∣ ∃𝑥 ∈ (0..^(♯‘𝐹))𝑦 = (𝐹‘(𝑥 + 1))})
5655eqeq1d 2732 . . . . . . . . 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 2777 . 2 ((𝑁 ∈ ℕ0𝐹:(1...𝑁)–onto→dom 𝐸) → ran 𝐺 = dom 𝐸)
64 dffo2 6778 . 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 2708  wrex 3054  cmpt 5190  dom cdm 5640  ran crn 5641   Fn wfn 6508  wf 6509  ontowfo 6511  cfv 6513  (class class class)co 7389  cc 11072  0cc0 11074  1c1 11075   + caddc 11077  cmin 11411  0cn0 12448  cz 12535  ...cfz 13474  ..^cfzo 13621  chash 14301
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 2702  ax-rep 5236  ax-sep 5253  ax-nul 5263  ax-pow 5322  ax-pr 5389  ax-un 7713  ax-cnex 11130  ax-resscn 11131  ax-1cn 11132  ax-icn 11133  ax-addcl 11134  ax-addrcl 11135  ax-mulcl 11136  ax-mulrcl 11137  ax-mulcom 11138  ax-addass 11139  ax-mulass 11140  ax-distr 11141  ax-i2m1 11142  ax-1ne0 11143  ax-1rid 11144  ax-rnegex 11145  ax-rrecex 11146  ax-cnre 11147  ax-pre-lttri 11148  ax-pre-lttrn 11149  ax-pre-ltadd 11150  ax-pre-mulgt0 11151
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 2534  df-eu 2563  df-clab 2709  df-cleq 2722  df-clel 2804  df-nfc 2879  df-ne 2927  df-nel 3031  df-ral 3046  df-rex 3055  df-reu 3357  df-rab 3409  df-v 3452  df-sbc 3756  df-csb 3865  df-dif 3919  df-un 3921  df-in 3923  df-ss 3933  df-pss 3936  df-nul 4299  df-if 4491  df-pw 4567  df-sn 4592  df-pr 4594  df-op 4598  df-uni 4874  df-int 4913  df-iun 4959  df-br 5110  df-opab 5172  df-mpt 5191  df-tr 5217  df-id 5535  df-eprel 5540  df-po 5548  df-so 5549  df-fr 5593  df-we 5595  df-xp 5646  df-rel 5647  df-cnv 5648  df-co 5649  df-dm 5650  df-rn 5651  df-res 5652  df-ima 5653  df-pred 6276  df-ord 6337  df-on 6338  df-lim 6339  df-suc 6340  df-iota 6466  df-fun 6515  df-fn 6516  df-f 6517  df-f1 6518  df-fo 6519  df-f1o 6520  df-fv 6521  df-riota 7346  df-ov 7392  df-oprab 7393  df-mpo 7394  df-om 7845  df-1st 7970  df-2nd 7971  df-frecs 8262  df-wrecs 8293  df-recs 8342  df-rdg 8380  df-1o 8436  df-er 8673  df-en 8921  df-dom 8922  df-sdom 8923  df-fin 8924  df-card 9898  df-pnf 11216  df-mnf 11217  df-xr 11218  df-ltxr 11219  df-le 11220  df-sub 11413  df-neg 11414  df-nn 12188  df-n0 12449  df-z 12536  df-uz 12800  df-fz 13475  df-fzo 13622  df-hash 14302
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator