This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Principle of Mathematical Induction, using a bound-variable hypothesis instead of distinct variables. (Contributed by Thierry Arnoux, 6-May-2018)
| Ref | Expression | ||
|---|---|---|---|
| Hypotheses | nnindf.x | |- F/ y ph |
|
| nnindf.1 | |- ( x = 1 -> ( ph <-> ps ) ) |
||
| nnindf.2 | |- ( x = y -> ( ph <-> ch ) ) |
||
| nnindf.3 | |- ( x = ( y + 1 ) -> ( ph <-> th ) ) |
||
| nnindf.4 | |- ( x = A -> ( ph <-> ta ) ) |
||
| nnindf.5 | |- ps |
||
| nnindf.6 | |- ( y e. NN -> ( ch -> th ) ) |
||
| Assertion | nnindf | |- ( A e. NN -> ta ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | nnindf.x | |- F/ y ph |
|
| 2 | nnindf.1 | |- ( x = 1 -> ( ph <-> ps ) ) |
|
| 3 | nnindf.2 | |- ( x = y -> ( ph <-> ch ) ) |
|
| 4 | nnindf.3 | |- ( x = ( y + 1 ) -> ( ph <-> th ) ) |
|
| 5 | nnindf.4 | |- ( x = A -> ( ph <-> ta ) ) |
|
| 6 | nnindf.5 | |- ps |
|
| 7 | nnindf.6 | |- ( y e. NN -> ( ch -> th ) ) |
|
| 8 | 1nn | |- 1 e. NN |
|
| 9 | 2 | elrab | |- ( 1 e. { x e. NN | ph } <-> ( 1 e. NN /\ ps ) ) |
| 10 | 8 6 9 | mpbir2an | |- 1 e. { x e. NN | ph } |
| 11 | elrabi | |- ( y e. { x e. NN | ph } -> y e. NN ) |
|
| 12 | peano2nn | |- ( y e. NN -> ( y + 1 ) e. NN ) |
|
| 13 | 12 | a1d | |- ( y e. NN -> ( y e. NN -> ( y + 1 ) e. NN ) ) |
| 14 | 13 7 | anim12d | |- ( y e. NN -> ( ( y e. NN /\ ch ) -> ( ( y + 1 ) e. NN /\ th ) ) ) |
| 15 | 3 | elrab | |- ( y e. { x e. NN | ph } <-> ( y e. NN /\ ch ) ) |
| 16 | 4 | elrab | |- ( ( y + 1 ) e. { x e. NN | ph } <-> ( ( y + 1 ) e. NN /\ th ) ) |
| 17 | 14 15 16 | 3imtr4g | |- ( y e. NN -> ( y e. { x e. NN | ph } -> ( y + 1 ) e. { x e. NN | ph } ) ) |
| 18 | 11 17 | mpcom | |- ( y e. { x e. NN | ph } -> ( y + 1 ) e. { x e. NN | ph } ) |
| 19 | 18 | rgen | |- A. y e. { x e. NN | ph } ( y + 1 ) e. { x e. NN | ph } |
| 20 | nfcv | |- F/_ y NN |
|
| 21 | 1 20 | nfrabw | |- F/_ y { x e. NN | ph } |
| 22 | nfcv | |- F/_ w { x e. NN | ph } |
|
| 23 | nfv | |- F/ w ( y + 1 ) e. { x e. NN | ph } |
|
| 24 | 21 | nfel2 | |- F/ y ( w + 1 ) e. { x e. NN | ph } |
| 25 | oveq1 | |- ( y = w -> ( y + 1 ) = ( w + 1 ) ) |
|
| 26 | 25 | eleq1d | |- ( y = w -> ( ( y + 1 ) e. { x e. NN | ph } <-> ( w + 1 ) e. { x e. NN | ph } ) ) |
| 27 | 21 22 23 24 26 | cbvralfw | |- ( A. y e. { x e. NN | ph } ( y + 1 ) e. { x e. NN | ph } <-> A. w e. { x e. NN | ph } ( w + 1 ) e. { x e. NN | ph } ) |
| 28 | 19 27 | mpbi | |- A. w e. { x e. NN | ph } ( w + 1 ) e. { x e. NN | ph } |
| 29 | peano5nni | |- ( ( 1 e. { x e. NN | ph } /\ A. w e. { x e. NN | ph } ( w + 1 ) e. { x e. NN | ph } ) -> NN C_ { x e. NN | ph } ) |
|
| 30 | 10 28 29 | mp2an | |- NN C_ { x e. NN | ph } |
| 31 | 30 | sseli | |- ( A e. NN -> A e. { x e. NN | ph } ) |
| 32 | 5 | elrab | |- ( A e. { x e. NN | ph } <-> ( A e. NN /\ ta ) ) |
| 33 | 31 32 | sylib | |- ( A e. NN -> ( A e. NN /\ ta ) ) |
| 34 | 33 | simprd | |- ( A e. NN -> ta ) |