File: Mathlib/Algebra/Periodic.lean

full_name: Function.Periodic
code: /-- A function `f` is said to be `Periodic` with period `c` if for all `x`, `f (x + c) = f x`. -/
@[simp]
def Periodic [Add α] (f : α → β) (c : α) : Prop 
goal: Prop

full_name: Function.Periodic.funext
code: protected theorem Periodic.funext [Add α] (h : Periodic f c) : (fun x => f (x + c)) = f 
goal: (fun x => f (x + c)) = f

full_name: Function.Periodic.comp
code: protected theorem Periodic.comp [Add α] (h : Periodic f c) (g : β → γ) : Periodic (g ∘ f) c 
goal: Function.Periodic (g ∘ f) c

full_name: Function.Periodic.comp_addHom
code: theorem Periodic.comp_addHom [Add α] [Add γ] (h : Periodic f c) (g : AddHom γ α) (g_inv : α → γ)
    (hg : RightInverse g_inv g) : Periodic (f ∘ g) (g_inv c) 
goal: Function.Periodic (f ∘ ⇑g) (g_inv c)

full_name: Function.Periodic.add
code: @[to_additive]
protected theorem Periodic.mul [Add α] [Mul β] (hf : Periodic f c) (hg : Periodic g c) :
    Periodic (f * g) c 
goal: Function.Periodic (f + g) c

full_name: Function.Periodic.mul
code: @[to_additive]
protected theorem Periodic.mul [Add α] [Mul β] (hf : Periodic f c) (hg : Periodic g c) :
    Periodic (f * g) c 
goal: Function.Periodic (f * g) c

full_name: Function.Periodic.sub
code: @[to_additive]
protected theorem Periodic.div [Add α] [Div β] (hf : Periodic f c) (hg : Periodic g c) :
    Periodic (f / g) c 
goal: Function.Periodic (f - g) c

full_name: Function.Periodic.div
code: @[to_additive]
protected theorem Periodic.div [Add α] [Div β] (hf : Periodic f c) (hg : Periodic g c) :
    Periodic (f / g) c 
goal: Function.Periodic (f / g) c

full_name: List.periodic_prod
code: @[to_additive]
theorem _root_.List.periodic_prod [Add α] [Monoid β] (l : List (α → β))
    (hl : ∀ f ∈ l, Periodic f c) : Periodic l.prod c 
goal: Function.Periodic l.prod c

full_name: List.periodic_sum
code: @[to_additive]
theorem _root_.List.periodic_prod [Add α] [Monoid β] (l : List (α → β))
    (hl : ∀ f ∈ l, Periodic f c) : Periodic l.prod c 
goal: Function.Periodic l.sum c

full_name: Multiset.periodic_sum
code: @[to_additive]
theorem _root_.Multiset.periodic_prod [Add α] [CommMonoid β] (s : Multiset (α → β))
    (hs : ∀ f ∈ s, Periodic f c) : Periodic s.prod c 
goal: Function.Periodic s.sum c

full_name: Multiset.periodic_prod
code: @[to_additive]
theorem _root_.Multiset.periodic_prod [Add α] [CommMonoid β] (s : Multiset (α → β))
    (hs : ∀ f ∈ s, Periodic f c) : Periodic s.prod c 
goal: Function.Periodic s.prod c

full_name: Finset.periodic_sum
code: @[to_additive]
theorem _root_.Finset.periodic_prod [Add α] [CommMonoid β] {ι : Type*} {f : ι → α → β}
    (s : Finset ι) (hs : ∀ i ∈ s, Periodic (f i) c) : Periodic (∏ i ∈ s, f i) c 
goal: Function.Periodic (∑ i ∈ s, f i) c

full_name: Finset.periodic_prod
code: @[to_additive]
theorem _root_.Finset.periodic_prod [Add α] [CommMonoid β] {ι : Type*} {f : ι → α → β}
    (s : Finset ι) (hs : ∀ i ∈ s, Periodic (f i) c) : Periodic (∏ i ∈ s, f i) c 
goal: Function.Periodic (∏ i ∈ s, f i) c

full_name: Function.Periodic.smul
code: @[to_additive]
protected theorem Periodic.smul [Add α] [SMul γ β] (h : Periodic f c) (a : γ) :
    Periodic (a • f) c 
goal: Function.Periodic (a • f) c

full_name: Function.Periodic.vadd
code: @[to_additive]
protected theorem Periodic.smul [Add α] [SMul γ β] (h : Periodic f c) (a : γ) :
    Periodic (a • f) c 
goal: Function.Periodic (a +ᵥ f) c

full_name: Function.Periodic.const_smul
code: protected theorem Periodic.const_smul [AddMonoid α] [Group γ] [DistribMulAction γ α]
    (h : Periodic f c) (a : γ) : Periodic (fun x => f (a • x)) (a⁻¹ • c) 
goal: Function.Periodic (fun x => f (a • x)) (a⁻¹ • c)

full_name: Function.Periodic.const_smul₀
code: protected theorem Periodic.const_smul₀ [AddCommMonoid α] [DivisionSemiring γ] [Module γ α]
    (h : Periodic f c) (a : γ) : Periodic (fun x => f (a • x)) (a⁻¹ • c) 
goal: Function.Periodic (fun x => f (a • x)) (a⁻¹ • c)

full_name: Function.Periodic.const_mul
code: protected theorem Periodic.const_mul [DivisionSemiring α] (h : Periodic f c) (a : α) :
    Periodic (fun x => f (a * x)) (a⁻¹ * c) 
goal: Function.Periodic (fun x => f (a * x)) (a⁻¹ * c)

full_name: Function.Periodic.const_inv_smul
code: theorem Periodic.const_inv_smul [AddMonoid α] [Group γ] [DistribMulAction γ α] (h : Periodic f c)
    (a : γ) : Periodic (fun x => f (a⁻¹ • x)) (a • c) 
goal: Function.Periodic (fun x => f (a⁻¹ • x)) (a • c)

full_name: Function.Periodic.const_inv_smul₀
code: theorem Periodic.const_inv_smul₀ [AddCommMonoid α] [DivisionSemiring γ] [Module γ α]
    (h : Periodic f c) (a : γ) : Periodic (fun x => f (a⁻¹ • x)) (a • c) 
goal: Function.Periodic (fun x => f (a⁻¹ • x)) (a • c)

full_name: Function.Periodic.const_inv_mul
code: theorem Periodic.const_inv_mul [DivisionSemiring α] (h : Periodic f c) (a : α) :
    Periodic (fun x => f (a⁻¹ * x)) (a * c) 
goal: Function.Periodic (fun x => f (a⁻¹ * x)) (a * c)

full_name: Function.Periodic.mul_const
code: theorem Periodic.mul_const [DivisionSemiring α] (h : Periodic f c) (a : α) :
    Periodic (fun x => f (x * a)) (c * a⁻¹) 
goal: Function.Periodic (fun x => f (x * a)) (c * a⁻¹)

full_name: Function.Periodic.mul_const'
code: theorem Periodic.mul_const' [DivisionSemiring α] (h : Periodic f c) (a : α) :
    Periodic (fun x => f (x * a)) (c / a) 
goal: Function.Periodic (fun x => f (x * a)) (c / a)

full_name: Function.Periodic.mul_const_inv
code: theorem Periodic.mul_const_inv [DivisionSemiring α] (h : Periodic f c) (a : α) :
    Periodic (fun x => f (x * a⁻¹)) (c * a) 
goal: Function.Periodic (fun x => f (x * a⁻¹)) (c * a)

full_name: Function.Periodic.div_const
code: theorem Periodic.div_const [DivisionSemiring α] (h : Periodic f c) (a : α) :
    Periodic (fun x => f (x / a)) (c * a) 
goal: Function.Periodic (fun x => f (x / a)) (c * a)

full_name: Function.Periodic.add_period
code: theorem Periodic.add_period [AddSemigroup α] (h1 : Periodic f c₁) (h2 : Periodic f c₂) :
    Periodic f (c₁ + c₂) 
goal: Function.Periodic f (c₁ + c₂)

full_name: Function.Periodic.sub_eq
code: theorem Periodic.sub_eq [AddGroup α] (h : Periodic f c) (x : α) : f (x - c) = f x 
goal: f (x - c) = f x

full_name: Function.Periodic.sub_eq'
code: theorem Periodic.sub_eq' [AddCommGroup α] (h : Periodic f c) : f (c - x) = f (-x) 
goal: f (c - x) = f (-x)

full_name: Function.Periodic.neg
code: protected theorem Periodic.neg [AddGroup α] (h : Periodic f c) : Periodic f (-c) 
goal: Function.Periodic f (-c)

full_name: Function.Periodic.sub_period
code: theorem Periodic.sub_period [AddGroup α] (h1 : Periodic f c₁) (h2 : Periodic f c₂) :
    Periodic f (c₁ - c₂) 
goal: Function.Periodic f (c₁ - c₂)

full_name: Function.Periodic.const_add
code: theorem Periodic.const_add [AddSemigroup α] (h : Periodic f c) (a : α) :
    Periodic (fun x => f (a + x)) c 
goal: Function.Periodic (fun x => f (a + x)) c

full_name: Function.Periodic.add_const
code: theorem Periodic.add_const [AddCommSemigroup α] (h : Periodic f c) (a : α) :
    Periodic (fun x => f (x + a)) c 
goal: Function.Periodic (fun x => f (x + a)) c

full_name: Function.Periodic.const_sub
code: theorem Periodic.const_sub [AddCommGroup α] (h : Periodic f c) (a : α) :
    Periodic (fun x => f (a - x)) c 
goal: Function.Periodic (fun x => f (a - x)) c

full_name: Function.Periodic.sub_const
code: theorem Periodic.sub_const [AddCommGroup α] (h : Periodic f c) (a : α) :
    Periodic (fun x => f (x - a)) c 
goal: Function.Periodic (fun x => f (x - a)) c

full_name: Function.Periodic.nsmul
code: theorem Periodic.nsmul [AddMonoid α] (h : Periodic f c) (n : ℕ) : Periodic f (n • c) 
goal: Function.Periodic f (n • c)

full_name: Function.Periodic.nat_mul
code: theorem Periodic.nat_mul [Semiring α] (h : Periodic f c) (n : ℕ) : Periodic f (n * c) 
goal: Function.Periodic f (↑n * c)

full_name: Function.Periodic.neg_nsmul
code: theorem Periodic.neg_nsmul [AddGroup α] (h : Periodic f c) (n : ℕ) : Periodic f (-(n • c)) 
goal: Function.Periodic f (-(n • c))

full_name: Function.Periodic.neg_nat_mul
code: theorem Periodic.neg_nat_mul [Ring α] (h : Periodic f c) (n : ℕ) : Periodic f (-(n * c)) 
goal: Function.Periodic f (-(↑n * c))

full_name: Function.Periodic.sub_nsmul_eq
code: theorem Periodic.sub_nsmul_eq [AddGroup α] (h : Periodic f c) (n : ℕ) : f (x - n • c) = f x 
goal: f (x - n • c) = f x

full_name: Function.Periodic.sub_nat_mul_eq
code: theorem Periodic.sub_nat_mul_eq [Ring α] (h : Periodic f c) (n : ℕ) : f (x - n * c) = f x 
goal: f (x - ↑n * c) = f x

full_name: Function.Periodic.nsmul_sub_eq
code: theorem Periodic.nsmul_sub_eq [AddCommGroup α] (h : Periodic f c) (n : ℕ) :
    f (n • c - x) = f (-x) 
goal: f (n • c - x) = f (-x)

full_name: Function.Periodic.nat_mul_sub_eq
code: theorem Periodic.nat_mul_sub_eq [Ring α] (h : Periodic f c) (n : ℕ) : f (n * c - x) = f (-x) 
goal: f (↑n * c - x) = f (-x)

full_name: Function.Periodic.zsmul
code: protected theorem Periodic.zsmul [AddGroup α] (h : Periodic f c) (n : ℤ) : Periodic f (n • c) 
goal: Function.Periodic f (n • c)

full_name: Function.Periodic.int_mul
code: protected theorem Periodic.int_mul [Ring α] (h : Periodic f c) (n : ℤ) : Periodic f (n * c) 
goal: Function.Periodic f (↑n * c)

full_name: Function.Periodic.sub_zsmul_eq
code: theorem Periodic.sub_zsmul_eq [AddGroup α] (h : Periodic f c) (n : ℤ) : f (x - n • c) = f x 
goal: f (x - n • c) = f x

full_name: Function.Periodic.sub_int_mul_eq
code: theorem Periodic.sub_int_mul_eq [Ring α] (h : Periodic f c) (n : ℤ) : f (x - n * c) = f x 
goal: f (x - ↑n * c) = f x

full_name: Function.Periodic.zsmul_sub_eq
code: theorem Periodic.zsmul_sub_eq [AddCommGroup α] (h : Periodic f c) (n : ℤ) :
    f (n • c - x) = f (-x) 
goal: f (n • c - x) = f (-x)

full_name: Function.Periodic.int_mul_sub_eq
code: theorem Periodic.int_mul_sub_eq [Ring α] (h : Periodic f c) (n : ℤ) : f (n * c - x) = f (-x) 
goal: f (↑n * c - x) = f (-x)

full_name: Function.Periodic.eq
code: protected theorem Periodic.eq [AddZeroClass α] (h : Periodic f c) : f c = f 0 
goal: f c = f 0

full_name: Function.Periodic.neg_eq
code: protected theorem Periodic.neg_eq [AddGroup α] (h : Periodic f c) : f (-c) = f 0 
goal: f (-c) = f 0

full_name: Function.Periodic.nsmul_eq
code: protected theorem Periodic.nsmul_eq [AddMonoid α] (h : Periodic f c) (n : ℕ) : f (n • c) = f 0 
goal: f (n • c) = f 0

full_name: Function.Periodic.nat_mul_eq
code: theorem Periodic.nat_mul_eq [Semiring α] (h : Periodic f c) (n : ℕ) : f (n * c) = f 0 
goal: f (↑n * c) = f 0

full_name: Function.Periodic.zsmul_eq
code: theorem Periodic.zsmul_eq [AddGroup α] (h : Periodic f c) (n : ℤ) : f (n • c) = f 0 
goal: f (n • c) = f 0

full_name: Function.Periodic.int_mul_eq
code: theorem Periodic.int_mul_eq [Ring α] (h : Periodic f c) (n : ℤ) : f (n * c) = f 0 
goal: f (↑n * c) = f 0

full_name: Function.Periodic.exists_mem_Ico₀
code: /-- If a function `f` is `Periodic` with positive period `c`, then for all `x` there exists some
  `y ∈ Ico 0 c` such that `f x = f y`. -/
theorem Periodic.exists_mem_Ico₀ [LinearOrderedAddCommGroup α] [Archimedean α] (h : Periodic f c)
    (hc : 0 < c) (x) : ∃ y ∈ Ico 0 c, f x = f y 
goal: ∃ y ∈ Set.Ico 0 c, f x = f y

full_name: Function.Periodic.exists_mem_Ico
code: /-- If a function `f` is `Periodic` with positive period `c`, then for all `x` there exists some
  `y ∈ Ico a (a + c)` such that `f x = f y`. -/
theorem Periodic.exists_mem_Ico [LinearOrderedAddCommGroup α] [Archimedean α] (h : Periodic f c)
    (hc : 0 < c) (x a) : ∃ y ∈ Ico a (a + c), f x = f y 
goal: ∃ y ∈ Set.Ico a (a + c), f x = f y

full_name: Function.Periodic.exists_mem_Ioc
code: /-- If a function `f` is `Periodic` with positive period `c`, then for all `x` there exists some
  `y ∈ Ioc a (a + c)` such that `f x = f y`. -/
theorem Periodic.exists_mem_Ioc [LinearOrderedAddCommGroup α] [Archimedean α] (h : Periodic f c)
    (hc : 0 < c) (x a) : ∃ y ∈ Ioc a (a + c), f x = f y 
goal: ∃ y ∈ Set.Ioc a (a + c), f x = f y

full_name: Function.Periodic.image_Ioc
code: theorem Periodic.image_Ioc [LinearOrderedAddCommGroup α] [Archimedean α] (h : Periodic f c)
    (hc : 0 < c) (a : α) : f '' Ioc a (a + c) = range f 
goal: f '' Set.Ioc a (a + c) = Set.range f

full_name: Function.Periodic.image_Icc
code: theorem Periodic.image_Icc [LinearOrderedAddCommGroup α] [Archimedean α] (h : Periodic f c)
    (hc : 0 < c) (a : α) : f '' Icc a (a + c) = range f 
goal: f '' Set.Icc a (a + c) = Set.range f

full_name: Function.Periodic.image_uIcc
code: theorem Periodic.image_uIcc [LinearOrderedAddCommGroup α] [Archimedean α] (h : Periodic f c)
    (hc : c ≠ 0) (a : α) : f '' uIcc a (a + c) = range f 
goal: f '' Set.uIcc a (a + c) = Set.range f

full_name: Function.periodic_with_period_zero
code: theorem periodic_with_period_zero [AddZeroClass α] (f : α → β) : Periodic f 0 
goal: Function.Periodic f 0

full_name: Function.Periodic.map_vadd_zmultiples
code: theorem Periodic.map_vadd_zmultiples [AddCommGroup α] (hf : Periodic f c)
    (a : AddSubgroup.zmultiples c) (x : α) : f (a +ᵥ x) = f x 
goal: f (a +ᵥ x) = f x

full_name: Function.Periodic.map_vadd_multiples
code: theorem Periodic.map_vadd_multiples [AddCommMonoid α] (hf : Periodic f c)
    (a : AddSubmonoid.multiples c) (x : α) : f (a +ᵥ x) = f x 
goal: f (a +ᵥ x) = f x

full_name: Function.Periodic.lift
code: /-- Lift a periodic function to a function from the quotient group. -/
def Periodic.lift [AddGroup α] (h : Periodic f c) (x : α ⧸ AddSubgroup.zmultiples c) : β 
goal: β

full_name: Function.Periodic.lift_coe
code: @[simp]
theorem Periodic.lift_coe [AddGroup α] (h : Periodic f c) (a : α) :
    h.lift (a : α ⧸ AddSubgroup.zmultiples c) = f a 
goal: h.lift ↑a = f a

full_name: Function.Periodic.not_injective
code: /-- A periodic function `f : R → X` on a semiring (or, more generally, `AddZeroClass`)
of non-zero period is not injective. -/
lemma Periodic.not_injective {R X : Type*} [AddZeroClass R] {f : R → X} {c : R}
    (hf : Periodic f c) (hc : c ≠ 0) : ¬ Injective f 
goal: ¬Function.Injective f

full_name: Function.Antiperiodic
code: /-- A function `f` is said to be `antiperiodic` with antiperiod `c` if for all `x`,
  `f (x + c) = -f x`. -/
@[simp]
def Antiperiodic [Add α] [Neg β] (f : α → β) (c : α) : Prop 
goal: Prop

full_name: Function.Antiperiodic.funext
code: protected theorem Antiperiodic.funext [Add α] [Neg β] (h : Antiperiodic f c) :
    (fun x => f (x + c)) = -f 
goal: (fun x => f (x + c)) = -f

full_name: Function.Antiperiodic.funext'
code: protected theorem Antiperiodic.funext' [Add α] [InvolutiveNeg β] (h : Antiperiodic f c) :
    (fun x => -f (x + c)) = f 
goal: (fun x => -f (x + c)) = f

full_name: Function.Antiperiodic.periodic
code: /-- If a function is `antiperiodic` with antiperiod `c`, then it is also `Periodic` with period
`2 • c`. -/
protected theorem Antiperiodic.periodic [AddMonoid α] [InvolutiveNeg β]
    (h : Antiperiodic f c) : Periodic f (2 • c) 
goal: Function.Periodic f (2 • c)

full_name: Function.Antiperiodic.periodic_two_mul
code: /-- If a function is `antiperiodic` with antiperiod `c`, then it is also `Periodic` with period
  `2 * c`. -/
protected theorem Antiperiodic.periodic_two_mul [Semiring α] [InvolutiveNeg β]
    (h : Antiperiodic f c) : Periodic f (2 * c) 
goal: Function.Periodic f (2 * c)

full_name: Function.Antiperiodic.eq
code: protected theorem Antiperiodic.eq [AddZeroClass α] [Neg β] (h : Antiperiodic f c) : f c = -f 0 
goal: f c = -f 0

full_name: Function.Antiperiodic.even_nsmul_periodic
code: theorem Antiperiodic.even_nsmul_periodic [AddMonoid α] [InvolutiveNeg β] (h : Antiperiodic f c)
    (n : ℕ) : Periodic f ((2 * n) • c) 
goal: Function.Periodic f ((2 * n) • c)

full_name: Function.Antiperiodic.nat_even_mul_periodic
code: theorem Antiperiodic.nat_even_mul_periodic [Semiring α] [InvolutiveNeg β] (h : Antiperiodic f c)
    (n : ℕ) : Periodic f (n * (2 * c)) 
goal: Function.Periodic f (↑n * (2 * c))

full_name: Function.Antiperiodic.odd_nsmul_antiperiodic
code: theorem Antiperiodic.odd_nsmul_antiperiodic [AddMonoid α] [InvolutiveNeg β] (h : Antiperiodic f c)
    (n : ℕ) : Antiperiodic f ((2 * n + 1) • c) 
goal: Function.Antiperiodic f ((2 * n + 1) • c)

full_name: Function.Antiperiodic.nat_odd_mul_antiperiodic
code: theorem Antiperiodic.nat_odd_mul_antiperiodic [Semiring α] [InvolutiveNeg β] (h : Antiperiodic f c)
    (n : ℕ) : Antiperiodic f (n * (2 * c) + c) 
goal: Function.Antiperiodic f (↑n * (2 * c) + c)

full_name: Function.Antiperiodic.even_zsmul_periodic
code: theorem Antiperiodic.even_zsmul_periodic [AddGroup α] [InvolutiveNeg β] (h : Antiperiodic f c)
    (n : ℤ) : Periodic f ((2 * n) • c) 
goal: Function.Periodic f ((2 * n) • c)

full_name: Function.Antiperiodic.int_even_mul_periodic
code: theorem Antiperiodic.int_even_mul_periodic [Ring α] [InvolutiveNeg β] (h : Antiperiodic f c)
    (n : ℤ) : Periodic f (n * (2 * c)) 
goal: Function.Periodic f (↑n * (2 * c))

full_name: Function.Antiperiodic.odd_zsmul_antiperiodic
code: theorem Antiperiodic.odd_zsmul_antiperiodic [AddGroup α] [InvolutiveNeg β] (h : Antiperiodic f c)
    (n : ℤ) : Antiperiodic f ((2 * n + 1) • c) 
goal: Function.Antiperiodic f ((2 * n + 1) • c)

full_name: Function.Antiperiodic.int_odd_mul_antiperiodic
code: theorem Antiperiodic.int_odd_mul_antiperiodic [Ring α] [InvolutiveNeg β] (h : Antiperiodic f c)
    (n : ℤ) : Antiperiodic f (n * (2 * c) + c) 
goal: Function.Antiperiodic f (↑n * (2 * c) + c)

full_name: Function.Antiperiodic.sub_eq
code: theorem Antiperiodic.sub_eq [AddGroup α] [InvolutiveNeg β] (h : Antiperiodic f c) (x : α) :
    f (x - c) = -f x 
goal: f (x - c) = -f x

full_name: Function.Antiperiodic.sub_eq'
code: theorem Antiperiodic.sub_eq' [AddCommGroup α] [Neg β] (h : Antiperiodic f c) :
    f (c - x) = -f (-x) 
goal: f (c - x) = -f (-x)

full_name: Function.Antiperiodic.neg
code: protected theorem Antiperiodic.neg [AddGroup α] [InvolutiveNeg β] (h : Antiperiodic f c) :
    Antiperiodic f (-c) 
goal: Function.Antiperiodic f (-c)

full_name: Function.Antiperiodic.neg_eq
code: theorem Antiperiodic.neg_eq [AddGroup α] [InvolutiveNeg β] (h : Antiperiodic f c) :
    f (-c) = -f 0 
goal: f (-c) = -f 0

full_name: Function.Antiperiodic.nat_mul_eq_of_eq_zero
code: theorem Antiperiodic.nat_mul_eq_of_eq_zero [Semiring α] [NegZeroClass β] (h : Antiperiodic f c)
    (hi : f 0 = 0) : ∀ n : ℕ, f (n * c) = 0
  
goal: f (↑n * c) = 0

full_name: Function.Antiperiodic.int_mul_eq_of_eq_zero
code: theorem Antiperiodic.int_mul_eq_of_eq_zero [Ring α] [SubtractionMonoid β] (h : Antiperiodic f c)
    (hi : f 0 = 0) : ∀ n : ℤ, f (n * c) = 0
  
goal: f (↑n * c) = 0

full_name: Function.Antiperiodic.add_zsmul_eq
code: theorem Antiperiodic.add_zsmul_eq [AddGroup α] [AddGroup β] (h : Antiperiodic f c) (n : ℤ) :
    f (x + n • c) = (n.negOnePow : ℤ) • f x 
goal: f (x + n • c) = ↑n.negOnePow • f x

full_name: Function.Antiperiodic.sub_zsmul_eq
code: theorem Antiperiodic.sub_zsmul_eq [AddGroup α] [AddGroup β] (h : Antiperiodic f c) (n : ℤ) :
    f (x - n • c) = (n.negOnePow : ℤ) • f x 
goal: f (x - n • c) = ↑n.negOnePow • f x

full_name: Function.Antiperiodic.zsmul_sub_eq
code: theorem Antiperiodic.zsmul_sub_eq [AddCommGroup α] [AddGroup β] (h : Antiperiodic f c) (n : ℤ) :
    f (n • c - x) = (n.negOnePow : ℤ) • f (-x) 
goal: f (n • c - x) = ↑n.negOnePow • f (-x)

full_name: Function.Antiperiodic.add_int_mul_eq
code: theorem Antiperiodic.add_int_mul_eq [Ring α] [Ring β] (h : Antiperiodic f c) (n : ℤ) :
    f (x + n * c) = (n.negOnePow : ℤ) * f x 
goal: f (x + ↑n * c) = ↑↑n.negOnePow * f x

full_name: Function.Antiperiodic.sub_int_mul_eq
code: theorem Antiperiodic.sub_int_mul_eq [Ring α] [Ring β] (h : Antiperiodic f c) (n : ℤ) :
    f (x - n * c) = (n.negOnePow : ℤ) * f x 
goal: f (x - ↑n * c) = ↑↑n.negOnePow * f x

full_name: Function.Antiperiodic.int_mul_sub_eq
code: theorem Antiperiodic.int_mul_sub_eq [Ring α] [Ring β] (h : Antiperiodic f c) (n : ℤ) :
    f (n * c - x) = (n.negOnePow : ℤ) * f (-x) 
goal: f (↑n * c - x) = ↑↑n.negOnePow * f (-x)

full_name: Function.Antiperiodic.add_nsmul_eq
code: theorem Antiperiodic.add_nsmul_eq [AddMonoid α] [AddGroup β] (h : Antiperiodic f c) (n : ℕ) :
    f (x + n • c) = (-1) ^ n • f x 
goal: f (x + n • c) = (-1) ^ n • f x

full_name: Function.Antiperiodic.sub_nsmul_eq
code: theorem Antiperiodic.sub_nsmul_eq [AddGroup α] [AddGroup β] (h : Antiperiodic f c) (n : ℕ) :
    f (x - n • c) = (-1) ^ n • f x 
goal: f (x - n • c) = (-1) ^ n • f x

full_name: Function.Antiperiodic.nsmul_sub_eq
code: theorem Antiperiodic.nsmul_sub_eq [AddCommGroup α] [AddGroup β] (h : Antiperiodic f c) (n : ℕ) :
    f (n • c - x) = (-1) ^ n • f (-x) 
goal: f (n • c - x) = (-1) ^ n • f (-x)

full_name: Function.Antiperiodic.add_nat_mul_eq
code: theorem Antiperiodic.add_nat_mul_eq [Semiring α] [Ring β] (h : Antiperiodic f c) (n : ℕ) :
    f (x + n * c) = (-1) ^ n * f x 
goal: f (x + ↑n * c) = (-1) ^ n * f x

full_name: Function.Antiperiodic.sub_nat_mul_eq
code: theorem Antiperiodic.sub_nat_mul_eq [Ring α] [Ring β] (h : Antiperiodic f c) (n : ℕ) :
    f (x - n * c) = (-1) ^ n * f x 
goal: f (x - ↑n * c) = (-1) ^ n * f x

full_name: Function.Antiperiodic.nat_mul_sub_eq
code: theorem Antiperiodic.nat_mul_sub_eq [Ring α] [Ring β] (h : Antiperiodic f c) (n : ℕ) :
    f (n * c - x) = (-1) ^ n * f (-x) 
goal: f (↑n * c - x) = (-1) ^ n * f (-x)

full_name: Function.Antiperiodic.const_add
code: theorem Antiperiodic.const_add [AddSemigroup α] [Neg β] (h : Antiperiodic f c) (a : α) :
    Antiperiodic (fun x => f (a + x)) c 
goal: Function.Antiperiodic (fun x => f (a + x)) c

full_name: Function.Antiperiodic.add_const
code: theorem Antiperiodic.add_const [AddCommSemigroup α] [Neg β] (h : Antiperiodic f c) (a : α) :
    Antiperiodic (fun x => f (x + a)) c 
goal: Function.Antiperiodic (fun x => f (x + a)) c

full_name: Function.Antiperiodic.const_sub
code: theorem Antiperiodic.const_sub [AddCommGroup α] [InvolutiveNeg β] (h : Antiperiodic f c) (a : α) :
    Antiperiodic (fun x => f (a - x)) c 
goal: Function.Antiperiodic (fun x => f (a - x)) c

full_name: Function.Antiperiodic.sub_const
code: theorem Antiperiodic.sub_const [AddCommGroup α] [Neg β] (h : Antiperiodic f c) (a : α) :
    Antiperiodic (fun x => f (x - a)) c 
goal: Function.Antiperiodic (fun x => f (x - a)) c

full_name: Function.Antiperiodic.smul
code: theorem Antiperiodic.smul [Add α] [Monoid γ] [AddGroup β] [DistribMulAction γ β]
    (h : Antiperiodic f c) (a : γ) : Antiperiodic (a • f) c 
goal: Function.Antiperiodic (a • f) c

full_name: Function.Antiperiodic.const_smul
code: theorem Antiperiodic.const_smul [AddMonoid α] [Neg β] [Group γ] [DistribMulAction γ α]
    (h : Antiperiodic f c) (a : γ) : Antiperiodic (fun x => f (a • x)) (a⁻¹ • c) 
goal: Function.Antiperiodic (fun x => f (a • x)) (a⁻¹ • c)

full_name: Function.Antiperiodic.const_smul₀
code: theorem Antiperiodic.const_smul₀ [AddCommMonoid α] [Neg β] [DivisionSemiring γ] [Module γ α]
    (h : Antiperiodic f c) {a : γ} (ha : a ≠ 0) : Antiperiodic (fun x => f (a • x)) (a⁻¹ • c) 
goal: Function.Antiperiodic (fun x => f (a • x)) (a⁻¹ • c)

full_name: Function.Antiperiodic.const_mul
code: theorem Antiperiodic.const_mul [DivisionSemiring α] [Neg β] (h : Antiperiodic f c) {a : α}
    (ha : a ≠ 0) : Antiperiodic (fun x => f (a * x)) (a⁻¹ * c) 
goal: Function.Antiperiodic (fun x => f (a * x)) (a⁻¹ * c)

full_name: Function.Antiperiodic.const_inv_smul
code: theorem Antiperiodic.const_inv_smul [AddMonoid α] [Neg β] [Group γ] [DistribMulAction γ α]
    (h : Antiperiodic f c) (a : γ) : Antiperiodic (fun x => f (a⁻¹ • x)) (a • c) 
goal: Function.Antiperiodic (fun x => f (a⁻¹ • x)) (a • c)

full_name: Function.Antiperiodic.const_inv_smul₀
code: theorem Antiperiodic.const_inv_smul₀ [AddCommMonoid α] [Neg β] [DivisionSemiring γ] [Module γ α]
    (h : Antiperiodic f c) {a : γ} (ha : a ≠ 0) : Antiperiodic (fun x => f (a⁻¹ • x)) (a • c) 
goal: Function.Antiperiodic (fun x => f (a⁻¹ • x)) (a • c)

full_name: Function.Antiperiodic.const_inv_mul
code: theorem Antiperiodic.const_inv_mul [DivisionSemiring α] [Neg β] (h : Antiperiodic f c) {a : α}
    (ha : a ≠ 0) : Antiperiodic (fun x => f (a⁻¹ * x)) (a * c) 
goal: Function.Antiperiodic (fun x => f (a⁻¹ * x)) (a * c)

full_name: Function.Antiperiodic.mul_const
code: theorem Antiperiodic.mul_const [DivisionSemiring α] [Neg β] (h : Antiperiodic f c) {a : α}
    (ha : a ≠ 0) : Antiperiodic (fun x => f (x * a)) (c * a⁻¹) 
goal: Function.Antiperiodic (fun x => f (x * a)) (c * a⁻¹)

full_name: Function.Antiperiodic.mul_const'
code: theorem Antiperiodic.mul_const' [DivisionSemiring α] [Neg β] (h : Antiperiodic f c) {a : α}
    (ha : a ≠ 0) : Antiperiodic (fun x => f (x * a)) (c / a) 
goal: Function.Antiperiodic (fun x => f (x * a)) (c / a)

full_name: Function.Antiperiodic.mul_const_inv
code: theorem Antiperiodic.mul_const_inv [DivisionSemiring α] [Neg β] (h : Antiperiodic f c) {a : α}
    (ha : a ≠ 0) : Antiperiodic (fun x => f (x * a⁻¹)) (c * a) 
goal: Function.Antiperiodic (fun x => f (x * a⁻¹)) (c * a)

full_name: Function.Antiperiodic.div_inv
code: theorem Antiperiodic.div_inv [DivisionSemiring α] [Neg β] (h : Antiperiodic f c) {a : α}
    (ha : a ≠ 0) : Antiperiodic (fun x => f (x / a)) (c * a) 
goal: Function.Antiperiodic (fun x => f (x / a)) (c * a)

full_name: Function.Antiperiodic.add
code: theorem Antiperiodic.add [AddGroup α] [InvolutiveNeg β] (h1 : Antiperiodic f c₁)
    (h2 : Antiperiodic f c₂) : Periodic f (c₁ + c₂) 
goal: Function.Periodic f (c₁ + c₂)

full_name: Function.Antiperiodic.sub
code: theorem Antiperiodic.sub [AddGroup α] [InvolutiveNeg β] (h1 : Antiperiodic f c₁)
    (h2 : Antiperiodic f c₂) : Periodic f (c₁ - c₂) 
goal: Function.Periodic f (c₁ - c₂)

full_name: Function.Periodic.add_antiperiod
code: theorem Periodic.add_antiperiod [AddGroup α] [Neg β] (h1 : Periodic f c₁) (h2 : Antiperiodic f c₂) :
    Antiperiodic f (c₁ + c₂) 
goal: Function.Antiperiodic f (c₁ + c₂)

full_name: Function.Periodic.sub_antiperiod
code: theorem Periodic.sub_antiperiod [AddGroup α] [InvolutiveNeg β] (h1 : Periodic f c₁)
    (h2 : Antiperiodic f c₂) : Antiperiodic f (c₁ - c₂) 
goal: Function.Antiperiodic f (c₁ - c₂)

full_name: Function.Periodic.add_antiperiod_eq
code: theorem Periodic.add_antiperiod_eq [AddGroup α] [Neg β] (h1 : Periodic f c₁)
    (h2 : Antiperiodic f c₂) : f (c₁ + c₂) = -f 0 
goal: f (c₁ + c₂) = -f 0

full_name: Function.Periodic.sub_antiperiod_eq
code: theorem Periodic.sub_antiperiod_eq [AddGroup α] [InvolutiveNeg β] (h1 : Periodic f c₁)
    (h2 : Antiperiodic f c₂) : f (c₁ - c₂) = -f 0 
goal: f (c₁ - c₂) = -f 0

full_name: Function.Antiperiodic.mul
code: theorem Antiperiodic.mul [Add α] [Mul β] [HasDistribNeg β] (hf : Antiperiodic f c)
    (hg : Antiperiodic g c) : Periodic (f * g) c 
goal: Function.Periodic (f * g) c

full_name: Function.Antiperiodic.div
code: theorem Antiperiodic.div [Add α] [DivisionMonoid β] [HasDistribNeg β] (hf : Antiperiodic f c)
    (hg : Antiperiodic g c) : Periodic (f / g) c 
goal: Function.Periodic (f / g) c

full_name: Int.fract_periodic
code: theorem Int.fract_periodic (α) [LinearOrderedRing α] [FloorRing α] :
    Function.Periodic Int.fract (1 : α) 
goal: Function.Periodic Int.fract 1