Metamath Proof Explorer


Theorem algfx

Description: If F reaches a fixed point when the countdown function C reaches 0 , F remains fixed after N steps. (Contributed by Paul Chapman, 22-Jun-2011)

Ref Expression
Hypotheses algcvga.1 𝐹 : 𝑆𝑆
algcvga.2 𝑅 = seq 0 ( ( 𝐹 ∘ 1st ) , ( ℕ0 × { 𝐴 } ) )
algcvga.3 𝐶 : 𝑆 ⟶ ℕ0
algcvga.4 ( 𝑧𝑆 → ( ( 𝐶 ‘ ( 𝐹𝑧 ) ) ≠ 0 → ( 𝐶 ‘ ( 𝐹𝑧 ) ) < ( 𝐶𝑧 ) ) )
algcvga.5 𝑁 = ( 𝐶𝐴 )
algfx.6 ( 𝑧𝑆 → ( ( 𝐶𝑧 ) = 0 → ( 𝐹𝑧 ) = 𝑧 ) )
Assertion algfx ( 𝐴𝑆 → ( 𝐾 ∈ ( ℤ𝑁 ) → ( 𝑅𝐾 ) = ( 𝑅𝑁 ) ) )

Proof

Step Hyp Ref Expression
1 algcvga.1 𝐹 : 𝑆𝑆
2 algcvga.2 𝑅 = seq 0 ( ( 𝐹 ∘ 1st ) , ( ℕ0 × { 𝐴 } ) )
3 algcvga.3 𝐶 : 𝑆 ⟶ ℕ0
4 algcvga.4 ( 𝑧𝑆 → ( ( 𝐶 ‘ ( 𝐹𝑧 ) ) ≠ 0 → ( 𝐶 ‘ ( 𝐹𝑧 ) ) < ( 𝐶𝑧 ) ) )
5 algcvga.5 𝑁 = ( 𝐶𝐴 )
6 algfx.6 ( 𝑧𝑆 → ( ( 𝐶𝑧 ) = 0 → ( 𝐹𝑧 ) = 𝑧 ) )
7 3 ffvelrni ( 𝐴𝑆 → ( 𝐶𝐴 ) ∈ ℕ0 )
8 5 7 eqeltrid ( 𝐴𝑆𝑁 ∈ ℕ0 )
9 8 nn0zd ( 𝐴𝑆𝑁 ∈ ℤ )
10 uzval ( 𝑁 ∈ ℤ → ( ℤ𝑁 ) = { 𝑧 ∈ ℤ ∣ 𝑁𝑧 } )
11 10 eleq2d ( 𝑁 ∈ ℤ → ( 𝐾 ∈ ( ℤ𝑁 ) ↔ 𝐾 ∈ { 𝑧 ∈ ℤ ∣ 𝑁𝑧 } ) )
12 11 pm5.32i ( ( 𝑁 ∈ ℤ ∧ 𝐾 ∈ ( ℤ𝑁 ) ) ↔ ( 𝑁 ∈ ℤ ∧ 𝐾 ∈ { 𝑧 ∈ ℤ ∣ 𝑁𝑧 } ) )
13 fveqeq2 ( 𝑚 = 𝑁 → ( ( 𝑅𝑚 ) = ( 𝑅𝑁 ) ↔ ( 𝑅𝑁 ) = ( 𝑅𝑁 ) ) )
14 13 imbi2d ( 𝑚 = 𝑁 → ( ( 𝐴𝑆 → ( 𝑅𝑚 ) = ( 𝑅𝑁 ) ) ↔ ( 𝐴𝑆 → ( 𝑅𝑁 ) = ( 𝑅𝑁 ) ) ) )
15 fveqeq2 ( 𝑚 = 𝑘 → ( ( 𝑅𝑚 ) = ( 𝑅𝑁 ) ↔ ( 𝑅𝑘 ) = ( 𝑅𝑁 ) ) )
16 15 imbi2d ( 𝑚 = 𝑘 → ( ( 𝐴𝑆 → ( 𝑅𝑚 ) = ( 𝑅𝑁 ) ) ↔ ( 𝐴𝑆 → ( 𝑅𝑘 ) = ( 𝑅𝑁 ) ) ) )
17 fveqeq2 ( 𝑚 = ( 𝑘 + 1 ) → ( ( 𝑅𝑚 ) = ( 𝑅𝑁 ) ↔ ( 𝑅 ‘ ( 𝑘 + 1 ) ) = ( 𝑅𝑁 ) ) )
18 17 imbi2d ( 𝑚 = ( 𝑘 + 1 ) → ( ( 𝐴𝑆 → ( 𝑅𝑚 ) = ( 𝑅𝑁 ) ) ↔ ( 𝐴𝑆 → ( 𝑅 ‘ ( 𝑘 + 1 ) ) = ( 𝑅𝑁 ) ) ) )
19 fveqeq2 ( 𝑚 = 𝐾 → ( ( 𝑅𝑚 ) = ( 𝑅𝑁 ) ↔ ( 𝑅𝐾 ) = ( 𝑅𝑁 ) ) )
20 19 imbi2d ( 𝑚 = 𝐾 → ( ( 𝐴𝑆 → ( 𝑅𝑚 ) = ( 𝑅𝑁 ) ) ↔ ( 𝐴𝑆 → ( 𝑅𝐾 ) = ( 𝑅𝑁 ) ) ) )
21 eqidd ( 𝐴𝑆 → ( 𝑅𝑁 ) = ( 𝑅𝑁 ) )
22 21 a1i ( 𝑁 ∈ ℤ → ( 𝐴𝑆 → ( 𝑅𝑁 ) = ( 𝑅𝑁 ) ) )
23 10 eleq2d ( 𝑁 ∈ ℤ → ( 𝑘 ∈ ( ℤ𝑁 ) ↔ 𝑘 ∈ { 𝑧 ∈ ℤ ∣ 𝑁𝑧 } ) )
24 23 pm5.32i ( ( 𝑁 ∈ ℤ ∧ 𝑘 ∈ ( ℤ𝑁 ) ) ↔ ( 𝑁 ∈ ℤ ∧ 𝑘 ∈ { 𝑧 ∈ ℤ ∣ 𝑁𝑧 } ) )
25 eluznn0 ( ( 𝑁 ∈ ℕ0𝑘 ∈ ( ℤ𝑁 ) ) → 𝑘 ∈ ℕ0 )
26 8 25 sylan ( ( 𝐴𝑆𝑘 ∈ ( ℤ𝑁 ) ) → 𝑘 ∈ ℕ0 )
27 nn0uz 0 = ( ℤ ‘ 0 )
28 0zd ( 𝐴𝑆 → 0 ∈ ℤ )
29 id ( 𝐴𝑆𝐴𝑆 )
30 1 a1i ( 𝐴𝑆𝐹 : 𝑆𝑆 )
31 27 2 28 29 30 algrp1 ( ( 𝐴𝑆𝑘 ∈ ℕ0 ) → ( 𝑅 ‘ ( 𝑘 + 1 ) ) = ( 𝐹 ‘ ( 𝑅𝑘 ) ) )
32 26 31 syldan ( ( 𝐴𝑆𝑘 ∈ ( ℤ𝑁 ) ) → ( 𝑅 ‘ ( 𝑘 + 1 ) ) = ( 𝐹 ‘ ( 𝑅𝑘 ) ) )
33 27 2 28 29 30 algrf ( 𝐴𝑆𝑅 : ℕ0𝑆 )
34 33 ffvelrnda ( ( 𝐴𝑆𝑘 ∈ ℕ0 ) → ( 𝑅𝑘 ) ∈ 𝑆 )
35 26 34 syldan ( ( 𝐴𝑆𝑘 ∈ ( ℤ𝑁 ) ) → ( 𝑅𝑘 ) ∈ 𝑆 )
36 1 2 3 4 5 algcvga ( 𝐴𝑆 → ( 𝑘 ∈ ( ℤ𝑁 ) → ( 𝐶 ‘ ( 𝑅𝑘 ) ) = 0 ) )
37 36 imp ( ( 𝐴𝑆𝑘 ∈ ( ℤ𝑁 ) ) → ( 𝐶 ‘ ( 𝑅𝑘 ) ) = 0 )
38 fveqeq2 ( 𝑧 = ( 𝑅𝑘 ) → ( ( 𝐶𝑧 ) = 0 ↔ ( 𝐶 ‘ ( 𝑅𝑘 ) ) = 0 ) )
39 fveq2 ( 𝑧 = ( 𝑅𝑘 ) → ( 𝐹𝑧 ) = ( 𝐹 ‘ ( 𝑅𝑘 ) ) )
40 id ( 𝑧 = ( 𝑅𝑘 ) → 𝑧 = ( 𝑅𝑘 ) )
41 39 40 eqeq12d ( 𝑧 = ( 𝑅𝑘 ) → ( ( 𝐹𝑧 ) = 𝑧 ↔ ( 𝐹 ‘ ( 𝑅𝑘 ) ) = ( 𝑅𝑘 ) ) )
42 38 41 imbi12d ( 𝑧 = ( 𝑅𝑘 ) → ( ( ( 𝐶𝑧 ) = 0 → ( 𝐹𝑧 ) = 𝑧 ) ↔ ( ( 𝐶 ‘ ( 𝑅𝑘 ) ) = 0 → ( 𝐹 ‘ ( 𝑅𝑘 ) ) = ( 𝑅𝑘 ) ) ) )
43 42 6 vtoclga ( ( 𝑅𝑘 ) ∈ 𝑆 → ( ( 𝐶 ‘ ( 𝑅𝑘 ) ) = 0 → ( 𝐹 ‘ ( 𝑅𝑘 ) ) = ( 𝑅𝑘 ) ) )
44 35 37 43 sylc ( ( 𝐴𝑆𝑘 ∈ ( ℤ𝑁 ) ) → ( 𝐹 ‘ ( 𝑅𝑘 ) ) = ( 𝑅𝑘 ) )
45 32 44 eqtrd ( ( 𝐴𝑆𝑘 ∈ ( ℤ𝑁 ) ) → ( 𝑅 ‘ ( 𝑘 + 1 ) ) = ( 𝑅𝑘 ) )
46 45 eqeq1d ( ( 𝐴𝑆𝑘 ∈ ( ℤ𝑁 ) ) → ( ( 𝑅 ‘ ( 𝑘 + 1 ) ) = ( 𝑅𝑁 ) ↔ ( 𝑅𝑘 ) = ( 𝑅𝑁 ) ) )
47 46 biimprd ( ( 𝐴𝑆𝑘 ∈ ( ℤ𝑁 ) ) → ( ( 𝑅𝑘 ) = ( 𝑅𝑁 ) → ( 𝑅 ‘ ( 𝑘 + 1 ) ) = ( 𝑅𝑁 ) ) )
48 47 expcom ( 𝑘 ∈ ( ℤ𝑁 ) → ( 𝐴𝑆 → ( ( 𝑅𝑘 ) = ( 𝑅𝑁 ) → ( 𝑅 ‘ ( 𝑘 + 1 ) ) = ( 𝑅𝑁 ) ) ) )
49 48 adantl ( ( 𝑁 ∈ ℤ ∧ 𝑘 ∈ ( ℤ𝑁 ) ) → ( 𝐴𝑆 → ( ( 𝑅𝑘 ) = ( 𝑅𝑁 ) → ( 𝑅 ‘ ( 𝑘 + 1 ) ) = ( 𝑅𝑁 ) ) ) )
50 24 49 sylbir ( ( 𝑁 ∈ ℤ ∧ 𝑘 ∈ { 𝑧 ∈ ℤ ∣ 𝑁𝑧 } ) → ( 𝐴𝑆 → ( ( 𝑅𝑘 ) = ( 𝑅𝑁 ) → ( 𝑅 ‘ ( 𝑘 + 1 ) ) = ( 𝑅𝑁 ) ) ) )
51 50 a2d ( ( 𝑁 ∈ ℤ ∧ 𝑘 ∈ { 𝑧 ∈ ℤ ∣ 𝑁𝑧 } ) → ( ( 𝐴𝑆 → ( 𝑅𝑘 ) = ( 𝑅𝑁 ) ) → ( 𝐴𝑆 → ( 𝑅 ‘ ( 𝑘 + 1 ) ) = ( 𝑅𝑁 ) ) ) )
52 14 16 18 20 22 51 uzind3 ( ( 𝑁 ∈ ℤ ∧ 𝐾 ∈ { 𝑧 ∈ ℤ ∣ 𝑁𝑧 } ) → ( 𝐴𝑆 → ( 𝑅𝐾 ) = ( 𝑅𝑁 ) ) )
53 12 52 sylbi ( ( 𝑁 ∈ ℤ ∧ 𝐾 ∈ ( ℤ𝑁 ) ) → ( 𝐴𝑆 → ( 𝑅𝐾 ) = ( 𝑅𝑁 ) ) )
54 53 ex ( 𝑁 ∈ ℤ → ( 𝐾 ∈ ( ℤ𝑁 ) → ( 𝐴𝑆 → ( 𝑅𝐾 ) = ( 𝑅𝑁 ) ) ) )
55 54 com3r ( 𝐴𝑆 → ( 𝑁 ∈ ℤ → ( 𝐾 ∈ ( ℤ𝑁 ) → ( 𝑅𝐾 ) = ( 𝑅𝑁 ) ) ) )
56 9 55 mpd ( 𝐴𝑆 → ( 𝐾 ∈ ( ℤ𝑁 ) → ( 𝑅𝐾 ) = ( 𝑅𝑁 ) ) )