Documentation

MathlibNt.ChensTheorem

Prime-plus-at-most-two-primes representation vocabulary #

This foundational module defines the second-summand predicate and proves its literal characterization. It does not import any sieve implementation. The unconditional theorem is exposed by Goldbach.

The retained internal name Semiprime means at most two prime factors here; Mathlib's Nat.IsSemiprime means exactly two. The public theorem avoids that terminological ambiguity by stating the disjunction explicitly.

An integer at least two with at most two prime factors, counted with multiplicity.

Equations
Instances For
    Inspect dependencies

    MathlibNt.ChensTheorem.Semiprime · compiled type and proof/definition references.

    A prime has at most two prime factors.

    Inspect dependencies

    MathlibNt.ChensTheorem.prime_semiprime · compiled type and proof/definition references.

    theorem MathlibNt.ChensTheorem.mul_prime_semiprime {p₁ p₂ : ℕ} (hp₁ : Nat.Prime p₁) (hp₂ : Nat.Prime p₂) :
    Semiprime (p₁ * p₂)

    A product of two primes has at most two prime factors; equal factors are allowed.

    Inspect dependencies

    MathlibNt.ChensTheorem.mul_prime_semiprime · compiled type and proof/definition references.

    theorem MathlibNt.ChensTheorem.semiprime_iff {n : ℕ} :
    Semiprime n ↔ Nat.Prime n ∨ ∃ (p₁ : ℕ) (p₂ : ℕ), Nat.Prime p₁ ∧ Nat.Prime p₂ ∧ n = p₁ * p₂

    The internal predicate is exactly a prime or a product of two primes.

    Inspect dependencies

    MathlibNt.ChensTheorem.semiprime_iff · compiled type and proof/definition references.

    The internal predicate excludes zero and one.

    Inspect dependencies

    MathlibNt.ChensTheorem.semiprime_ge_two · compiled type and proof/definition references.

    Mathlib's exactly-two-factor predicate implies the at-most-two-factor predicate.

    Inspect dependencies

    MathlibNt.ChensTheorem.isSemiprime_implies_semiprime · compiled type and proof/definition references.