| Step | Hyp | Ref | Expression |
| 1 |
|
mul11 |
1 * c = c |
| 2 |
|
gcd01 |
gcd 0 b = b |
| 3 |
|
gcdeq1 |
a = 0 -> gcd a b = gcd 0 b |
| 4 |
2, 3 |
syl6eq |
a = 0 -> gcd a b = b |
| 5 |
4 |
anwr |
G /\ a = 0 -> gcd a b = b |
| 6 |
|
hyp h1 |
G -> coprime a b |
| 7 |
6 |
conv coprime |
G -> gcd a b = 1 |
| 8 |
7 |
anwl |
G /\ a = 0 -> gcd a b = 1 |
| 9 |
5, 8 |
eqtr3d |
G /\ a = 0 -> b = 1 |
| 10 |
9 |
muleq1d |
G /\ a = 0 -> b * c = 1 * c |
| 11 |
1, 10 |
syl6eq |
G /\ a = 0 -> b * c = c |
| 12 |
11 |
dvdeq2d |
G /\ a = 0 -> (a || b * c <-> a || c) |
| 13 |
|
hyp h2 |
G -> a || b * c |
| 14 |
13 |
anwl |
G /\ a = 0 -> a || b * c |
| 15 |
12, 14 |
mpbid |
G /\ a = 0 -> a || c |
| 16 |
6 |
anwl |
G /\ ~a = 0 -> coprime a b |
| 17 |
|
anr |
G /\ ~a = 0 -> ~a = 0 |
| 18 |
17 |
conv ne |
G /\ ~a = 0 -> a != 0 |
| 19 |
16, 18 |
copbezout |
G /\ ~a = 0 -> E. x E. y x * a = y * b + 1 |
| 20 |
|
dvdadd1 |
a || b * c * y -> (a || c <-> a || b * c * y + c) |
| 21 |
|
dvdmul11 |
a || b * c -> a || b * c * y |
| 22 |
13 |
anwll |
G /\ ~a = 0 /\ x * a = y * b + 1 -> a || b * c |
| 23 |
21, 22 |
syl |
G /\ ~a = 0 /\ x * a = y * b + 1 -> a || b * c * y |
| 24 |
20, 23 |
syl |
G /\ ~a = 0 /\ x * a = y * b + 1 -> (a || c <-> a || b * c * y + c) |
| 25 |
|
dvdmul1 |
a || x * c * a |
| 26 |
|
mulrass |
x * c * a = x * a * c |
| 27 |
|
addeq |
b * y * c = b * c * y -> 1 * c = c -> b * y * c + 1 * c = b * c * y + c |
| 28 |
|
mulrass |
b * y * c = b * c * y |
| 29 |
27, 28 |
ax_mp |
1 * c = c -> b * y * c + 1 * c = b * c * y + c |
| 30 |
29, 1 |
ax_mp |
b * y * c + 1 * c = b * c * y + c |
| 31 |
|
addmul |
(b * y + 1) * c = b * y * c + 1 * c |
| 32 |
|
addeq1 |
y * b = b * y -> y * b + 1 = b * y + 1 |
| 33 |
|
mulcom |
y * b = b * y |
| 34 |
32, 33 |
ax_mp |
y * b + 1 = b * y + 1 |
| 35 |
|
anr |
G /\ ~a = 0 /\ x * a = y * b + 1 -> x * a = y * b + 1 |
| 36 |
34, 35 |
syl6eq |
G /\ ~a = 0 /\ x * a = y * b + 1 -> x * a = b * y + 1 |
| 37 |
36 |
muleq1d |
G /\ ~a = 0 /\ x * a = y * b + 1 -> x * a * c = (b * y + 1) * c |
| 38 |
31, 37 |
syl6eq |
G /\ ~a = 0 /\ x * a = y * b + 1 -> x * a * c = b * y * c + 1 * c |
| 39 |
30, 38 |
syl6eq |
G /\ ~a = 0 /\ x * a = y * b + 1 -> x * a * c = b * c * y + c |
| 40 |
26, 39 |
syl5eq |
G /\ ~a = 0 /\ x * a = y * b + 1 -> x * c * a = b * c * y + c |
| 41 |
40 |
dvdeq2d |
G /\ ~a = 0 /\ x * a = y * b + 1 -> (a || x * c * a <-> a || b * c * y + c) |
| 42 |
25, 41 |
mpbii |
G /\ ~a = 0 /\ x * a = y * b + 1 -> a || b * c * y + c |
| 43 |
24, 42 |
mpbird |
G /\ ~a = 0 /\ x * a = y * b + 1 -> a || c |
| 44 |
43 |
eexda |
G /\ ~a = 0 -> E. y x * a = y * b + 1 -> a || c |
| 45 |
44 |
eexd |
G /\ ~a = 0 -> E. x E. y x * a = y * b + 1 -> a || c |
| 46 |
19, 45 |
mpd |
G /\ ~a = 0 -> a || c |
| 47 |
15, 46 |
casesda |
G -> a || c |