Metamath Proof Explorer


Theorem finds2

Description: Principle of Finite Induction (inference schema), using implicit substitutions. The first three hypotheses establish the substitutions we need. The last two are the basis and the induction step. Theorem Schema 22 of Suppes p. 136. (Contributed by NM, 29-Nov-2002)

Ref Expression
Hypotheses finds2.1
|- ( x = (/) -> ( ph <-> ps ) )
finds2.2
|- ( x = y -> ( ph <-> ch ) )
finds2.3
|- ( x = suc y -> ( ph <-> th ) )
finds2.4
|- ( ta -> ps )
finds2.5
|- ( y e. _om -> ( ta -> ( ch -> th ) ) )
Assertion finds2
|- ( x e. _om -> ( ta -> ph ) )

Proof

Step Hyp Ref Expression
1 finds2.1
 |-  ( x = (/) -> ( ph <-> ps ) )
2 finds2.2
 |-  ( x = y -> ( ph <-> ch ) )
3 finds2.3
 |-  ( x = suc y -> ( ph <-> th ) )
4 finds2.4
 |-  ( ta -> ps )
5 finds2.5
 |-  ( y e. _om -> ( ta -> ( ch -> th ) ) )
6 0ex
 |-  (/) e. _V
7 1 imbi2d
 |-  ( x = (/) -> ( ( ta -> ph ) <-> ( ta -> ps ) ) )
8 6 7 elab
 |-  ( (/) e. { x | ( ta -> ph ) } <-> ( ta -> ps ) )
9 4 8 mpbir
 |-  (/) e. { x | ( ta -> ph ) }
10 5 a2d
 |-  ( y e. _om -> ( ( ta -> ch ) -> ( ta -> th ) ) )
11 vex
 |-  y e. _V
12 2 imbi2d
 |-  ( x = y -> ( ( ta -> ph ) <-> ( ta -> ch ) ) )
13 11 12 elab
 |-  ( y e. { x | ( ta -> ph ) } <-> ( ta -> ch ) )
14 11 sucex
 |-  suc y e. _V
15 3 imbi2d
 |-  ( x = suc y -> ( ( ta -> ph ) <-> ( ta -> th ) ) )
16 14 15 elab
 |-  ( suc y e. { x | ( ta -> ph ) } <-> ( ta -> th ) )
17 10 13 16 3imtr4g
 |-  ( y e. _om -> ( y e. { x | ( ta -> ph ) } -> suc y e. { x | ( ta -> ph ) } ) )
18 17 rgen
 |-  A. y e. _om ( y e. { x | ( ta -> ph ) } -> suc y e. { x | ( ta -> ph ) } )
19 peano5
 |-  ( ( (/) e. { x | ( ta -> ph ) } /\ A. y e. _om ( y e. { x | ( ta -> ph ) } -> suc y e. { x | ( ta -> ph ) } ) ) -> _om C_ { x | ( ta -> ph ) } )
20 9 18 19 mp2an
 |-  _om C_ { x | ( ta -> ph ) }
21 20 sseli
 |-  ( x e. _om -> x e. { x | ( ta -> ph ) } )
22 abid
 |-  ( x e. { x | ( ta -> ph ) } <-> ( ta -> ph ) )
23 21 22 sylib
 |-  ( x e. _om -> ( ta -> ph ) )