Description: One way to prove that an algorithm halts is to construct a countdown function C : S --> NN0 whose value is guaranteed to decrease for each iteration of F until it reaches 0 . That is, if X e. S is not a fixed point of F , then ( C( FX ) ) < ( CX ) .
If C is a countdown function for algorithm F , the sequence ( C( Rk ) ) reaches 0 after at most N steps, where N is the value of C for the initial state A . (Contributed by Paul Chapman, 22-Jun-2011)
Ref | Expression | ||
---|---|---|---|
Hypotheses | algcvg.1 | |
|
algcvg.2 | |
||
algcvg.3 | |
||
algcvg.4 | |
||
algcvg.5 | |
||
Assertion | algcvg | |
Step | Hyp | Ref | Expression |
---|---|---|---|
1 | algcvg.1 | |
|
2 | algcvg.2 | |
|
3 | algcvg.3 | |
|
4 | algcvg.4 | |
|
5 | algcvg.5 | |
|
6 | nn0uz | |
|
7 | 0zd | |
|
8 | id | |
|
9 | 1 | a1i | |
10 | 6 2 7 8 9 | algrf | |
11 | 3 | ffvelcdmi | |
12 | 5 11 | eqeltrid | |
13 | fvco3 | |
|
14 | 10 12 13 | syl2anc | |
15 | fco | |
|
16 | 3 10 15 | sylancr | |
17 | 0nn0 | |
|
18 | fvco3 | |
|
19 | 10 17 18 | sylancl | |
20 | 6 2 7 8 | algr0 | |
21 | 20 | fveq2d | |
22 | 19 21 | eqtrd | |
23 | 5 22 | eqtr4id | |
24 | 10 | ffvelcdmda | |
25 | 2fveq3 | |
|
26 | 25 | neeq1d | |
27 | fveq2 | |
|
28 | 25 27 | breq12d | |
29 | 26 28 | imbi12d | |
30 | 29 4 | vtoclga | |
31 | 24 30 | syl | |
32 | peano2nn0 | |
|
33 | fvco3 | |
|
34 | 10 32 33 | syl2an | |
35 | 6 2 7 8 9 | algrp1 | |
36 | 35 | fveq2d | |
37 | 34 36 | eqtrd | |
38 | 37 | neeq1d | |
39 | fvco3 | |
|
40 | 10 39 | sylan | |
41 | 37 40 | breq12d | |
42 | 31 38 41 | 3imtr4d | |
43 | 16 23 42 | nn0seqcvgd | |
44 | 14 43 | eqtr3d | |