Metamath Proof Explorer


Theorem fzshftral

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

Ref Expression
Assertion fzshftral ⊢ M ∈ ℤ ∧ N ∈ ℤ ∧ K ∈ ℤ → ∀ j ∈ M … N φ ↔ ∀ k ∈ M + K … N + K [˙k − K / j]˙ φ

Proof

Step Hyp Ref Expression
1 0z ⊢ 0 ∈ ℤ
2 fzrevral ⊢ M ∈ ℤ ∧ N ∈ ℤ ∧ 0 ∈ ℤ → ∀ j ∈ M … N φ ↔ ∀ x ∈ 0 − N … 0 − M [˙ 0 − x / j]˙ φ
3 1 2 mp3an3 ⊢ M ∈ ℤ ∧ N ∈ ℤ → ∀ j ∈ M … N φ ↔ ∀ x ∈ 0 − N … 0 − M [˙ 0 − x / j]˙ φ
4 3 3adant3 ⊢ M ∈ ℤ ∧ N ∈ ℤ ∧ K ∈ ℤ → ∀ j ∈ M … N φ ↔ ∀ x ∈ 0 − N … 0 − M [˙ 0 − x / j]˙ φ
5 zsubcl ⊢ 0 ∈ ℤ ∧ N ∈ ℤ → 0 − N ∈ ℤ
6 1 5 mpan ⊢ N ∈ ℤ → 0 − N ∈ ℤ
7 zsubcl ⊢ 0 ∈ ℤ ∧ M ∈ ℤ → 0 − M ∈ ℤ
8 1 7 mpan ⊢ M ∈ ℤ → 0 − M ∈ ℤ
9 id ⊢ K ∈ ℤ → K ∈ ℤ
10 fzrevral ⊢ 0 − N ∈ ℤ ∧ 0 − M ∈ ℤ ∧ K ∈ ℤ → ∀ x ∈ 0 − N … 0 − M [˙ 0 − x / j]˙ φ ↔ ∀ k ∈ K − 0 − M … K − 0 − N [˙K − k / x]˙ [˙ 0 − x / j]˙ φ
11 6 8 9 10 syl3an ⊢ N ∈ ℤ ∧ M ∈ ℤ ∧ K ∈ ℤ → ∀ x ∈ 0 − N … 0 − M [˙ 0 − x / j]˙ φ ↔ ∀ k ∈ K − 0 − M … K − 0 − N [˙K − k / x]˙ [˙ 0 − x / j]˙ φ
12 11 3com12 ⊢ M ∈ ℤ ∧ N ∈ ℤ ∧ K ∈ ℤ → ∀ x ∈ 0 − N … 0 − M [˙ 0 − x / j]˙ φ ↔ ∀ k ∈ K − 0 − M … K − 0 − N [˙K − k / x]˙ [˙ 0 − x / j]˙ φ
13 ovex ⊢ K − k ∈ V
14 oveq2 ⊢ x = K − k → 0 − x = 0 − K − k
15 14 sbcco3gw ⊢ K − k ∈ V → [˙K − k / x]˙ [˙ 0 − x / j]˙ φ ↔ [˙ 0 − K − k / j]˙ φ
16 13 15 ax-mp ⊢ [˙K − k / x]˙ [˙ 0 − x / j]˙ φ ↔ [˙ 0 − K − k / j]˙ φ
17 16 ralbii ⊢ ∀ k ∈ K − 0 − M … K − 0 − N [˙K − k / x]˙ [˙ 0 − x / j]˙ φ ↔ ∀ k ∈ K − 0 − M … K − 0 − N [˙ 0 − K − k / j]˙ φ
18 zcn ⊢ M ∈ ℤ → M ∈ ℂ
19 zcn ⊢ N ∈ ℤ → N ∈ ℂ
20 zcn ⊢ K ∈ ℤ → K ∈ ℂ
21 df-neg ⊢ − M = 0 − M
22 21 oveq2i ⊢ K − -M = K − 0 − M
23 subneg ⊢ K ∈ ℂ ∧ M ∈ ℂ → K − -M = K + M
24 addcom ⊢ K ∈ ℂ ∧ M ∈ ℂ → K + M = M + K
25 23 24 eqtrd ⊢ K ∈ ℂ ∧ M ∈ ℂ → K − -M = M + K
26 22 25 eqtr3id ⊢ K ∈ ℂ ∧ M ∈ ℂ → K − 0 − M = M + K
27 26 3adant3 ⊢ K ∈ ℂ ∧ M ∈ ℂ ∧ N ∈ ℂ → K − 0 − M = M + K
28 df-neg ⊢ − N = 0 − N
29 28 oveq2i ⊢ K − -N = K − 0 − N
30 subneg ⊢ K ∈ ℂ ∧ N ∈ ℂ → K − -N = K + N
31 addcom ⊢ K ∈ ℂ ∧ N ∈ ℂ → K + N = N + K
32 30 31 eqtrd ⊢ K ∈ ℂ ∧ N ∈ ℂ → K − -N = N + K
33 29 32 eqtr3id ⊢ K ∈ ℂ ∧ N ∈ ℂ → K − 0 − N = N + K
34 33 3adant2 ⊢ K ∈ ℂ ∧ M ∈ ℂ ∧ N ∈ ℂ → K − 0 − N = N + K
35 27 34 oveq12d ⊢ K ∈ ℂ ∧ M ∈ ℂ ∧ N ∈ ℂ → K − 0 − M … K − 0 − N = M + K … N + K
36 35 3coml ⊢ M ∈ ℂ ∧ N ∈ ℂ ∧ K ∈ ℂ → K − 0 − M … K − 0 − N = M + K … N + K
37 18 19 20 36 syl3an ⊢ M ∈ ℤ ∧ N ∈ ℤ ∧ K ∈ ℤ → K − 0 − M … K − 0 − N = M + K … N + K
38 37 raleqdv ⊢ M ∈ ℤ ∧ N ∈ ℤ ∧ K ∈ ℤ → ∀ k ∈ K − 0 − M … K − 0 − N [˙ 0 − K − k / j]˙ φ ↔ ∀ k ∈ M + K … N + K [˙ 0 − K − k / j]˙ φ
39 elfzelz ⊢ k ∈ M + K … N + K → k ∈ ℤ
40 39 zcnd ⊢ k ∈ M + K … N + K → k ∈ ℂ
41 df-neg ⊢ − K − k = 0 − K − k
42 negsubdi2 ⊢ K ∈ ℂ ∧ k ∈ ℂ → − K − k = k − K
43 41 42 eqtr3id ⊢ K ∈ ℂ ∧ k ∈ ℂ → 0 − K − k = k − K
44 20 40 43 syl2an ⊢ K ∈ ℤ ∧ k ∈ M + K … N + K → 0 − K − k = k − K
45 44 sbceq1d ⊢ K ∈ ℤ ∧ k ∈ M + K … N + K → [˙ 0 − K − k / j]˙ φ ↔ [˙k − K / j]˙ φ
46 45 ralbidva ⊢ K ∈ ℤ → ∀ k ∈ M + K … N + K [˙ 0 − K − k / j]˙ φ ↔ ∀ k ∈ M + K … N + K [˙k − K / j]˙ φ
47 46 3ad2ant3 ⊢ M ∈ ℤ ∧ N ∈ ℤ ∧ K ∈ ℤ → ∀ k ∈ M + K … N + K [˙ 0 − K − k / j]˙ φ ↔ ∀ k ∈ M + K … N + K [˙k − K / j]˙ φ
48 38 47 bitrd ⊢ M ∈ ℤ ∧ N ∈ ℤ ∧ K ∈ ℤ → ∀ k ∈ K − 0 − M … K − 0 − N [˙ 0 − K − k / j]˙ φ ↔ ∀ k ∈ M + K … N + K [˙k − K / j]˙ φ
49 17 48 bitrid ⊢ M ∈ ℤ ∧ N ∈ ℤ ∧ K ∈ ℤ → ∀ k ∈ K − 0 − M … K − 0 − N [˙K − k / x]˙ [˙ 0 − x / j]˙ φ ↔ ∀ k ∈ M + K … N + K [˙k − K / j]˙ φ
50 4 12 49 3bitrd ⊢ M ∈ ℤ ∧ N ∈ ℤ ∧ K ∈ ℤ → ∀ j ∈ M … N φ ↔ ∀ k ∈ M + K … N + K [˙k − K / j]˙ φ