Documentation

Init.Data.Nat.Gcd

@[extern lean_nat_gcd]
def Nat.gcd (m : Nat) (n : Nat) :
Equations
Instances For
    @[simp]
    theorem Nat.gcd_zero_left (y : Nat) :
    Nat.gcd 0 y = y
    theorem Nat.gcd_succ (x : Nat) (y : Nat) :
    @[simp]
    theorem Nat.gcd_one_left (n : Nat) :
    Nat.gcd 1 n = 1
    @[simp]
    theorem Nat.gcd_zero_right (n : Nat) :
    Nat.gcd n 0 = n
    @[simp]
    theorem Nat.gcd_self (n : Nat) :
    Nat.gcd n n = n
    theorem Nat.gcd_rec (m : Nat) (n : Nat) :
    Nat.gcd m n = Nat.gcd (n % m) m
    theorem Nat.gcd.induction {P : NatNatProp} (m : Nat) (n : Nat) (H0 : ∀ (n : Nat), P 0 n) (H1 : ∀ (m n : Nat), 0 < mP (n % m) mP m n) :
    P m n
    theorem Nat.gcd_dvd (m : Nat) (n : Nat) :
    Nat.gcd m n m Nat.gcd m n n
    theorem Nat.gcd_dvd_left (m : Nat) (n : Nat) :
    Nat.gcd m n m
    theorem Nat.gcd_dvd_right (m : Nat) (n : Nat) :
    Nat.gcd m n n
    theorem Nat.gcd_le_left {m : Nat} (n : Nat) (h : 0 < m) :
    Nat.gcd m n m
    theorem Nat.gcd_le_right {m : Nat} (n : Nat) (h : 0 < n) :
    Nat.gcd m n n
    theorem Nat.dvd_gcd {k : Nat} {m : Nat} {n : Nat} :
    k mk nk Nat.gcd m n