Search for blocks/addresses/...

Proofgold Proof

pf
Let x0 of type ι be given.
Assume H0: x0int.
Let x1 of type ι be given.
Assume H1: x1int.
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 x3SNoLt 0 x3SNoLe x2 x3) leaving 2 subgoals.
Assume H3: gcd_reln x0 x1 x2.
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 x3SNoLt 0 x3SNoLe 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.
Assume H4: and (and (int_lin_comb x0 x1 x3) (SNoLt 0 x3)) (∀ x4 . int_lin_comb x0 x1 x4SNoLt 0 x4SNoLe x3 x4).
Apply H4 with and (and (int_lin_comb x0 x1 x2) (SNoLt 0 x2)) (∀ x4 . int_lin_comb x0 x1 x4SNoLt 0 x4SNoLe x2 x4).
Assume H5: and (int_lin_comb x0 x1 x3) (SNoLt 0 x3).
Apply H5 with (∀ x4 . int_lin_comb x0 x1 x4SNoLt 0 x4SNoLe x3 x4)and (and (int_lin_comb x0 x1 x2) (SNoLt 0 x2)) (∀ x4 . int_lin_comb x0 x1 x4SNoLt 0 x4SNoLe x2 x4).
Assume H6: int_lin_comb x0 x1 x3.
Assume H7: SNoLt 0 x3.
Assume H8: ∀ x4 . int_lin_comb x0 x1 x4SNoLt 0 x4SNoLe x3 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 x6SNoLt 0 x6SNoLe 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.
Assume H3: and (and (int_lin_comb x0 x1 x2) (SNoLt 0 x2)) (∀ x3 . int_lin_comb x0 x1 x3SNoLt 0 x3SNoLe x2 x3).
Apply H3 with gcd_reln x0 x1 x2.
Assume H4: and (int_lin_comb x0 x1 x2) (SNoLt 0 x2).
Apply H4 with (∀ x3 . int_lin_comb x0 x1 x3SNoLt 0 x3SNoLe x2 x3)gcd_reln x0 x1 x2.
The subproof is completed by applying least_pos_int_lin_comb_gcd with x0, x1, x2.