MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  fprodf1o Structured version   Visualization version   GIF version

Theorem fprodf1o 16026
Description: Re-index a finite product using a bijection. (Contributed by Scott Fenton, 7-Dec-2017.)
Hypotheses
Ref Expression
fprodf1o.1 (𝑘 = 𝐺𝐵 = 𝐷)
fprodf1o.2 (𝜑𝐶 ∈ Fin)
fprodf1o.3 (𝜑𝐹:𝐶1-1-onto𝐴)
fprodf1o.4 ((𝜑𝑛𝐶) → (𝐹𝑛) = 𝐺)
fprodf1o.5 ((𝜑𝑘𝐴) → 𝐵 ∈ ℂ)
Assertion
Ref Expression
fprodf1o (𝜑 → ∏𝑘𝐴 𝐵 = ∏𝑛𝐶 𝐷)
Distinct variable groups:   𝐴,𝑘,𝑛   𝐵,𝑛   𝐶,𝑛   𝐷,𝑘   𝑛,𝐹   𝑘,𝐺   𝑘,𝑛,𝜑
Allowed substitution hints:   𝐵(𝑘)   𝐶(𝑘)   𝐷(𝑛)   𝐹(𝑘)   𝐺(𝑛)

Proof of Theorem fprodf1o
Dummy variables 𝑓 𝑚 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 prod0 16023 . . . 4 𝑘 ∈ ∅ 𝐵 = 1
2 fprodf1o.3 . . . . . . . . 9 (𝜑𝐹:𝐶1-1-onto𝐴)
32adantr 486 . . . . . . . 8 ((𝜑𝐶 = ∅) → 𝐹:𝐶1-1-onto𝐴)
4 f1oeq2 6816 . . . . . . . . 9 (𝐶 = ∅ → (𝐹:𝐶1-1-onto𝐴𝐹:∅–1-1-onto𝐴))
54adantl 487 . . . . . . . 8 ((𝜑𝐶 = ∅) → (𝐹:𝐶1-1-onto𝐴𝐹:∅–1-1-onto𝐴))
63, 5mpbid 235 . . . . . . 7 ((𝜑𝐶 = ∅) → 𝐹:∅–1-1-onto𝐴)
7 f1ofo 6835 . . . . . . 7 (𝐹:∅–1-1-onto𝐴𝐹:∅–onto𝐴)
86, 7syl 18 . . . . . 6 ((𝜑𝐶 = ∅) → 𝐹:∅–onto𝐴)
9 fo00 6864 . . . . . . 7 (𝐹:∅–onto𝐴 ↔ (𝐹 = ∅ ∧ 𝐴 = ∅))
109simprbi 503 . . . . . 6 (𝐹:∅–onto𝐴𝐴 = ∅)
118, 10syl 18 . . . . 5 ((𝜑𝐶 = ∅) → 𝐴 = ∅)
1211prodeq1d 16000 . . . 4 ((𝜑𝐶 = ∅) → ∏𝑘𝐴 𝐵 = ∏𝑘 ∈ ∅ 𝐵)
13 prodeq1 15987 . . . . . 6 (𝐶 = ∅ → ∏𝑛𝐶 𝐷 = ∏𝑛 ∈ ∅ 𝐷)
14 prod0 16023 . . . . . 6 𝑛 ∈ ∅ 𝐷 = 1
1513, 14eqtrdi 2817 . . . . 5 (𝐶 = ∅ → ∏𝑛𝐶 𝐷 = 1)
1615adantl 487 . . . 4 ((𝜑𝐶 = ∅) → ∏𝑛𝐶 𝐷 = 1)
171, 12, 163eqtr4a 2827 . . 3 ((𝜑𝐶 = ∅) → ∏𝑘𝐴 𝐵 = ∏𝑛𝐶 𝐷)
1817ex 418 . 2 (𝜑 → (𝐶 = ∅ → ∏𝑘𝐴 𝐵 = ∏𝑛𝐶 𝐷))
19 2fveq3 6893 . . . . . . . 8 (𝑚 = (𝑓𝑛) → ((𝑘𝐴𝐵)‘(𝐹𝑚)) = ((𝑘𝐴𝐵)‘(𝐹‘(𝑓𝑛))))
20 simprl 783 . . . . . . . 8 ((𝜑 ∧ ((♯‘𝐶) ∈ ℕ ∧ 𝑓:(1...(♯‘𝐶))–1-1-onto𝐶)) → (♯‘𝐶) ∈ ℕ)
21 simprr 785 . . . . . . . 8 ((𝜑 ∧ ((♯‘𝐶) ∈ ℕ ∧ 𝑓:(1...(♯‘𝐶))–1-1-onto𝐶)) → 𝑓:(1...(♯‘𝐶))–1-1-onto𝐶)
22 f1of 6827 . . . . . . . . . . . 12 (𝐹:𝐶1-1-onto𝐴𝐹:𝐶𝐴)
232, 22syl 18 . . . . . . . . . . 11 (𝜑𝐹:𝐶𝐴)
2423ffvelcdmda 7086 . . . . . . . . . 10 ((𝜑𝑚𝐶) → (𝐹𝑚) ∈ 𝐴)
25 fprodf1o.5 . . . . . . . . . . . 12 ((𝜑𝑘𝐴) → 𝐵 ∈ ℂ)
2625fmpttd 7117 . . . . . . . . . . 11 (𝜑 → (𝑘𝐴𝐵):𝐴⟶ℂ)
2726ffvelcdmda 7086 . . . . . . . . . 10 ((𝜑 ∧ (𝐹𝑚) ∈ 𝐴) → ((𝑘𝐴𝐵)‘(𝐹𝑚)) ∈ ℂ)
2824, 27syldan 603 . . . . . . . . 9 ((𝜑𝑚𝐶) → ((𝑘𝐴𝐵)‘(𝐹𝑚)) ∈ ℂ)
2928adantlr 728 . . . . . . . 8 (((𝜑 ∧ ((♯‘𝐶) ∈ ℕ ∧ 𝑓:(1...(♯‘𝐶))–1-1-onto𝐶)) ∧ 𝑚𝐶) → ((𝑘𝐴𝐵)‘(𝐹𝑚)) ∈ ℂ)
30 simpr 490 . . . . . . . . . . . 12 (((♯‘𝐶) ∈ ℕ ∧ 𝑓:(1...(♯‘𝐶))–1-1-onto𝐶) → 𝑓:(1...(♯‘𝐶))–1-1-onto𝐶)
31 f1oco 6851 . . . . . . . . . . . 12 ((𝐹:𝐶1-1-onto𝐴𝑓:(1...(♯‘𝐶))–1-1-onto𝐶) → (𝐹𝑓):(1...(♯‘𝐶))–1-1-onto𝐴)
322, 30, 31syl2an 608 . . . . . . . . . . 11 ((𝜑 ∧ ((♯‘𝐶) ∈ ℕ ∧ 𝑓:(1...(♯‘𝐶))–1-1-onto𝐶)) → (𝐹𝑓):(1...(♯‘𝐶))–1-1-onto𝐴)
33 f1of 6827 . . . . . . . . . . 11 ((𝐹𝑓):(1...(♯‘𝐶))–1-1-onto𝐴 → (𝐹𝑓):(1...(♯‘𝐶))⟶𝐴)
3432, 33syl 18 . . . . . . . . . 10 ((𝜑 ∧ ((♯‘𝐶) ∈ ℕ ∧ 𝑓:(1...(♯‘𝐶))–1-1-onto𝐶)) → (𝐹𝑓):(1...(♯‘𝐶))⟶𝐴)
35 fvco3 6988 . . . . . . . . . 10 (((𝐹𝑓):(1...(♯‘𝐶))⟶𝐴𝑛 ∈ (1...(♯‘𝐶))) → (((𝑘𝐴𝐵) ∘ (𝐹𝑓))‘𝑛) = ((𝑘𝐴𝐵)‘((𝐹𝑓)‘𝑛)))
3634, 35sylan 592 . . . . . . . . 9 (((𝜑 ∧ ((♯‘𝐶) ∈ ℕ ∧ 𝑓:(1...(♯‘𝐶))–1-1-onto𝐶)) ∧ 𝑛 ∈ (1...(♯‘𝐶))) → (((𝑘𝐴𝐵) ∘ (𝐹𝑓))‘𝑛) = ((𝑘𝐴𝐵)‘((𝐹𝑓)‘𝑛)))
37 f1of 6827 . . . . . . . . . . . . 13 (𝑓:(1...(♯‘𝐶))–1-1-onto𝐶𝑓:(1...(♯‘𝐶))⟶𝐶)
3837adantl 487 . . . . . . . . . . . 12 (((♯‘𝐶) ∈ ℕ ∧ 𝑓:(1...(♯‘𝐶))–1-1-onto𝐶) → 𝑓:(1...(♯‘𝐶))⟶𝐶)
3938adantl 487 . . . . . . . . . . 11 ((𝜑 ∧ ((♯‘𝐶) ∈ ℕ ∧ 𝑓:(1...(♯‘𝐶))–1-1-onto𝐶)) → 𝑓:(1...(♯‘𝐶))⟶𝐶)
40 fvco3 6988 . . . . . . . . . . 11 ((𝑓:(1...(♯‘𝐶))⟶𝐶𝑛 ∈ (1...(♯‘𝐶))) → ((𝐹𝑓)‘𝑛) = (𝐹‘(𝑓𝑛)))
4139, 40sylan 592 . . . . . . . . . 10 (((𝜑 ∧ ((♯‘𝐶) ∈ ℕ ∧ 𝑓:(1...(♯‘𝐶))–1-1-onto𝐶)) ∧ 𝑛 ∈ (1...(♯‘𝐶))) → ((𝐹𝑓)‘𝑛) = (𝐹‘(𝑓𝑛)))
4241fveq2d 6892 . . . . . . . . 9 (((𝜑 ∧ ((♯‘𝐶) ∈ ℕ ∧ 𝑓:(1...(♯‘𝐶))–1-1-onto𝐶)) ∧ 𝑛 ∈ (1...(♯‘𝐶))) → ((𝑘𝐴𝐵)‘((𝐹𝑓)‘𝑛)) = ((𝑘𝐴𝐵)‘(𝐹‘(𝑓𝑛))))
4336, 42eqtrd 2801 . . . . . . . 8 (((𝜑 ∧ ((♯‘𝐶) ∈ ℕ ∧ 𝑓:(1...(♯‘𝐶))–1-1-onto𝐶)) ∧ 𝑛 ∈ (1...(♯‘𝐶))) → (((𝑘𝐴𝐵) ∘ (𝐹𝑓))‘𝑛) = ((𝑘𝐴𝐵)‘(𝐹‘(𝑓𝑛))))
4419, 20, 21, 29, 43fprod 16021 . . . . . . 7 ((𝜑 ∧ ((♯‘𝐶) ∈ ℕ ∧ 𝑓:(1...(♯‘𝐶))–1-1-onto𝐶)) → ∏𝑚𝐶 ((𝑘𝐴𝐵)‘(𝐹𝑚)) = (seq1( · , ((𝑘𝐴𝐵) ∘ (𝐹𝑓)))‘(♯‘𝐶)))
45 fprodf1o.4 . . . . . . . . . . . . . 14 ((𝜑𝑛𝐶) → (𝐹𝑛) = 𝐺)
4623ffvelcdmda 7086 . . . . . . . . . . . . . 14 ((𝜑𝑛𝐶) → (𝐹𝑛) ∈ 𝐴)
4745, 46eqeltrrd 2867 . . . . . . . . . . . . 13 ((𝜑𝑛𝐶) → 𝐺𝐴)
48 fprodf1o.1 . . . . . . . . . . . . . 14 (𝑘 = 𝐺𝐵 = 𝐷)
49 eqid 2766 . . . . . . . . . . . . . 14 (𝑘𝐴𝐵) = (𝑘𝐴𝐵)
5048, 49fvmpti 6995 . . . . . . . . . . . . 13 (𝐺𝐴 → ((𝑘𝐴𝐵)‘𝐺) = ( I ‘𝐷))
5147, 50syl 18 . . . . . . . . . . . 12 ((𝜑𝑛𝐶) → ((𝑘𝐴𝐵)‘𝐺) = ( I ‘𝐷))
5245fveq2d 6892 . . . . . . . . . . . 12 ((𝜑𝑛𝐶) → ((𝑘𝐴𝐵)‘(𝐹𝑛)) = ((𝑘𝐴𝐵)‘𝐺))
53 eqid 2766 . . . . . . . . . . . . . 14 (𝑛𝐶𝐷) = (𝑛𝐶𝐷)
5453fvmpt2i 7007 . . . . . . . . . . . . 13 (𝑛𝐶 → ((𝑛𝐶𝐷)‘𝑛) = ( I ‘𝐷))
5554adantl 487 . . . . . . . . . . . 12 ((𝜑𝑛𝐶) → ((𝑛𝐶𝐷)‘𝑛) = ( I ‘𝐷))
5651, 52, 553eqtr4rd 2812 . . . . . . . . . . 11 ((𝜑𝑛𝐶) → ((𝑛𝐶𝐷)‘𝑛) = ((𝑘𝐴𝐵)‘(𝐹𝑛)))
5756ralrimiva 3160 . . . . . . . . . 10 (𝜑 → ∀𝑛𝐶 ((𝑛𝐶𝐷)‘𝑛) = ((𝑘𝐴𝐵)‘(𝐹𝑛)))
58 nffvmpt1 6899 . . . . . . . . . . . 12 𝑛((𝑛𝐶𝐷)‘𝑚)
5958nfeq1 2943 . . . . . . . . . . 11 𝑛((𝑛𝐶𝐷)‘𝑚) = ((𝑘𝐴𝐵)‘(𝐹𝑚))
60 fveq2 6888 . . . . . . . . . . . 12 (𝑛 = 𝑚 → ((𝑛𝐶𝐷)‘𝑛) = ((𝑛𝐶𝐷)‘𝑚))
61 2fveq3 6893 . . . . . . . . . . . 12 (𝑛 = 𝑚 → ((𝑘𝐴𝐵)‘(𝐹𝑛)) = ((𝑘𝐴𝐵)‘(𝐹𝑚)))
6260, 61eqeq12d 2782 . . . . . . . . . . 11 (𝑛 = 𝑚 → (((𝑛𝐶𝐷)‘𝑛) = ((𝑘𝐴𝐵)‘(𝐹𝑛)) ↔ ((𝑛𝐶𝐷)‘𝑚) = ((𝑘𝐴𝐵)‘(𝐹𝑚))))
6359, 62rspc 3572 . . . . . . . . . 10 (𝑚𝐶 → (∀𝑛𝐶 ((𝑛𝐶𝐷)‘𝑛) = ((𝑘𝐴𝐵)‘(𝐹𝑛)) → ((𝑛𝐶𝐷)‘𝑚) = ((𝑘𝐴𝐵)‘(𝐹𝑚))))
6457, 63mpan9 516 . . . . . . . . 9 ((𝜑𝑚𝐶) → ((𝑛𝐶𝐷)‘𝑚) = ((𝑘𝐴𝐵)‘(𝐹𝑚)))
6564adantlr 728 . . . . . . . 8 (((𝜑 ∧ ((♯‘𝐶) ∈ ℕ ∧ 𝑓:(1...(♯‘𝐶))–1-1-onto𝐶)) ∧ 𝑚𝐶) → ((𝑛𝐶𝐷)‘𝑚) = ((𝑘𝐴𝐵)‘(𝐹𝑚)))
6665prodeq2dv 16002 . . . . . . 7 ((𝜑 ∧ ((♯‘𝐶) ∈ ℕ ∧ 𝑓:(1...(♯‘𝐶))–1-1-onto𝐶)) → ∏𝑚𝐶 ((𝑛𝐶𝐷)‘𝑚) = ∏𝑚𝐶 ((𝑘𝐴𝐵)‘(𝐹𝑚)))
67 fveq2 6888 . . . . . . . 8 (𝑚 = ((𝐹𝑓)‘𝑛) → ((𝑘𝐴𝐵)‘𝑚) = ((𝑘𝐴𝐵)‘((𝐹𝑓)‘𝑛)))
6826adantr 486 . . . . . . . . 9 ((𝜑 ∧ ((♯‘𝐶) ∈ ℕ ∧ 𝑓:(1...(♯‘𝐶))–1-1-onto𝐶)) → (𝑘𝐴𝐵):𝐴⟶ℂ)
6968ffvelcdmda 7086 . . . . . . . 8 (((𝜑 ∧ ((♯‘𝐶) ∈ ℕ ∧ 𝑓:(1...(♯‘𝐶))–1-1-onto𝐶)) ∧ 𝑚𝐴) → ((𝑘𝐴𝐵)‘𝑚) ∈ ℂ)
7067, 20, 32, 69, 36fprod 16021 . . . . . . 7 ((𝜑 ∧ ((♯‘𝐶) ∈ ℕ ∧ 𝑓:(1...(♯‘𝐶))–1-1-onto𝐶)) → ∏𝑚𝐴 ((𝑘𝐴𝐵)‘𝑚) = (seq1( · , ((𝑘𝐴𝐵) ∘ (𝐹𝑓)))‘(♯‘𝐶)))
7144, 66, 703eqtr4rd 2812 . . . . . 6 ((𝜑 ∧ ((♯‘𝐶) ∈ ℕ ∧ 𝑓:(1...(♯‘𝐶))–1-1-onto𝐶)) → ∏𝑚𝐴 ((𝑘𝐴𝐵)‘𝑚) = ∏𝑚𝐶 ((𝑛𝐶𝐷)‘𝑚))
72 prodfc 16025 . . . . . 6 𝑚𝐴 ((𝑘𝐴𝐵)‘𝑚) = ∏𝑘𝐴 𝐵
73 prodfc 16025 . . . . . 6 𝑚𝐶 ((𝑛𝐶𝐷)‘𝑚) = ∏𝑛𝐶 𝐷
7471, 72, 733eqtr3g 2824 . . . . 5 ((𝜑 ∧ ((♯‘𝐶) ∈ ℕ ∧ 𝑓:(1...(♯‘𝐶))–1-1-onto𝐶)) → ∏𝑘𝐴 𝐵 = ∏𝑛𝐶 𝐷)
7574expr 462 . . . 4 ((𝜑 ∧ (♯‘𝐶) ∈ ℕ) → (𝑓:(1...(♯‘𝐶))–1-1-onto𝐶 → ∏𝑘𝐴 𝐵 = ∏𝑛𝐶 𝐷))
7675exlimdv 1966 . . 3 ((𝜑 ∧ (♯‘𝐶) ∈ ℕ) → (∃𝑓 𝑓:(1...(♯‘𝐶))–1-1-onto𝐶 → ∏𝑘𝐴 𝐵 = ∏𝑛𝐶 𝐷))
7776expimpd 459 . 2 (𝜑 → (((♯‘𝐶) ∈ ℕ ∧ ∃𝑓 𝑓:(1...(♯‘𝐶))–1-1-onto𝐶) → ∏𝑘𝐴 𝐵 = ∏𝑛𝐶 𝐷))
78 fprodf1o.2 . . 3 (𝜑𝐶 ∈ Fin)
79 fz1f1o 15787 . . 3 (𝐶 ∈ Fin → (𝐶 = ∅ ∨ ((♯‘𝐶) ∈ ℕ ∧ ∃𝑓 𝑓:(1...(♯‘𝐶))–1-1-onto𝐶)))
8078, 79syl 18 . 2 (𝜑 → (𝐶 = ∅ ∨ ((♯‘𝐶) ∈ ℕ ∧ ∃𝑓 𝑓:(1...(♯‘𝐶))–1-1-onto𝐶)))
8118, 77, 80mpjaod 874 1 (𝜑 → ∏𝑘𝐴 𝐵 = ∏𝑛𝐶 𝐷)
Colors of variables:    wff setvar class
This proof depends on syntax axioms:  wi 4  wb 209  wa 401  wo 861   = wceq 1570  wex 1812  wcel 2146  wral 3082  c0 4289  cmpt 5197   I cid 5560  ccom 5670  wf 6539  ontowfo 6541  1-1-ontowf1o 6542  cfv 6543  (class class class)co 7423  Fincfn 8952  cc 11116  1c1 11119   · cmul 11123  cn 12251  ...cfz 13553  seqcseq 14057  chash 14386  cprod 15983
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1828  ax-4 1842  ax-5 1943  ax-6 2000  ax-7 2041  ax-8 2148  ax-9 2156  ax-10 2179  ax-11 2195  ax-12 2216  ax-ext 2738  ax-rep 5243  ax-sep 5262  ax-nul 5274  ax-pow 5341  ax-pr 5409  ax-un 7745  ax-inf2 9620  ax-cnex 11174  ax-resscn 11175  ax-1cn 11176  ax-icn 11177  ax-addcl 11178  ax-addrcl 11179  ax-mulcl 11180  ax-mulrcl 11181  ax-mulcom 11182  ax-addass 11183  ax-mulass 11184  ax-distr 11185  ax-i2m1 11186  ax-1ne0 11187  ax-1rid 11188  ax-rnegex 11189  ax-rrecex 11190  ax-cnre 11191  ax-pre-lttri 11192  ax-pre-lttrn 11193  ax-pre-ltadd 11194  ax-pre-mulgt0 11195  ax-pre-sup 11196
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3or 1104  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1813  df-nf 1817  df-sb 2100  df-mo 2570  df-eu 2600  df-clab 2745  df-cleq 2758  df-clel 2841  df-nfc 2915  df-ne 2962  df-nel 3068  df-ral 3083  df-rex 3093  df-rmo 3372  df-reu 3373  df-rab 3420  df-v 3460  df-sbc 3748  df-csb 3857  df-dif 3911  df-un 3913  df-in 3915  df-ss 3925  df-pss 3928  df-nul 4290  df-if 4493  df-pw 4569  df-sn 4595  df-pr 4597  df-op 4601  df-uni 4878  df-int 4918  df-iun 4963  df-br 5115  df-opab 5179  df-mpt 5198  df-tr 5224  df-id 5561  df-eprel 5566  df-po 5574  df-so 5575  df-fr 5619  df-se 5620  df-we 5621  df-xp 5672  df-rel 5673  df-cnv 5674  df-co 5675  df-dm 5676  df-rn 5677  df-res 5678  df-ima 5679  df-pred 6309  df-ord 6370  df-on 6371  df-lim 6372  df-suc 6373  df-iota 6499  df-fun 6545  df-fn 6546  df-f 6547  df-f1 6548  df-fo 6549  df-f1o 6550  df-fv 6551  df-isom 6552  df-riota 7380  df-ov 7426  df-oprab 7427  df-mpo 7428  df-om 7872  df-1st 7995  df-2nd 7996  df-frecs 8287  df-wrecs 8318  df-recs 8367  df-rdg 8406  df-1o 8462  df-er 8703  df-en 8953  df-dom 8954  df-sdom 8955  df-fin 8956  df-sup 9412  df-oi 9482  df-card 9944  df-pnf 11263  df-mnf 11264  df-xr 11265  df-ltxr 11266  df-le 11267  df-sub 11461  df-neg 11462  df-div 11890  df-nn 12252  df-2 12321  df-3 12322  df-n0 12523  df-z 12610  df-uz 12881  df-rp 13035  df-fz 13554  df-fzo 13702  df-seq 14058  df-exp 14118  df-hash 14387  df-cj 15176  df-re 15177  df-im 15178  df-sqrt 15312  df-abs 15313  df-clim 15565  df-prod 15984
This theorem is used by:  fprodss  16028  fprodshft  16056  fprodrev  16057  fprod2dlem  16060  fprodcnv  16063  gausslemma2dlem1  27567  hgt750lemg  35073
  Copyright terms: Public domain W3C validator