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 0 V
7 6 4 sbcie [˙ 0 / x]˙ φ θ
8 0z 0
9 eleq1 y = 0 y 0
10 breq1 y = 0 y b 0 b
11 9 10 3anbi13d y = 0 y b y b 0 b 0 b
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 = 0 y b y b [˙y / x]˙ φ [˙b / x]˙ φ 0 b 0 b [˙ 0 / x]˙ φ [˙b / x]˙ φ
15 eleq1 b = A b A
16 breq2 b = A 0 b 0 A
17 15 16 3anbi23d b = A 0 b 0 b 0 A 0 A
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 = A 0 b 0 b [˙ 0 / x]˙ φ [˙b / x]˙ φ 0 A 0 A [˙ 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 y V
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 + 1 V
33 32 3 sbcie [˙y + 1 / x]˙ φ χ
34 oveq1 y = b y + 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 y b y b [˙b / x]˙ φ [˙b + 1 / x]˙ φ
40 39 bibi2d y b y b [˙y / x]˙ φ [˙b / x]˙ φ [˙y / x]˙ φ [˙b + 1 / x]˙ φ
41 40 biimpd y b y b [˙y / x]˙ φ [˙b / x]˙ φ [˙y / x]˙ φ [˙b + 1 / x]˙ φ
42 22 24 26 24 27 41 uzind y b y b [˙y / x]˙ φ [˙b / x]˙ φ
43 14 20 42 vtocl2g 0 A 0 A 0 A [˙ 0 / x]˙ φ [˙A / x]˙ φ
44 43 3adant3 0 A 0 A 0 A 0 A [˙ 0 / x]˙ φ [˙A / x]˙ φ
45 44 pm2.43i 0 A 0 A [˙ 0 / x]˙ φ [˙A / x]˙ φ
46 8 45 mp3an1 A 0 A [˙ 0 / x]˙ φ [˙A / x]˙ φ
47 eleq1 y = A y A
48 breq1 y = A y b A b
49 47 48 3anbi13d y = A y b y b A b A b
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 = A y b y b [˙y / x]˙ φ [˙b / x]˙ φ A b A b [˙A / x]˙ φ [˙b / x]˙ φ
53 eleq1 b = 0 b 0
54 breq2 b = 0 A b A 0
55 53 54 3anbi23d b = 0 A b A b A 0 A 0
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 = 0 A b A b [˙A / x]˙ φ [˙b / x]˙ φ A 0 A 0 [˙A / x]˙ φ [˙ 0 / x]˙ φ
59 52 58 42 vtocl2g A 0 A 0 A 0 [˙A / x]˙ φ [˙ 0 / x]˙ φ
60 59 3adant3 A 0 A 0 A 0 A 0 [˙A / x]˙ φ [˙ 0 / x]˙ φ
61 60 pm2.43i A 0 A 0 [˙A / x]˙ φ [˙ 0 / x]˙ φ
62 8 61 mp3an2 A A 0 [˙A / x]˙ φ [˙ 0 / x]˙ φ
63 62 bicomd A A 0 [˙ 0 / x]˙ φ [˙A / x]˙ φ
64 0re 0
65 zre A A
66 letric 0 A 0 A A 0
67 64 65 66 sylancr A 0 A A 0
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 θ τ