Theorem dvdbgcd | index | src |

theorem dvdbgcd (a b d: nat): $ d || a /\ d || b -> d || bgcd a b $;
StepHypRefExpression
1 bgcdbezout
E. x E. y x * a = y * b + bgcd a b
2 dvdadd1
d || y * b -> (d || bgcd a b <-> d || y * b + bgcd a b)
3 dvdmul12
d || b -> d || y * b
4 anlr
d || a /\ d || b /\ x * a = y * b + bgcd a b -> d || b
5 3, 4 syl
d || a /\ d || b /\ x * a = y * b + bgcd a b -> d || y * b
6 2, 5 syl
d || a /\ d || b /\ x * a = y * b + bgcd a b -> (d || bgcd a b <-> d || y * b + bgcd a b)
7 dvdeq2
x * a = y * b + bgcd a b -> (d || x * a <-> d || y * b + bgcd a b)
8 7 anwr
d || a /\ d || b /\ x * a = y * b + bgcd a b -> (d || x * a <-> d || y * b + bgcd a b)
9 dvdmul12
d || a -> d || x * a
10 9 anwll
d || a /\ d || b /\ x * a = y * b + bgcd a b -> d || x * a
11 8, 10 mpbid
d || a /\ d || b /\ x * a = y * b + bgcd a b -> d || y * b + bgcd a b
12 6, 11 mpbird
d || a /\ d || b /\ x * a = y * b + bgcd a b -> d || bgcd a b
13 12 eexda
d || a /\ d || b -> E. y x * a = y * b + bgcd a b -> d || bgcd a b
14 13 eexd
d || a /\ d || b -> E. x E. y x * a = y * b + bgcd a b -> d || bgcd a b
15 1, 14 mpi
d || a /\ d || b -> d || bgcd a b

Axiom use

axs_prop_calc (ax_1, ax_2, ax_3, ax_mp, itru), axs_pred_calc (ax_gen, ax_4, ax_5, ax_6, ax_7, ax_10, ax_11, ax_12), axs_set (elab, ax_8), axs_the (theid, the0), axs_peano (peano1, peano2, peano5, addeq, muleq, add0, addS, mul0, mulS)