Step | Hyp | Ref | Expression |
1 |
|
biidd |
_1 = a -> (r < b <-> r < b) |
2 |
|
eqidd |
_1 = a -> b * q + r = b * q + r |
3 |
|
id |
_1 = a -> _1 = a |
4 |
2, 3 |
eqeqd |
_1 = a -> (b * q + r = _1 <-> b * q + r = a) |
5 |
1, 4 |
aneqd |
_1 = a -> (r < b /\ b * q + r = _1 <-> r < b /\ b * q + r = a) |
6 |
5 |
exeqd |
_1 = a -> (E. r (r < b /\ b * q + r = _1) <-> E. r (r < b /\ b * q + r = a)) |
7 |
6 |
exeqd |
_1 = a -> (E. q E. r (r < b /\ b * q + r = _1) <-> E. q E. r (r < b /\ b * q + r = a)) |
8 |
|
biidd |
_1 = 0 -> (r < b <-> r < b) |
9 |
|
eqidd |
_1 = 0 -> b * q + r = b * q + r |
10 |
|
id |
_1 = 0 -> _1 = 0 |
11 |
9, 10 |
eqeqd |
_1 = 0 -> (b * q + r = _1 <-> b * q + r = 0) |
12 |
8, 11 |
aneqd |
_1 = 0 -> (r < b /\ b * q + r = _1 <-> r < b /\ b * q + r = 0) |
13 |
12 |
exeqd |
_1 = 0 -> (E. r (r < b /\ b * q + r = _1) <-> E. r (r < b /\ b * q + r = 0)) |
14 |
13 |
exeqd |
_1 = 0 -> (E. q E. r (r < b /\ b * q + r = _1) <-> E. q E. r (r < b /\ b * q + r = 0)) |
15 |
|
biidd |
_1 = a1 -> (r < b <-> r < b) |
16 |
|
eqidd |
_1 = a1 -> b * q + r = b * q + r |
17 |
|
id |
_1 = a1 -> _1 = a1 |
18 |
16, 17 |
eqeqd |
_1 = a1 -> (b * q + r = _1 <-> b * q + r = a1) |
19 |
15, 18 |
aneqd |
_1 = a1 -> (r < b /\ b * q + r = _1 <-> r < b /\ b * q + r = a1) |
20 |
19 |
exeqd |
_1 = a1 -> (E. r (r < b /\ b * q + r = _1) <-> E. r (r < b /\ b * q + r = a1)) |
21 |
20 |
exeqd |
_1 = a1 -> (E. q E. r (r < b /\ b * q + r = _1) <-> E. q E. r (r < b /\ b * q + r = a1)) |
22 |
|
biidd |
_1 = suc a1 -> (r < b <-> r < b) |
23 |
|
eqidd |
_1 = suc a1 -> b * q + r = b * q + r |
24 |
|
id |
_1 = suc a1 -> _1 = suc a1 |
25 |
23, 24 |
eqeqd |
_1 = suc a1 -> (b * q + r = _1 <-> b * q + r = suc a1) |
26 |
22, 25 |
aneqd |
_1 = suc a1 -> (r < b /\ b * q + r = _1 <-> r < b /\ b * q + r = suc a1) |
27 |
26 |
exeqd |
_1 = suc a1 -> (E. r (r < b /\ b * q + r = _1) <-> E. r (r < b /\ b * q + r = suc a1)) |
28 |
27 |
exeqd |
_1 = suc a1 -> (E. q E. r (r < b /\ b * q + r = _1) <-> E. q E. r (r < b /\ b * q + r = suc a1)) |
29 |
|
lteq1 |
r = 0 -> (r < b <-> 0 < b) |
30 |
29 |
anwr |
b != 0 /\ q = 0 /\ r = 0 -> (r < b <-> 0 < b) |
31 |
|
lt01 |
0 < b <-> b != 0 |
32 |
|
anll |
b != 0 /\ q = 0 /\ r = 0 -> b != 0 |
33 |
31, 32 |
sylibr |
b != 0 /\ q = 0 /\ r = 0 -> 0 < b |
34 |
30, 33 |
mpbird |
b != 0 /\ q = 0 /\ r = 0 -> r < b |
35 |
|
add0 |
0 + 0 = 0 |
36 |
|
mul02 |
b * 0 = 0 |
37 |
|
muleq2 |
q = 0 -> b * q = b * 0 |
38 |
37 |
anwr |
b != 0 /\ q = 0 -> b * q = b * 0 |
39 |
38 |
anwl |
b != 0 /\ q = 0 /\ r = 0 -> b * q = b * 0 |
40 |
36, 39 |
syl6eq |
b != 0 /\ q = 0 /\ r = 0 -> b * q = 0 |
41 |
|
anr |
b != 0 /\ q = 0 /\ r = 0 -> r = 0 |
42 |
40, 41 |
addeqd |
b != 0 /\ q = 0 /\ r = 0 -> b * q + r = 0 + 0 |
43 |
35, 42 |
syl6eq |
b != 0 /\ q = 0 /\ r = 0 -> b * q + r = 0 |
44 |
34, 43 |
iand |
b != 0 /\ q = 0 /\ r = 0 -> r < b /\ b * q + r = 0 |
45 |
44 |
iexde |
b != 0 /\ q = 0 -> E. r (r < b /\ b * q + r = 0) |
46 |
45 |
iexde |
b != 0 -> E. q E. r (r < b /\ b * q + r = 0) |
47 |
|
lteq1 |
r = v -> (r < b <-> v < b) |
48 |
47 |
anwr |
q = u /\ r = v -> (r < b <-> v < b) |
49 |
|
muleq2 |
q = u -> b * q = b * u |
50 |
49 |
anwl |
q = u /\ r = v -> b * q = b * u |
51 |
|
anr |
q = u /\ r = v -> r = v |
52 |
50, 51 |
addeqd |
q = u /\ r = v -> b * q + r = b * u + v |
53 |
52 |
eqeq1d |
q = u /\ r = v -> (b * q + r = a1 <-> b * u + v = a1) |
54 |
48, 53 |
aneqd |
q = u /\ r = v -> (r < b /\ b * q + r = a1 <-> v < b /\ b * u + v = a1) |
55 |
54 |
cbvexd |
q = u -> (E. r (r < b /\ b * q + r = a1) <-> E. v (v < b /\ b * u + v = a1)) |
56 |
55 |
cbvex |
E. q E. r (r < b /\ b * q + r = a1) <-> E. u E. v (v < b /\ b * u + v = a1) |
57 |
|
leloe |
suc v <= b <-> suc v < b \/ suc v = b |
58 |
|
anrl |
b != 0 /\ (v < b /\ b * u + v = a1) -> v < b |
59 |
58 |
conv lt |
b != 0 /\ (v < b /\ b * u + v = a1) -> suc v <= b |
60 |
57, 59 |
sylib |
b != 0 /\ (v < b /\ b * u + v = a1) -> suc v < b \/ suc v = b |
61 |
|
lteq1 |
r = suc v -> (r < b <-> suc v < b) |
62 |
61 |
anwr |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v < b /\ q = u /\ r = suc v -> (r < b <-> suc v < b) |
63 |
|
anr |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v < b -> suc v < b |
64 |
63 |
anwll |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v < b /\ q = u /\ r = suc v -> suc v < b |
65 |
62, 64 |
mpbird |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v < b /\ q = u /\ r = suc v -> r < b |
66 |
|
addeq2 |
r = suc v -> b * q + r = b * q + suc v |
67 |
66 |
anwr |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v < b /\ q = u /\ r = suc v -> b * q + r = b * q + suc v |
68 |
|
addS |
b * q + suc v = suc (b * q + v) |
69 |
|
anlr |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v < b /\ q = u /\ r = suc v -> q = u |
70 |
69 |
muleq2d |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v < b /\ q = u /\ r = suc v -> b * q = b * u |
71 |
70 |
addeq1d |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v < b /\ q = u /\ r = suc v -> b * q + v = b * u + v |
72 |
|
anrr |
b != 0 /\ (v < b /\ b * u + v = a1) -> b * u + v = a1 |
73 |
72 |
anw3l |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v < b /\ q = u /\ r = suc v -> b * u + v = a1 |
74 |
71, 73 |
eqtrd |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v < b /\ q = u /\ r = suc v -> b * q + v = a1 |
75 |
74 |
suceqd |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v < b /\ q = u /\ r = suc v -> suc (b * q + v) = suc a1 |
76 |
68, 75 |
syl5eq |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v < b /\ q = u /\ r = suc v -> b * q + suc v = suc a1 |
77 |
67, 76 |
eqtrd |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v < b /\ q = u /\ r = suc v -> b * q + r = suc a1 |
78 |
65, 77 |
iand |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v < b /\ q = u /\ r = suc v -> r < b /\ b * q + r = suc a1 |
79 |
78 |
iexde |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v < b /\ q = u -> E. r (r < b /\ b * q + r = suc a1) |
80 |
79 |
iexde |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v < b -> E. q E. r (r < b /\ b * q + r = suc a1) |
81 |
29 |
anwr |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v = b /\ q = suc u /\ r = 0 -> (r < b <-> 0 < b) |
82 |
|
anl |
b != 0 /\ (v < b /\ b * u + v = a1) -> b != 0 |
83 |
82 |
anw3l |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v = b /\ q = suc u /\ r = 0 -> b != 0 |
84 |
31, 83 |
sylibr |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v = b /\ q = suc u /\ r = 0 -> 0 < b |
85 |
81, 84 |
mpbird |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v = b /\ q = suc u /\ r = 0 -> r < b |
86 |
|
anlr |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v = b /\ q = suc u /\ r = 0 -> q = suc u |
87 |
86 |
muleq2d |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v = b /\ q = suc u /\ r = 0 -> b * q = b * suc u |
88 |
|
anr |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v = b /\ q = suc u /\ r = 0 -> r = 0 |
89 |
87, 88 |
addeqd |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v = b /\ q = suc u /\ r = 0 -> b * q + r = b * suc u + 0 |
90 |
|
add0 |
b * suc u + 0 = b * suc u |
91 |
|
mulS |
b * suc u = b * u + b |
92 |
|
anr |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v = b -> suc v = b |
93 |
92 |
anwll |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v = b /\ q = suc u /\ r = 0 -> suc v = b |
94 |
93 |
addeq2d |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v = b /\ q = suc u /\ r = 0 -> b * u + suc v = b * u + b |
95 |
|
addS |
b * u + suc v = suc (b * u + v) |
96 |
72 |
anw3l |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v = b /\ q = suc u /\ r = 0 -> b * u + v = a1 |
97 |
96 |
suceqd |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v = b /\ q = suc u /\ r = 0 -> suc (b * u + v) = suc a1 |
98 |
95, 97 |
syl5eq |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v = b /\ q = suc u /\ r = 0 -> b * u + suc v = suc a1 |
99 |
94, 98 |
eqtr3d |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v = b /\ q = suc u /\ r = 0 -> b * u + b = suc a1 |
100 |
91, 99 |
syl5eq |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v = b /\ q = suc u /\ r = 0 -> b * suc u = suc a1 |
101 |
90, 100 |
syl5eq |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v = b /\ q = suc u /\ r = 0 -> b * suc u + 0 = suc a1 |
102 |
89, 101 |
eqtrd |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v = b /\ q = suc u /\ r = 0 -> b * q + r = suc a1 |
103 |
85, 102 |
iand |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v = b /\ q = suc u /\ r = 0 -> r < b /\ b * q + r = suc a1 |
104 |
103 |
iexde |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v = b /\ q = suc u -> E. r (r < b /\ b * q + r = suc a1) |
105 |
104 |
iexde |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v = b -> E. q E. r (r < b /\ b * q + r = suc a1) |
106 |
80, 105 |
eorda |
b != 0 /\ (v < b /\ b * u + v = a1) -> suc v < b \/ suc v = b -> E. q E. r (r < b /\ b * q + r = suc a1) |
107 |
60, 106 |
mpd |
b != 0 /\ (v < b /\ b * u + v = a1) -> E. q E. r (r < b /\ b * q + r = suc a1) |
108 |
107 |
eexda |
b != 0 -> E. v (v < b /\ b * u + v = a1) -> E. q E. r (r < b /\ b * q + r = suc a1) |
109 |
108 |
eexd |
b != 0 -> E. u E. v (v < b /\ b * u + v = a1) -> E. q E. r (r < b /\ b * q + r = suc a1) |
110 |
56, 109 |
syl5bi |
b != 0 -> E. q E. r (r < b /\ b * q + r = a1) -> E. q E. r (r < b /\ b * q + r = suc a1) |
111 |
110 |
imp |
b != 0 /\ E. q E. r (r < b /\ b * q + r = a1) -> E. q E. r (r < b /\ b * q + r = suc a1) |
112 |
7, 14, 21, 28, 46, 111 |
indd |
b != 0 -> E. q E. r (r < b /\ b * q + r = a) |