Documentation

Mathlib.Tactic.Simproc.Factors

simproc for Nat.primeFactorsList #

Note that since norm_num can only produce numerals, we can't register this as a norm_num extension.

def Mathlib.Meta.Simproc.FactorsHelper (n p : β„•) (l : List β„•) :

A proof of the partial computation of primeFactorsList. Asserts that l is a sorted list of primes multiplying to n and lower bounded by a prime p.

Instances For

    The argument explicitness in this section is chosen to make only the numerals in the factors list appear in the proof term.

    theorem Mathlib.Meta.Simproc.FactorsHelper.cons_of_le {n m : β„•} (a : β„•) {b : β„•} {l : List β„•} (h₁ : NormNum.IsNat (b * m) n) (hβ‚‚ : a ≀ b) (h₃ : b.minFac = b) (H : FactorsHelper m b l) :
    FactorsHelper n a (b :: l)
    theorem Mathlib.Meta.Simproc.FactorsHelper.cons {n m a : β„•} (b : β„•) {l : List β„•} (h₁ : NormNum.IsNat (b * m) n) (hβ‚‚ : a.blt b = true) (h₃ : NormNum.IsNat b.minFac b) (H : FactorsHelper m b l) :
    FactorsHelper n a (b :: l)
    theorem Mathlib.Meta.Simproc.FactorsHelper.singleton (n : β„•) {a : β„•} (h₁ : a.blt n = true) (hβ‚‚ : NormNum.IsNat n.minFac n) :
    theorem Mathlib.Meta.Simproc.FactorsHelper.cons_self {n m : β„•} (a : β„•) {l : List β„•} (h : NormNum.IsNat (a * m) n) (H : FactorsHelper m a l) :
    FactorsHelper n a (a :: l)
    def Mathlib.Meta.Simproc.evalPrimeFactorsList {en enl : Q(β„•)} (hn : Q(NormNum.IsNat Β«$enΒ» Β«$enlΒ»)) :
    Lean.MetaM ((l : Q(List β„•)) Γ— Q(Β«$enΒ».primeFactorsList = Β«$lΒ»))

    Given a natural number n, returns (l, ⊒ Nat.primeFactorsList n = l).

    Instances For
      def Nat.primeFactorsList_ofNat :
      Lean.Meta.Simp.Simproc

      A simproc for terms of the form Nat.primeFactorsList (OfNat.ofNat n).

      Instances For