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 47404
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 6789 . . 3 (𝐹:(1...𝑁)–onto→dom 𝐸𝐹:(1...𝑁)⟶dom 𝐸)
2 fargshift.g . . . 4 𝐺 = (𝑥 ∈ (0..^(♯‘𝐹)) ↦ (𝐹‘(𝑥 + 1)))
32fargshiftf 47402 . . 3 ((𝑁 ∈ ℕ0𝐹:(1...𝑁)⟶dom 𝐸) → 𝐺:(0..^(♯‘𝐹))⟶dom 𝐸)
41, 3sylan2 593 . 2 ((𝑁 ∈ ℕ0𝐹:(1...𝑁)–onto→dom 𝐸) → 𝐺:(0..^(♯‘𝐹))⟶dom 𝐸)
52rnmpt 5937 . . 3 ran 𝐺 = {𝑦 ∣ ∃𝑥 ∈ (0..^(♯‘𝐹))𝑦 = (𝐹‘(𝑥 + 1))}
6 fofn 6791 . . . . . 6 (𝐹:(1...𝑁)–onto→dom 𝐸𝐹 Fn (1...𝑁))
7 fnrnfv 6937 . . . . . 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 6536 . . . . . . 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 2739 . . . . . . . . 9 (ran 𝐹 = dom 𝐸 → (ran 𝐹 = {𝑦 ∣ ∃𝑧 ∈ (1...𝑁)𝑦 = (𝐹𝑧)} ↔ dom 𝐸 = {𝑦 ∣ ∃𝑧 ∈ (1...𝑁)𝑦 = (𝐹𝑧)}))
14 eqcom 2742 . . . . . . . . 9 (dom 𝐸 = {𝑦 ∣ ∃𝑧 ∈ (1...𝑁)𝑦 = (𝐹𝑧)} ↔ {𝑦 ∣ ∃𝑧 ∈ (1...𝑁)𝑦 = (𝐹𝑧)} = dom 𝐸)
1513, 14bitrdi 287 . . . . . . . 8 (ran 𝐹 = dom 𝐸 → (ran 𝐹 = {𝑦 ∣ ∃𝑧 ∈ (1...𝑁)𝑦 = (𝐹𝑧)} ↔ {𝑦 ∣ ∃𝑧 ∈ (1...𝑁)𝑦 = (𝐹𝑧)} = dom 𝐸))
16 ffn 6705 . . . . . . . . . . . . . 14 (𝐹:(1...𝑁)⟶dom 𝐸𝐹 Fn (1...𝑁))
17 fseq1hash 14392 . . . . . . . . . . . . . 14 ((𝑁 ∈ ℕ0𝐹 Fn (1...𝑁)) → (♯‘𝐹) = 𝑁)
1816, 17sylan2 593 . . . . . . . . . . . . 13 ((𝑁 ∈ ℕ0𝐹:(1...𝑁)⟶dom 𝐸) → (♯‘𝐹) = 𝑁)
191, 18sylan2 593 . . . . . . . . . . . 12 ((𝑁 ∈ ℕ0𝐹:(1...𝑁)–onto→dom 𝐸) → (♯‘𝐹) = 𝑁)
20 fz0add1fz1 13749 . . . . . . . . . . . . . . 15 ((𝑁 ∈ ℕ0𝑥 ∈ (0..^𝑁)) → (𝑥 + 1) ∈ (1...𝑁))
21 nn0z 12611 . . . . . . . . . . . . . . . . . . . . 21 (𝑁 ∈ ℕ0𝑁 ∈ ℤ)
22 fzval3 13748 . . . . . . . . . . . . . . . . . . . . 21 (𝑁 ∈ ℤ → (1...𝑁) = (1..^(𝑁 + 1)))
2321, 22syl 17 . . . . . . . . . . . . . . . . . . . 20 (𝑁 ∈ ℕ0 → (1...𝑁) = (1..^(𝑁 + 1)))
24 nn0cn 12509 . . . . . . . . . . . . . . . . . . . . . 22 (𝑁 ∈ ℕ0𝑁 ∈ ℂ)
25 1cnd 11228 . . . . . . . . . . . . . . . . . . . . . 22 (𝑁 ∈ ℕ0 → 1 ∈ ℂ)
2624, 25addcomd 11435 . . . . . . . . . . . . . . . . . . . . 21 (𝑁 ∈ ℕ0 → (𝑁 + 1) = (1 + 𝑁))
2726oveq2d 7419 . . . . . . . . . . . . . . . . . . . 20 (𝑁 ∈ ℕ0 → (1..^(𝑁 + 1)) = (1..^(1 + 𝑁)))
2823, 27eqtrd 2770 . . . . . . . . . . . . . . . . . . 19 (𝑁 ∈ ℕ0 → (1...𝑁) = (1..^(1 + 𝑁)))
2928eleq2d 2820 . . . . . . . . . . . . . . . . . 18 (𝑁 ∈ ℕ0 → (𝑧 ∈ (1...𝑁) ↔ 𝑧 ∈ (1..^(1 + 𝑁))))
3029biimpa 476 . . . . . . . . . . . . . . . . 17 ((𝑁 ∈ ℕ0𝑧 ∈ (1...𝑁)) → 𝑧 ∈ (1..^(1 + 𝑁)))
3121adantr 480 . . . . . . . . . . . . . . . . 17 ((𝑁 ∈ ℕ0𝑧 ∈ (1...𝑁)) → 𝑁 ∈ ℤ)
32 fzosubel3 13740 . . . . . . . . . . . . . . . . 17 ((𝑧 ∈ (1..^(1 + 𝑁)) ∧ 𝑁 ∈ ℤ) → (𝑧 − 1) ∈ (0..^𝑁))
3330, 31, 32syl2anc 584 . . . . . . . . . . . . . . . 16 ((𝑁 ∈ ℕ0𝑧 ∈ (1...𝑁)) → (𝑧 − 1) ∈ (0..^𝑁))
34 oveq1 7410 . . . . . . . . . . . . . . . . . 18 (𝑥 = (𝑧 − 1) → (𝑥 + 1) = ((𝑧 − 1) + 1))
3534eqeq2d 2746 . . . . . . . . . . . . . . . . 17 (𝑥 = (𝑧 − 1) → (𝑧 = (𝑥 + 1) ↔ 𝑧 = ((𝑧 − 1) + 1)))
3635adantl 481 . . . . . . . . . . . . . . . 16 (((𝑁 ∈ ℕ0𝑧 ∈ (1...𝑁)) ∧ 𝑥 = (𝑧 − 1)) → (𝑧 = (𝑥 + 1) ↔ 𝑧 = ((𝑧 − 1) + 1)))
37 elfzelz 13539 . . . . . . . . . . . . . . . . . . . 20 (𝑧 ∈ (1...𝑁) → 𝑧 ∈ ℤ)
3837zcnd 12696 . . . . . . . . . . . . . . . . . . 19 (𝑧 ∈ (1...𝑁) → 𝑧 ∈ ℂ)
3938adantl 481 . . . . . . . . . . . . . . . . . 18 ((𝑁 ∈ ℕ0𝑧 ∈ (1...𝑁)) → 𝑧 ∈ ℂ)
40 1cnd 11228 . . . . . . . . . . . . . . . . . 18 ((𝑁 ∈ ℕ0𝑧 ∈ (1...𝑁)) → 1 ∈ ℂ)
4139, 40npcand 11596 . . . . . . . . . . . . . . . . 17 ((𝑁 ∈ ℕ0𝑧 ∈ (1...𝑁)) → ((𝑧 − 1) + 1) = 𝑧)
4241eqcomd 2741 . . . . . . . . . . . . . . . 16 ((𝑁 ∈ ℕ0𝑧 ∈ (1...𝑁)) → 𝑧 = ((𝑧 − 1) + 1))
4333, 36, 42rspcedvd 3603 . . . . . . . . . . . . . . 15 ((𝑁 ∈ ℕ0𝑧 ∈ (1...𝑁)) → ∃𝑥 ∈ (0..^𝑁)𝑧 = (𝑥 + 1))
44 fveq2 6875 . . . . . . . . . . . . . . . . 17 (𝑧 = (𝑥 + 1) → (𝐹𝑧) = (𝐹‘(𝑥 + 1)))
4544eqeq2d 2746 . . . . . . . . . . . . . . . 16 (𝑧 = (𝑥 + 1) → (𝑦 = (𝐹𝑧) ↔ 𝑦 = (𝐹‘(𝑥 + 1))))
4645adantl 481 . . . . . . . . . . . . . . 15 ((𝑁 ∈ ℕ0𝑧 = (𝑥 + 1)) → (𝑦 = (𝐹𝑧) ↔ 𝑦 = (𝐹‘(𝑥 + 1))))
4720, 43, 46rexxfrd 5379 . . . . . . . . . . . . . 14 (𝑁 ∈ ℕ0 → (∃𝑧 ∈ (1...𝑁)𝑦 = (𝐹𝑧) ↔ ∃𝑥 ∈ (0..^𝑁)𝑦 = (𝐹‘(𝑥 + 1))))
4847adantr 480 . . . . . . . . . . . . 13 ((𝑁 ∈ ℕ0 ∧ (♯‘𝐹) = 𝑁) → (∃𝑧 ∈ (1...𝑁)𝑦 = (𝐹𝑧) ↔ ∃𝑥 ∈ (0..^𝑁)𝑦 = (𝐹‘(𝑥 + 1))))
49 oveq2 7411 . . . . . . . . . . . . . . . 16 ((♯‘𝐹) = 𝑁 → (0..^(♯‘𝐹)) = (0..^𝑁))
5049rexeqdv 3306 . . . . . . . . . . . . . . 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 2801 . . . . . . . . . 10 ((𝑁 ∈ ℕ0𝐹:(1...𝑁)–onto→dom 𝐸) → {𝑦 ∣ ∃𝑧 ∈ (1...𝑁)𝑦 = (𝐹𝑧)} = {𝑦 ∣ ∃𝑥 ∈ (0..^(♯‘𝐹))𝑦 = (𝐹‘(𝑥 + 1))})
5655eqeq1d 2737 . . . . . . . . 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 2782 . 2 ((𝑁 ∈ ℕ0𝐹:(1...𝑁)–onto→dom 𝐸) → ran 𝐺 = dom 𝐸)
64 dffo2 6793 . 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 2108  {cab 2713  wrex 3060  cmpt 5201  dom cdm 5654  ran crn 5655   Fn wfn 6525  wf 6526  ontowfo 6528  cfv 6530  (class class class)co 7403  cc 11125  0cc0 11127  1c1 11128   + caddc 11130  cmin 11464  0cn0 12499  cz 12586  ...cfz 13522  ..^cfzo 13669  chash 14346
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 2007  ax-8 2110  ax-9 2118  ax-10 2141  ax-11 2157  ax-12 2177  ax-ext 2707  ax-rep 5249  ax-sep 5266  ax-nul 5276  ax-pow 5335  ax-pr 5402  ax-un 7727  ax-cnex 11183  ax-resscn 11184  ax-1cn 11185  ax-icn 11186  ax-addcl 11187  ax-addrcl 11188  ax-mulcl 11189  ax-mulrcl 11190  ax-mulcom 11191  ax-addass 11192  ax-mulass 11193  ax-distr 11194  ax-i2m1 11195  ax-1ne0 11196  ax-1rid 11197  ax-rnegex 11198  ax-rrecex 11199  ax-cnre 11200  ax-pre-lttri 11201  ax-pre-lttrn 11202  ax-pre-ltadd 11203  ax-pre-mulgt0 11204
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 2065  df-mo 2539  df-eu 2568  df-clab 2714  df-cleq 2727  df-clel 2809  df-nfc 2885  df-ne 2933  df-nel 3037  df-ral 3052  df-rex 3061  df-reu 3360  df-rab 3416  df-v 3461  df-sbc 3766  df-csb 3875  df-dif 3929  df-un 3931  df-in 3933  df-ss 3943  df-pss 3946  df-nul 4309  df-if 4501  df-pw 4577  df-sn 4602  df-pr 4604  df-op 4608  df-uni 4884  df-int 4923  df-iun 4969  df-br 5120  df-opab 5182  df-mpt 5202  df-tr 5230  df-id 5548  df-eprel 5553  df-po 5561  df-so 5562  df-fr 5606  df-we 5608  df-xp 5660  df-rel 5661  df-cnv 5662  df-co 5663  df-dm 5664  df-rn 5665  df-res 5666  df-ima 5667  df-pred 6290  df-ord 6355  df-on 6356  df-lim 6357  df-suc 6358  df-iota 6483  df-fun 6532  df-fn 6533  df-f 6534  df-f1 6535  df-fo 6536  df-f1o 6537  df-fv 6538  df-riota 7360  df-ov 7406  df-oprab 7407  df-mpo 7408  df-om 7860  df-1st 7986  df-2nd 7987  df-frecs 8278  df-wrecs 8309  df-recs 8383  df-rdg 8422  df-1o 8478  df-er 8717  df-en 8958  df-dom 8959  df-sdom 8960  df-fin 8961  df-card 9951  df-pnf 11269  df-mnf 11270  df-xr 11271  df-ltxr 11272  df-le 11273  df-sub 11466  df-neg 11467  df-nn 12239  df-n0 12500  df-z 12587  df-uz 12851  df-fz 13523  df-fzo 13670  df-hash 14347
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator