Metamath Proof Explorer


Theorem zindbi

Description: Inductively transfer a property to the integers if it holds for zero and passes between adjacent integers in either direction. (Contributed by Stefan O'Rear, 1-Oct-2014)

Ref Expression
Hypotheses zindbi.1 yψχ
zindbi.2 x=yφψ
zindbi.3 x=y+1φχ
zindbi.4 x=0φθ
zindbi.5 x=Aφτ
Assertion zindbi Aθτ

Proof

Step Hyp Ref Expression
1 zindbi.1 yψχ
2 zindbi.2 x=yφψ
3 zindbi.3 x=y+1φχ
4 zindbi.4 x=0φθ
5 zindbi.5 x=Aφτ
6 c0ex 0V
7 6 4 sbcie [˙0/x]˙φθ
8 0z 0
9 eleq1 y=0y0
10 breq1 y=0yb0b
11 9 10 3anbi13d y=0ybyb0b0b
12 dfsbcq y=0[˙y/x]˙φ[˙0/x]˙φ
13 12 bibi1d y=0[˙y/x]˙φ[˙b/x]˙φ[˙0/x]˙φ[˙b/x]˙φ
14 11 13 imbi12d y=0ybyb[˙y/x]˙φ[˙b/x]˙φ0b0b[˙0/x]˙φ[˙b/x]˙φ
15 eleq1 b=AbA
16 breq2 b=A0b0A
17 15 16 3anbi23d b=A0b0b0A0A
18 dfsbcq b=A[˙b/x]˙φ[˙A/x]˙φ
19 18 bibi2d b=A[˙0/x]˙φ[˙b/x]˙φ[˙0/x]˙φ[˙A/x]˙φ
20 17 19 imbi12d b=A0b0b[˙0/x]˙φ[˙b/x]˙φ0A0A[˙0/x]˙φ[˙A/x]˙φ
21 dfsbcq a=y[˙a/x]˙φ[˙y/x]˙φ
22 21 bibi2d a=y[˙y/x]˙φ[˙a/x]˙φ[˙y/x]˙φ[˙y/x]˙φ
23 dfsbcq a=b[˙a/x]˙φ[˙b/x]˙φ
24 23 bibi2d a=b[˙y/x]˙φ[˙a/x]˙φ[˙y/x]˙φ[˙b/x]˙φ
25 dfsbcq a=b+1[˙a/x]˙φ[˙b+1/x]˙φ
26 25 bibi2d a=b+1[˙y/x]˙φ[˙a/x]˙φ[˙y/x]˙φ[˙b+1/x]˙φ
27 biidd y[˙y/x]˙φ[˙y/x]˙φ
28 vex yV
29 28 2 sbcie [˙y/x]˙φψ
30 dfsbcq y=b[˙y/x]˙φ[˙b/x]˙φ
31 29 30 bitr3id y=bψ[˙b/x]˙φ
32 ovex y+1V
33 32 3 sbcie [˙y+1/x]˙φχ
34 oveq1 y=by+1=b+1
35 34 sbceq1d y=b[˙y+1/x]˙φ[˙b+1/x]˙φ
36 33 35 bitr3id y=bχ[˙b+1/x]˙φ
37 31 36 bibi12d y=bψχ[˙b/x]˙φ[˙b+1/x]˙φ
38 37 1 vtoclga b[˙b/x]˙φ[˙b+1/x]˙φ
39 38 3ad2ant2 ybyb[˙b/x]˙φ[˙b+1/x]˙φ
40 39 bibi2d ybyb[˙y/x]˙φ[˙b/x]˙φ[˙y/x]˙φ[˙b+1/x]˙φ
41 40 biimpd ybyb[˙y/x]˙φ[˙b/x]˙φ[˙y/x]˙φ[˙b+1/x]˙φ
42 22 24 26 24 27 41 uzind ybyb[˙y/x]˙φ[˙b/x]˙φ
43 14 20 42 vtocl2g 0A0A0A[˙0/x]˙φ[˙A/x]˙φ
44 43 3adant3 0A0A0A0A[˙0/x]˙φ[˙A/x]˙φ
45 44 pm2.43i 0A0A[˙0/x]˙φ[˙A/x]˙φ
46 8 45 mp3an1 A0A[˙0/x]˙φ[˙A/x]˙φ
47 eleq1 y=AyA
48 breq1 y=AybAb
49 47 48 3anbi13d y=AybybAbAb
50 dfsbcq y=A[˙y/x]˙φ[˙A/x]˙φ
51 50 bibi1d y=A[˙y/x]˙φ[˙b/x]˙φ[˙A/x]˙φ[˙b/x]˙φ
52 49 51 imbi12d y=Aybyb[˙y/x]˙φ[˙b/x]˙φAbAb[˙A/x]˙φ[˙b/x]˙φ
53 eleq1 b=0b0
54 breq2 b=0AbA0
55 53 54 3anbi23d b=0AbAbA0A0
56 dfsbcq b=0[˙b/x]˙φ[˙0/x]˙φ
57 56 bibi2d b=0[˙A/x]˙φ[˙b/x]˙φ[˙A/x]˙φ[˙0/x]˙φ
58 55 57 imbi12d b=0AbAb[˙A/x]˙φ[˙b/x]˙φA0A0[˙A/x]˙φ[˙0/x]˙φ
59 52 58 42 vtocl2g A0A0A0[˙A/x]˙φ[˙0/x]˙φ
60 59 3adant3 A0A0A0A0[˙A/x]˙φ[˙0/x]˙φ
61 60 pm2.43i A0A0[˙A/x]˙φ[˙0/x]˙φ
62 8 61 mp3an2 AA0[˙A/x]˙φ[˙0/x]˙φ
63 62 bicomd AA0[˙0/x]˙φ[˙A/x]˙φ
64 0re 0
65 zre AA
66 letric 0A0AA0
67 64 65 66 sylancr A0AA0
68 46 63 67 mpjaodan A[˙0/x]˙φ[˙A/x]˙φ
69 7 68 bitr3id Aθ[˙A/x]˙φ
70 5 sbcieg A[˙A/x]˙φτ
71 69 70 bitrd Aθτ