def step_both

bend-collections-laws-crypto@1.0.0.0 · proofs/math/natural/gcd.bend:68

import bend-collections-laws-crypto@1.0.0.0/proofs/math/natural/gcd.bend as Gcd
import 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)

Uses (9)

Used by (1)