def step_both
import bend-collections-laws-math@1.0.0.0/proofs/math/natural/gcd.bend as Gcdimport Base
68def step_both(+bp: Nat, +a: Nat, +g: Nat, w: Wit, ih: divides_both(1n+bp, Nat.mod(a, 1n+bp), g, w)) -> divides_both(a, 1n+bp, g, wstep(Nat.div(a, 1n+bp), w)):
69 match w:
70 case W{+l, +r}:
71 (en, er) = ih
72 +en2 = {en : {1n+bp == Nat.mul(l, g) : Nat}}
73 (dvd_of_mod(bp, a, g, l, r, en2, er), en2)