Let x0 of type ι be given.
Let x1 of type ι be given.
Assume H2:
not (and (x0 = 0) (x1 = 0)).
Let x2 of type ι be given.
Apply iffI with
gcd_reln x0 x1 x2,
and (and (int_lin_comb x0 x1 x2) (SNoLt 0 x2)) (∀ x3 . int_lin_comb x0 x1 x3 ⟶ SNoLt 0 x3 ⟶ SNoLe x2 x3) leaving 2 subgoals.
Apply least_pos_int_lin_comb_ex with
x0,
x1,
and (and (int_lin_comb x0 x1 x2) (SNoLt 0 x2)) (∀ x3 . int_lin_comb x0 x1 x3 ⟶ SNoLt 0 x3 ⟶ SNoLe x2 x3) leaving 4 subgoals.
The subproof is completed by applying H0.
The subproof is completed by applying H1.
The subproof is completed by applying H2.
Let x3 of type ι be given.
Apply H4 with
and (and (int_lin_comb x0 x1 x2) (SNoLt 0 x2)) (∀ x4 . int_lin_comb x0 x1 x4 ⟶ SNoLt 0 x4 ⟶ SNoLe x2 x4).
Apply H5 with
(∀ x4 . int_lin_comb x0 x1 x4 ⟶ SNoLt 0 x4 ⟶ SNoLe x3 x4) ⟶ and (and (int_lin_comb x0 x1 x2) (SNoLt 0 x2)) (∀ x4 . int_lin_comb x0 x1 x4 ⟶ SNoLt 0 x4 ⟶ SNoLe x2 x4).
Apply gcd_reln_uniq with
x0,
x1,
x2,
x3,
λ x4 x5 . and (and (int_lin_comb x0 x1 x5) (SNoLt 0 x5)) (∀ x6 . int_lin_comb x0 x1 x6 ⟶ SNoLt 0 x6 ⟶ SNoLe x5 x6) leaving 3 subgoals.
The subproof is completed by applying H3.
Apply least_pos_int_lin_comb_gcd with
x0,
x1,
x3 leaving 3 subgoals.
The subproof is completed by applying H6.
The subproof is completed by applying H7.
The subproof is completed by applying H8.
The subproof is completed by applying H4.
Apply H3 with
gcd_reln x0 x1 x2.
Apply H4 with
(∀ x3 . int_lin_comb x0 x1 x3 ⟶ SNoLt 0 x3 ⟶ SNoLe x2 x3) ⟶ gcd_reln x0 x1 x2.
The subproof is completed by applying least_pos_int_lin_comb_gcd with x0, x1, x2.