Documentation

FormalConjectures.ForMathlib.Combinatorics.Basic

def IsSidon {α : Type u_1} [AddCommMonoid α] {S : Type u_2} [Membership α S] (A : S) :

A Sidon set is a set, such that such that all pairwise sums of elements are distinct apart from coincidences forced by the commutativity of addition.

Equations
  • IsSidon A = i₁A, j₁A, i₂A, j₂A, i₁ + i₂ = j₁ + j₂i₁ = j₁ i₂ = j₂ i₁ = j₂ i₂ = j₁
Instances For
    @[simp]
    theorem coe {α : Type u_1} [AddCommMonoid α] {S : Type u_2} [SetLike S α] {A : S} :
    theorem Set.IsSidon.avoids_isAPOfLength_three {A : Set } (hA : IsSidon A) {Y : Set } (hY : Y.IsAPOfLength 3) :
    (A Y).ncard 2
    theorem Set.IsSidon.subset {α : Type u_1} [AddCommMonoid α] {A B : Set α} (hB : IsSidon B) (hAB : A B) :
    theorem Set.IsSidon.insert {α : Type u_1} [AddCommMonoid α] {A : Set α} {m : α} [IsRightCancelAdd α] [IsLeftCancelAdd α] (hA : IsSidon A) :
    IsSidon (A {m}) m A aA, bA, m + m a + b cA, m + a b + c
    @[simp]
    theorem Finset.isSidon_toSet {α : Type u_1} [AddCommMonoid α] {A : Finset α} :
    Equations

    The maximum size of a Sidon set in the supplied Finset.

    Equations
    Instances For
      theorem Finset.IsSidon.insert {α : Type u_1} [AddCommMonoid α] {A : Finset α} {m : α} [DecidableEq α] [IsRightCancelAdd α] [IsLeftCancelAdd α] (hA : IsSidon A) :
      IsSidon (A {m}) m A aA, bA, m + m a + b cA, m + a b + c
      theorem Finset.IsSidon.insert_ge_max' {A : Finset } (h : A.Nonempty) (hA : IsSidon A) {s : } (hs : 2 * A.max' h + 1 s) :

      If A is finite Sidon, then A ∪ {s} is also Sidon provided s ≥ A.max + 1.

      theorem Finset.IsSidon.exists_insert {A : Finset } (h : A.Nonempty) (hA : IsSidon A) :
      mA, IsSidon (A {m})
      theorem Finset.IsSidon.exists_insert_ge {A : Finset } (h : A.Nonempty) (hA : IsSidon A) (s : ) :
      ms, mA IsSidon (A {m})