Metamath Proof Explorer


Theorem fzrevral

Description: Reversal of scanning order inside of a universal quantification restricted to a finite set of sequential integers. (Contributed by NM, 25-Nov-2005)

Ref Expression
Assertion fzrevral ( ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ 𝐾 ∈ ℤ ) → ( ∀ 𝑗 ∈ ( 𝑀 ... 𝑁 ) 𝜑 ↔ ∀ 𝑘 ∈ ( ( 𝐾𝑁 ) ... ( 𝐾𝑀 ) ) [ ( 𝐾𝑘 ) / 𝑗 ] 𝜑 ) )

Proof

Step Hyp Ref Expression
1 simpr ( ( ( ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) ∧ 𝐾 ∈ ℤ ) ∧ 𝑘 ∈ ( ( 𝐾𝑁 ) ... ( 𝐾𝑀 ) ) ) → 𝑘 ∈ ( ( 𝐾𝑁 ) ... ( 𝐾𝑀 ) ) )
2 elfzelz ( 𝑘 ∈ ( ( 𝐾𝑁 ) ... ( 𝐾𝑀 ) ) → 𝑘 ∈ ℤ )
3 fzrev ( ( ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) ∧ ( 𝐾 ∈ ℤ ∧ 𝑘 ∈ ℤ ) ) → ( 𝑘 ∈ ( ( 𝐾𝑁 ) ... ( 𝐾𝑀 ) ) ↔ ( 𝐾𝑘 ) ∈ ( 𝑀 ... 𝑁 ) ) )
4 3 anassrs ( ( ( ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) ∧ 𝐾 ∈ ℤ ) ∧ 𝑘 ∈ ℤ ) → ( 𝑘 ∈ ( ( 𝐾𝑁 ) ... ( 𝐾𝑀 ) ) ↔ ( 𝐾𝑘 ) ∈ ( 𝑀 ... 𝑁 ) ) )
5 2 4 sylan2 ( ( ( ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) ∧ 𝐾 ∈ ℤ ) ∧ 𝑘 ∈ ( ( 𝐾𝑁 ) ... ( 𝐾𝑀 ) ) ) → ( 𝑘 ∈ ( ( 𝐾𝑁 ) ... ( 𝐾𝑀 ) ) ↔ ( 𝐾𝑘 ) ∈ ( 𝑀 ... 𝑁 ) ) )
6 1 5 mpbid ( ( ( ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) ∧ 𝐾 ∈ ℤ ) ∧ 𝑘 ∈ ( ( 𝐾𝑁 ) ... ( 𝐾𝑀 ) ) ) → ( 𝐾𝑘 ) ∈ ( 𝑀 ... 𝑁 ) )
7 rspsbc ( ( 𝐾𝑘 ) ∈ ( 𝑀 ... 𝑁 ) → ( ∀ 𝑗 ∈ ( 𝑀 ... 𝑁 ) 𝜑[ ( 𝐾𝑘 ) / 𝑗 ] 𝜑 ) )
8 6 7 syl ( ( ( ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) ∧ 𝐾 ∈ ℤ ) ∧ 𝑘 ∈ ( ( 𝐾𝑁 ) ... ( 𝐾𝑀 ) ) ) → ( ∀ 𝑗 ∈ ( 𝑀 ... 𝑁 ) 𝜑[ ( 𝐾𝑘 ) / 𝑗 ] 𝜑 ) )
9 8 ex3 ( ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ 𝐾 ∈ ℤ ) → ( 𝑘 ∈ ( ( 𝐾𝑁 ) ... ( 𝐾𝑀 ) ) → ( ∀ 𝑗 ∈ ( 𝑀 ... 𝑁 ) 𝜑[ ( 𝐾𝑘 ) / 𝑗 ] 𝜑 ) ) )
10 9 com23 ( ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ 𝐾 ∈ ℤ ) → ( ∀ 𝑗 ∈ ( 𝑀 ... 𝑁 ) 𝜑 → ( 𝑘 ∈ ( ( 𝐾𝑁 ) ... ( 𝐾𝑀 ) ) → [ ( 𝐾𝑘 ) / 𝑗 ] 𝜑 ) ) )
11 10 ralrimdv ( ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ 𝐾 ∈ ℤ ) → ( ∀ 𝑗 ∈ ( 𝑀 ... 𝑁 ) 𝜑 → ∀ 𝑘 ∈ ( ( 𝐾𝑁 ) ... ( 𝐾𝑀 ) ) [ ( 𝐾𝑘 ) / 𝑗 ] 𝜑 ) )
12 nfv 𝑗 𝐾 ∈ ℤ
13 nfcv 𝑗 ( ( 𝐾𝑁 ) ... ( 𝐾𝑀 ) )
14 nfsbc1v 𝑗 [ ( 𝐾𝑘 ) / 𝑗 ] 𝜑
15 13 14 nfralw 𝑗𝑘 ∈ ( ( 𝐾𝑁 ) ... ( 𝐾𝑀 ) ) [ ( 𝐾𝑘 ) / 𝑗 ] 𝜑
16 fzrev2i ( ( 𝐾 ∈ ℤ ∧ 𝑗 ∈ ( 𝑀 ... 𝑁 ) ) → ( 𝐾𝑗 ) ∈ ( ( 𝐾𝑁 ) ... ( 𝐾𝑀 ) ) )
17 oveq2 ( 𝑘 = ( 𝐾𝑗 ) → ( 𝐾𝑘 ) = ( 𝐾 − ( 𝐾𝑗 ) ) )
18 17 sbceq1d ( 𝑘 = ( 𝐾𝑗 ) → ( [ ( 𝐾𝑘 ) / 𝑗 ] 𝜑[ ( 𝐾 − ( 𝐾𝑗 ) ) / 𝑗 ] 𝜑 ) )
19 18 rspcv ( ( 𝐾𝑗 ) ∈ ( ( 𝐾𝑁 ) ... ( 𝐾𝑀 ) ) → ( ∀ 𝑘 ∈ ( ( 𝐾𝑁 ) ... ( 𝐾𝑀 ) ) [ ( 𝐾𝑘 ) / 𝑗 ] 𝜑[ ( 𝐾 − ( 𝐾𝑗 ) ) / 𝑗 ] 𝜑 ) )
20 16 19 syl ( ( 𝐾 ∈ ℤ ∧ 𝑗 ∈ ( 𝑀 ... 𝑁 ) ) → ( ∀ 𝑘 ∈ ( ( 𝐾𝑁 ) ... ( 𝐾𝑀 ) ) [ ( 𝐾𝑘 ) / 𝑗 ] 𝜑[ ( 𝐾 − ( 𝐾𝑗 ) ) / 𝑗 ] 𝜑 ) )
21 zcn ( 𝐾 ∈ ℤ → 𝐾 ∈ ℂ )
22 elfzelz ( 𝑗 ∈ ( 𝑀 ... 𝑁 ) → 𝑗 ∈ ℤ )
23 22 zcnd ( 𝑗 ∈ ( 𝑀 ... 𝑁 ) → 𝑗 ∈ ℂ )
24 nncan ( ( 𝐾 ∈ ℂ ∧ 𝑗 ∈ ℂ ) → ( 𝐾 − ( 𝐾𝑗 ) ) = 𝑗 )
25 21 23 24 syl2an ( ( 𝐾 ∈ ℤ ∧ 𝑗 ∈ ( 𝑀 ... 𝑁 ) ) → ( 𝐾 − ( 𝐾𝑗 ) ) = 𝑗 )
26 25 eqcomd ( ( 𝐾 ∈ ℤ ∧ 𝑗 ∈ ( 𝑀 ... 𝑁 ) ) → 𝑗 = ( 𝐾 − ( 𝐾𝑗 ) ) )
27 sbceq1a ( 𝑗 = ( 𝐾 − ( 𝐾𝑗 ) ) → ( 𝜑[ ( 𝐾 − ( 𝐾𝑗 ) ) / 𝑗 ] 𝜑 ) )
28 26 27 syl ( ( 𝐾 ∈ ℤ ∧ 𝑗 ∈ ( 𝑀 ... 𝑁 ) ) → ( 𝜑[ ( 𝐾 − ( 𝐾𝑗 ) ) / 𝑗 ] 𝜑 ) )
29 20 28 sylibrd ( ( 𝐾 ∈ ℤ ∧ 𝑗 ∈ ( 𝑀 ... 𝑁 ) ) → ( ∀ 𝑘 ∈ ( ( 𝐾𝑁 ) ... ( 𝐾𝑀 ) ) [ ( 𝐾𝑘 ) / 𝑗 ] 𝜑𝜑 ) )
30 29 ex ( 𝐾 ∈ ℤ → ( 𝑗 ∈ ( 𝑀 ... 𝑁 ) → ( ∀ 𝑘 ∈ ( ( 𝐾𝑁 ) ... ( 𝐾𝑀 ) ) [ ( 𝐾𝑘 ) / 𝑗 ] 𝜑𝜑 ) ) )
31 30 com23 ( 𝐾 ∈ ℤ → ( ∀ 𝑘 ∈ ( ( 𝐾𝑁 ) ... ( 𝐾𝑀 ) ) [ ( 𝐾𝑘 ) / 𝑗 ] 𝜑 → ( 𝑗 ∈ ( 𝑀 ... 𝑁 ) → 𝜑 ) ) )
32 12 15 31 ralrimd ( 𝐾 ∈ ℤ → ( ∀ 𝑘 ∈ ( ( 𝐾𝑁 ) ... ( 𝐾𝑀 ) ) [ ( 𝐾𝑘 ) / 𝑗 ] 𝜑 → ∀ 𝑗 ∈ ( 𝑀 ... 𝑁 ) 𝜑 ) )
33 32 3ad2ant3 ( ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ 𝐾 ∈ ℤ ) → ( ∀ 𝑘 ∈ ( ( 𝐾𝑁 ) ... ( 𝐾𝑀 ) ) [ ( 𝐾𝑘 ) / 𝑗 ] 𝜑 → ∀ 𝑗 ∈ ( 𝑀 ... 𝑁 ) 𝜑 ) )
34 11 33 impbid ( ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ 𝐾 ∈ ℤ ) → ( ∀ 𝑗 ∈ ( 𝑀 ... 𝑁 ) 𝜑 ↔ ∀ 𝑘 ∈ ( ( 𝐾𝑁 ) ... ( 𝐾𝑀 ) ) [ ( 𝐾𝑘 ) / 𝑗 ] 𝜑 ) )