ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- ZMod.card_units
theorem card_units (p : ℕ) [Fact p.Prime] : Fintype.card (ZMod p)ˣ = p - 1 
Arguments: (p : ℕ) [Fact (Nat.Prime p)]
Goal: Fintype.card (ZMod p)ˣ = p - 1
-- ZMod.units_pow_card_sub_one_eq_one
theorem units_pow_card_sub_one_eq_one (p : ℕ) [Fact p.Prime] (a : (ZMod p)ˣ) : a ^ (p - 1) = 1 
Arguments: (p : ℕ) [Fact (Nat.Prime p)] (a : (ZMod p)ˣ)
Goal: a ^ (p - 1) = 1
-- ZMod.pow_card_sub_one_eq_one
theorem pow_card_sub_one_eq_one {p : ℕ} [Fact p.Prime] {a : ZMod p} (ha : a ≠ 0) :
    a ^ (p - 1) = 1 
Arguments: {p : ℕ} [Fact (Nat.Prime p)] {a : ZMod p} (ha : a ≠ 0)
Goal: a ^ (p - 1) = 1
-- ZMod.pow_card_sub_one
lemma pow_card_sub_one {p : ℕ} [Fact p.Prime] (a : ZMod p) :
    a ^ (p - 1) = if a ≠ 0 then 1 else 0 
Arguments: {p : ℕ} [Fact (Nat.Prime p)] (a : ZMod p)
Goal: a ^ (p - 1) = if a ≠ 0 then 1 else 0
-- ZMod.orderOf_units_dvd_card_sub_one
theorem orderOf_units_dvd_card_sub_one {p : ℕ} [Fact p.Prime] (u : (ZMod p)ˣ) : orderOf u ∣ p - 1 
Arguments: {p : ℕ} [Fact (Nat.Prime p)] (u : (ZMod p)ˣ)
Goal: orderOf u ∣ p - 1
-- ZMod.orderOf_dvd_card_sub_one
theorem orderOf_dvd_card_sub_one {p : ℕ} [Fact p.Prime] {a : ZMod p} (ha : a ≠ 0) :
    orderOf a ∣ p - 1 
Arguments: {p : ℕ} [Fact (Nat.Prime p)] {a : ZMod p} (ha : a ≠ 0)
Goal: orderOf a ∣ p - 1
-- ZMod.expand_card
theorem expand_card {p : ℕ} [Fact p.Prime] (f : Polynomial (ZMod p)) :
    expand (ZMod p) p f = f ^ p 
Arguments: {p : ℕ} [Fact (Nat.Prime p)] (f : (ZMod p)[X])
Goal: (Polynomial.expand (ZMod p) p) f = f ^ p
-- Int.ModEq.pow_card_sub_one_eq_one
theorem Int.ModEq.pow_card_sub_one_eq_one {p : ℕ} (hp : Nat.Prime p) {n : ℤ} (hpn : IsCoprime n p) :
    n ^ (p - 1) ≡ 1 [ZMOD p] 
Arguments: {p : ℕ} (hp : Nat.Prime p) {n : ℤ} (hpn : IsCoprime n ↑p)
Goal: n ^ (p - 1) ≡ 1 [ZMOD ↑p]
-- FiniteField.isSquare_of_char_two
theorem isSquare_of_char_two (hF : ringChar F = 2) (a : F) : IsSquare a 
Arguments: {F : Type u_3} [Field F] [Finite F] (hF : ringChar F = 2) (a : F)
Goal: IsSquare a
-- FiniteField.exists_nonsquare
theorem exists_nonsquare (hF : ringChar F ≠ 2) : ∃ a : F, ¬IsSquare a 
Arguments: {F : Type u_3} [Field F] [Finite F] (hF : ringChar F ≠ 2)
Goal: ∃ a, ¬IsSquare a
-- FiniteField.even_card_iff_char_two
theorem even_card_iff_char_two : ringChar F = 2 ↔ Fintype.card F % 2 = 0 
Arguments: {F : Type u_3} [Field F] [Fintype F]
Goal: ringChar F = 2 ↔ Fintype.card F % 2 = 0
-- FiniteField.even_card_of_char_two
theorem even_card_of_char_two (hF : ringChar F = 2) : Fintype.card F % 2 = 0 
Arguments: {F : Type u_3} [Field F] [Fintype F] (hF : ringChar F = 2)
Goal: Fintype.card F % 2 = 0
-- FiniteField.odd_card_of_char_ne_two
theorem odd_card_of_char_ne_two (hF : ringChar F ≠ 2) : Fintype.card F % 2 = 1 
Arguments: {F : Type u_3} [Field F] [Fintype F] (hF : ringChar F ≠ 2)
Goal: Fintype.card F % 2 = 1
-- FiniteField.pow_dichotomy
theorem pow_dichotomy (hF : ringChar F ≠ 2) {a : F} (ha : a ≠ 0) :
    a ^ (Fintype.card F / 2) = 1 ∨ a ^ (Fintype.card F / 2) = -1 
Arguments: {F : Type u_3} [Field F] [Fintype F] (hF : ringChar F ≠ 2) {a : F} (ha : a ≠ 0)
Goal: a ^ (Fintype.card F / 2) = 1 ∨ a ^ (Fintype.card F / 2) = -1
-- FiniteField.unit_isSquare_iff
theorem unit_isSquare_iff (hF : ringChar F ≠ 2) (a : Fˣ) :
    IsSquare a ↔ a ^ (Fintype.card F / 2) = 1 
Arguments: {F : Type u_3} [Field F] [Fintype F] (hF : ringChar F ≠ 2) (a : Fˣ)
Goal: IsSquare a ↔ a ^ (Fintype.card F / 2) = 1
-- FiniteField.isSquare_iff
theorem isSquare_iff (hF : ringChar F ≠ 2) {a : F} (ha : a ≠ 0) :
    IsSquare a ↔ a ^ (Fintype.card F / 2) = 1 
Arguments: {F : Type u_3} [Field F] [Fintype F] (hF : ringChar F ≠ 2) {a : F} (ha : a ≠ 0)
Goal: IsSquare a ↔ a ^ (Fintype.card F / 2) = 1
-- Function.IsFixedPt.isPeriodicPt
theorem IsFixedPt.isPeriodicPt (hf : IsFixedPt f x) (n : ℕ) : IsPeriodicPt f n x 
Arguments: {α : Type u_1} {f : α → α} {x : α} (hf : Function.IsFixedPt f x) (n : ℕ)
Goal: Function.IsPeriodicPt f n x
-- Function.is_periodic_id
theorem is_periodic_id (n : ℕ) (x : α) : IsPeriodicPt id n x 
Arguments: {α : Type u_1} (n : ℕ) (x : α)
Goal: Function.IsPeriodicPt id n x
-- Function.isPeriodicPt_zero
theorem isPeriodicPt_zero (f : α → α) (x : α) : IsPeriodicPt f 0 x 
Arguments: {α : Type u_1} (f : α → α) (x : α)
Goal: Function.IsPeriodicPt f 0 x
-- Function.IsPeriodicPt.isFixedPt
protected theorem isFixedPt (hf : IsPeriodicPt f n x) : IsFixedPt f^[n] x 
Arguments: {α : Type u_1} {f : α → α} {x : α} {n : ℕ} (hf : Function.IsPeriodicPt f n x)
Goal: Function.IsFixedPt f^[n] x
-- Function.IsPeriodicPt.map
protected theorem map (hx : IsPeriodicPt fa n x) {g : α → β} (hg : Semiconj g fa fb) :
    IsPeriodicPt fb n (g x) 
Arguments: {α : Type u_1} {β : Type u_2} {fa : α → α} {fb : β → β} {x : α} {n : ℕ} (hx : Function.IsPeriodicPt fa n x) {g : α → β} (hg : Function.Semiconj g fa fb)
Goal: Function.IsPeriodicPt fb n (g x)
-- Function.IsPeriodicPt.apply_iterate
theorem apply_iterate (hx : IsPeriodicPt f n x) (m : ℕ) : IsPeriodicPt f n (f^[m] x) 
Arguments: {α : Type u_1} {f : α → α} {x : α} {n : ℕ} (hx : Function.IsPeriodicPt f n x) (m : ℕ)
Goal: Function.IsPeriodicPt f n (f^[m] x)
-- Function.IsPeriodicPt.apply
protected theorem apply (hx : IsPeriodicPt f n x) : IsPeriodicPt f n (f x) 
Arguments: {α : Type u_1} {f : α → α} {x : α} {n : ℕ} (hx : Function.IsPeriodicPt f n x)
Goal: Function.IsPeriodicPt f n (f x)
-- Function.IsPeriodicPt.add
protected theorem add (hn : IsPeriodicPt f n x) (hm : IsPeriodicPt f m x) :
    IsPeriodicPt f (n + m) x 
Arguments: {α : Type u_1} {f : α → α} {x : α} {m n : ℕ} (hn : Function.IsPeriodicPt f n x) (hm : Function.IsPeriodicPt f m x)
Goal: Function.IsPeriodicPt f (n + m) x
-- Function.IsPeriodicPt.left_of_add
theorem left_of_add (hn : IsPeriodicPt f (n + m) x) (hm : IsPeriodicPt f m x) :
    IsPeriodicPt f n x 
Arguments: {α : Type u_1} {f : α → α} {x : α} {m n : ℕ} (hn : Function.IsPeriodicPt f (n + m) x) (hm : Function.IsPeriodicPt f m x)
Goal: Function.IsPeriodicPt f n x
-- Function.IsPeriodicPt.right_of_add
theorem right_of_add (hn : IsPeriodicPt f (n + m) x) (hm : IsPeriodicPt f n x) :
    IsPeriodicPt f m x 
Arguments: {α : Type u_1} {f : α → α} {x : α} {m n : ℕ} (hn : Function.IsPeriodicPt f (n + m) x) (hm : Function.IsPeriodicPt f n x)
Goal: Function.IsPeriodicPt f m x
-- Function.IsPeriodicPt.sub
protected theorem sub (hm : IsPeriodicPt f m x) (hn : IsPeriodicPt f n x) :
    IsPeriodicPt f (m - n) x 
Arguments: {α : Type u_1} {f : α → α} {x : α} {m n : ℕ} (hm : Function.IsPeriodicPt f m x) (hn : Function.IsPeriodicPt f n x)
Goal: Function.IsPeriodicPt f (m - n) x
-- Function.IsPeriodicPt.mul_const
protected theorem mul_const (hm : IsPeriodicPt f m x) (n : ℕ) : IsPeriodicPt f (m * n) x 
Arguments: {α : Type u_1} {f : α → α} {x : α} {m : ℕ} (hm : Function.IsPeriodicPt f m x) (n : ℕ)
Goal: Function.IsPeriodicPt f (m * n) x
-- Function.IsPeriodicPt.const_mul
protected theorem const_mul (hm : IsPeriodicPt f m x) (n : ℕ) : IsPeriodicPt f (n * m) x 
Arguments: {α : Type u_1} {f : α → α} {x : α} {m : ℕ} (hm : Function.IsPeriodicPt f m x) (n : ℕ)
Goal: Function.IsPeriodicPt f (n * m) x
-- Function.IsPeriodicPt.trans_dvd
theorem trans_dvd (hm : IsPeriodicPt f m x) {n : ℕ} (hn : m ∣ n) : IsPeriodicPt f n x 
Arguments: {α : Type u_1} {f : α → α} {x : α} {m : ℕ} (hm : Function.IsPeriodicPt f m x) {n : ℕ} (hn : m ∣ n)
Goal: Function.IsPeriodicPt f n x
-- Function.IsPeriodicPt.iterate
protected theorem iterate (hf : IsPeriodicPt f n x) (m : ℕ) : IsPeriodicPt f^[m] n x 
Arguments: {α : Type u_1} {f : α → α} {x : α} {n : ℕ} (hf : Function.IsPeriodicPt f n x) (m : ℕ)
Goal: Function.IsPeriodicPt f^[m] n x
-- Function.IsPeriodicPt.comp
theorem comp {g : α → α} (hco : Commute f g) (hf : IsPeriodicPt f n x) (hg : IsPeriodicPt g n x) :
    IsPeriodicPt (f ∘ g) n x 
Arguments: {α : Type u_1} {f : α → α} {x : α} {n : ℕ} {g : α → α} (hco : Function.Commute f g) (hf : Function.IsPeriodicPt f n x) (hg : Function.IsPeriodicPt g n x)
Goal: Function.IsPeriodicPt (f ∘ g) n x
-- Function.IsPeriodicPt.comp_lcm
theorem comp_lcm {g : α → α} (hco : Commute f g) (hf : IsPeriodicPt f m x)
    (hg : IsPeriodicPt g n x) : IsPeriodicPt (f ∘ g) (Nat.lcm m n) x 
Arguments: {α : Type u_1} {f : α → α} {x : α} {m n : ℕ} {g : α → α} (hco : Function.Commute f g) (hf : Function.IsPeriodicPt f m x) (hg : Function.IsPeriodicPt g n x)
Goal: Function.IsPeriodicPt (f ∘ g) (m.lcm n) x
-- Function.IsPeriodicPt.left_of_comp
theorem left_of_comp {g : α → α} (hco : Commute f g) (hfg : IsPeriodicPt (f ∘ g) n x)
    (hg : IsPeriodicPt g n x) : IsPeriodicPt f n x 
Arguments: {α : Type u_1} {f : α → α} {x : α} {n : ℕ} {g : α → α} (hco : Function.Commute f g) (hfg : Function.IsPeriodicPt (f ∘ g) n x) (hg : Function.IsPeriodicPt g n x)
Goal: Function.IsPeriodicPt f n x
-- Function.IsPeriodicPt.iterate_mod_apply
theorem iterate_mod_apply (h : IsPeriodicPt f n x) (m : ℕ) : f^[m % n] x = f^[m] x 
Arguments: {α : Type u_1} {f : α → α} {x : α} {n : ℕ} (h : Function.IsPeriodicPt f n x) (m : ℕ)
Goal: f^[m % n] x = f^[m] x
-- Function.IsPeriodicPt.mod
protected theorem mod (hm : IsPeriodicPt f m x) (hn : IsPeriodicPt f n x) :
    IsPeriodicPt f (m % n) x 
Arguments: {α : Type u_1} {f : α → α} {x : α} {m n : ℕ} (hm : Function.IsPeriodicPt f m x) (hn : Function.IsPeriodicPt f n x)
Goal: Function.IsPeriodicPt f (m % n) x
-- Function.IsPeriodicPt.gcd
protected theorem gcd (hm : IsPeriodicPt f m x) (hn : IsPeriodicPt f n x) :
    IsPeriodicPt f (m.gcd n) x 
Arguments: {α : Type u_1} {f : α → α} {x : α} {m n : ℕ} (hm : Function.IsPeriodicPt f m x) (hn : Function.IsPeriodicPt f n x)
Goal: Function.IsPeriodicPt f (m.gcd n) x
-- Function.IsPeriodicPt.eq_of_apply_eq_same
theorem eq_of_apply_eq_same (hx : IsPeriodicPt f n x) (hy : IsPeriodicPt f n y) (hn : 0 < n)
    (h : f x = f y) : x = y 
Arguments: {α : Type u_1} {f : α → α} {x y : α} {n : ℕ} (hx : Function.IsPeriodicPt f n x) (hy : Function.IsPeriodicPt f n y) (hn : 0 < n) (h : f x = f y)
Goal: x = y
-- Function.IsPeriodicPt.eq_of_apply_eq
theorem eq_of_apply_eq (hx : IsPeriodicPt f m x) (hy : IsPeriodicPt f n y) (hm : 0 < m) (hn : 0 < n)
    (h : f x = f y) : x = y 
Arguments: {α : Type u_1} {f : α → α} {x y : α} {m n : ℕ} (hx : Function.IsPeriodicPt f m x) (hy : Function.IsPeriodicPt f n y) (hm : 0 < m) (hn : 0 < n) (h : f x = f y)
Goal: x = y
-- Function.mem_ptsOfPeriod
@[simp]
theorem mem_ptsOfPeriod : x ∈ ptsOfPeriod f n ↔ IsPeriodicPt f n x 
Arguments: {α : Type u_1} {f : α → α} {x : α} {n : ℕ}
Goal: x ∈ Function.ptsOfPeriod f n ↔ Function.IsPeriodicPt f n x
-- Function.Semiconj.mapsTo_ptsOfPeriod
theorem Semiconj.mapsTo_ptsOfPeriod {g : α → β} (h : Semiconj g fa fb) (n : ℕ) :
    MapsTo g (ptsOfPeriod fa n) (ptsOfPeriod fb n) 
Arguments: {α : Type u_1} {β : Type u_2} {fa : α → α} {fb : β → β} {g : α → β} (h : Function.Semiconj g fa fb) (n : ℕ)
Goal: Set.MapsTo g (Function.ptsOfPeriod fa n) (Function.ptsOfPeriod fb n)
-- Function.bijOn_ptsOfPeriod
theorem bijOn_ptsOfPeriod (f : α → α) {n : ℕ} (hn : 0 < n) :
    BijOn f (ptsOfPeriod f n) (ptsOfPeriod f n) 
Arguments: {α : Type u_1} (f : α → α) {n : ℕ} (hn : 0 < n)
Goal: Set.BijOn f (Function.ptsOfPeriod f n) (Function.ptsOfPeriod f n)
-- Function.directed_ptsOfPeriod_pNat
theorem directed_ptsOfPeriod_pNat (f : α → α) : Directed (· ⊆ ·) fun n : ℕ+ => ptsOfPeriod f n 
Arguments: {α : Type u_1} (f : α → α)
Goal: Directed (fun x x_1 => x ⊆ x_1) fun n => Function.ptsOfPeriod f ↑n
-- Function.mk_mem_periodicPts
theorem mk_mem_periodicPts (hn : 0 < n) (hx : IsPeriodicPt f n x) : x ∈ periodicPts f 
Arguments: {α : Type u_1} {f : α → α} {x : α} {n : ℕ} (hn : 0 < n) (hx : Function.IsPeriodicPt f n x)
Goal: x ∈ Function.periodicPts f
-- Function.mem_periodicPts
theorem mem_periodicPts : x ∈ periodicPts f ↔ ∃ n > 0, IsPeriodicPt f n x 
Arguments: {α : Type u_1} {f : α → α} {x : α}
Goal: x ∈ Function.periodicPts f ↔ ∃ n > 0, Function.IsPeriodicPt f n x
-- Function.isPeriodicPt_of_mem_periodicPts_of_isPeriodicPt_iterate
theorem isPeriodicPt_of_mem_periodicPts_of_isPeriodicPt_iterate (hx : x ∈ periodicPts f)
    (hm : IsPeriodicPt f m (f^[n] x)) : IsPeriodicPt f m x 
Arguments: {α : Type u_1} {f : α → α} {x : α} {m n : ℕ} (hx : x ∈ Function.periodicPts f) (hm : Function.IsPeriodicPt f m (f^[n] x))
Goal: Function.IsPeriodicPt f m x
-- Function.bUnion_ptsOfPeriod
theorem bUnion_ptsOfPeriod : ⋃ n > 0, ptsOfPeriod f n = periodicPts f 
Arguments: {α : Type u_1} (f : α → α)
Goal: ⋃ n, ⋃ (_ : n > 0), Function.ptsOfPeriod f n = Function.periodicPts f
-- Function.iUnion_pNat_ptsOfPeriod
theorem iUnion_pNat_ptsOfPeriod : ⋃ n : ℕ+, ptsOfPeriod f n = periodicPts f 
Arguments: {α : Type u_1} (f : α → α)
Goal: ⋃ n, Function.ptsOfPeriod f ↑n = Function.periodicPts f
-- Function.bijOn_periodicPts
theorem bijOn_periodicPts : BijOn f (periodicPts f) (periodicPts f) 
Arguments: {α : Type u_1} (f : α → α)
Goal: Set.BijOn f (Function.periodicPts f) (Function.periodicPts f)
-- Function.Semiconj.mapsTo_periodicPts
theorem Semiconj.mapsTo_periodicPts {g : α → β} (h : Semiconj g fa fb) :
    MapsTo g (periodicPts fa) (periodicPts fb) 
Arguments: {α : Type u_1} {β : Type u_2} {fa : α → α} {fb : β → β} {g : α → β} (h : Function.Semiconj g fa fb)
Goal: Set.MapsTo g (Function.periodicPts fa) (Function.periodicPts fb)
-- Function.isPeriodicPt_minimalPeriod
theorem isPeriodicPt_minimalPeriod (f : α → α) (x : α) : IsPeriodicPt f (minimalPeriod f x) x 
Arguments: {α : Type u_1} (f : α → α) (x : α)
Goal: Function.IsPeriodicPt f (Function.minimalPeriod f x) x
-- Function.iterate_minimalPeriod
@[simp]
theorem iterate_minimalPeriod : f^[minimalPeriod f x] x = x 
Arguments: {α : Type u_1} {f : α → α} {x : α}
Goal: f^[Function.minimalPeriod f x] x = x
-- Function.iterate_add_minimalPeriod_eq
@[simp]
theorem iterate_add_minimalPeriod_eq : f^[n + minimalPeriod f x] x = f^[n] x 
Arguments: {α : Type u_1} {f : α → α} {x : α} {n : ℕ}
Goal: f^[n + Function.minimalPeriod f x] x = f^[n] x
-- Function.iterate_mod_minimalPeriod_eq
@[simp]
theorem iterate_mod_minimalPeriod_eq : f^[n % minimalPeriod f x] x = f^[n] x 
Arguments: {α : Type u_1} {f : α → α} {x : α} {n : ℕ}
Goal: f^[n % Function.minimalPeriod f x] x = f^[n] x
-- Function.minimalPeriod_pos_of_mem_periodicPts
theorem minimalPeriod_pos_of_mem_periodicPts (hx : x ∈ periodicPts f) : 0 < minimalPeriod f x 
Arguments: {α : Type u_1} {f : α → α} {x : α} (hx : x ∈ Function.periodicPts f)
Goal: 0 < Function.minimalPeriod f x
-- Function.minimalPeriod_eq_zero_of_nmem_periodicPts
theorem minimalPeriod_eq_zero_of_nmem_periodicPts (hx : x ∉ periodicPts f) :
    minimalPeriod f x = 0 
Arguments: {α : Type u_1} {f : α → α} {x : α} (hx : x ∉ Function.periodicPts f)
Goal: Function.minimalPeriod f x = 0
-- Function.IsPeriodicPt.minimalPeriod_pos
theorem IsPeriodicPt.minimalPeriod_pos (hn : 0 < n) (hx : IsPeriodicPt f n x) :
    0 < minimalPeriod f x 
Arguments: {α : Type u_1} {f : α → α} {x : α} {n : ℕ} (hn : 0 < n) (hx : Function.IsPeriodicPt f n x)
Goal: 0 < Function.minimalPeriod f x
-- Function.minimalPeriod_pos_iff_mem_periodicPts
theorem minimalPeriod_pos_iff_mem_periodicPts : 0 < minimalPeriod f x ↔ x ∈ periodicPts f 
Arguments: {α : Type u_1} {f : α → α} {x : α}
Goal: 0 < Function.minimalPeriod f x ↔ x ∈ Function.periodicPts f
-- Function.minimalPeriod_eq_zero_iff_nmem_periodicPts
theorem minimalPeriod_eq_zero_iff_nmem_periodicPts : minimalPeriod f x = 0 ↔ x ∉ periodicPts f 
Arguments: {α : Type u_1} {f : α → α} {x : α}
Goal: Function.minimalPeriod f x = 0 ↔ x ∉ Function.periodicPts f
-- Function.IsPeriodicPt.minimalPeriod_le
theorem IsPeriodicPt.minimalPeriod_le (hn : 0 < n) (hx : IsPeriodicPt f n x) :
    minimalPeriod f x ≤ n 
Arguments: {α : Type u_1} {f : α → α} {x : α} {n : ℕ} (hn : 0 < n) (hx : Function.IsPeriodicPt f n x)
Goal: Function.minimalPeriod f x ≤ n
-- Function.minimalPeriod_apply_iterate
theorem minimalPeriod_apply_iterate (hx : x ∈ periodicPts f) (n : ℕ) :
    minimalPeriod f (f^[n] x) = minimalPeriod f x 
Arguments: {α : Type u_1} {f : α → α} {x : α} (hx : x ∈ Function.periodicPts f) (n : ℕ)
Goal: Function.minimalPeriod f (f^[n] x) = Function.minimalPeriod f x
-- Function.minimalPeriod_apply
theorem minimalPeriod_apply (hx : x ∈ periodicPts f) : minimalPeriod f (f x) = minimalPeriod f x 
Arguments: {α : Type u_1} {f : α → α} {x : α} (hx : x ∈ Function.periodicPts f)
Goal: Function.minimalPeriod f (f x) = Function.minimalPeriod f x
-- Function.le_of_lt_minimalPeriod_of_iterate_eq
theorem le_of_lt_minimalPeriod_of_iterate_eq {m n : ℕ} (hm : m < minimalPeriod f x)
    (hmn : f^[m] x = f^[n] x) : m ≤ n 
Arguments: {α : Type u_1} {f : α → α} {x : α} {m n : ℕ} (hm : m < Function.minimalPeriod f x) (hmn : f^[m] x = f^[n] x)
Goal: m ≤ n
-- Function.iterate_injOn_Iio_minimalPeriod
theorem iterate_injOn_Iio_minimalPeriod : (Iio <| minimalPeriod f x).InjOn (f^[·] x) 
Arguments: {α : Type u_1} {f : α → α} {x : α}
Goal: Set.InjOn (fun x_1 => f^[x_1] x) (Set.Iio (Function.minimalPeriod f x))
-- Function.iterate_eq_iterate_iff_of_lt_minimalPeriod
theorem iterate_eq_iterate_iff_of_lt_minimalPeriod {m n : ℕ} (hm : m < minimalPeriod f x)
    (hn : n < minimalPeriod f x) : f^[m] x = f^[n] x ↔ m = n 
Arguments: {α : Type u_1} {f : α → α} {x : α} {m n : ℕ} (hm : m < Function.minimalPeriod f x) (hn : n < Function.minimalPeriod f x)
Goal: f^[m] x = f^[n] x ↔ m = n
-- Function.minimalPeriod_id
@[simp] theorem minimalPeriod_id : minimalPeriod id x = 1 
Arguments: {α : Type u_1} {x : α}
Goal: Function.minimalPeriod id x = 1
-- Function.minimalPeriod_eq_one_iff_isFixedPt
theorem minimalPeriod_eq_one_iff_isFixedPt : minimalPeriod f x = 1 ↔ IsFixedPt f x 
Arguments: {α : Type u_1} {f : α → α} {x : α}
Goal: Function.minimalPeriod f x = 1 ↔ Function.IsFixedPt f x
-- Function.IsPeriodicPt.eq_zero_of_lt_minimalPeriod
theorem IsPeriodicPt.eq_zero_of_lt_minimalPeriod (hx : IsPeriodicPt f n x)
    (hn : n < minimalPeriod f x) : n = 0 
Arguments: {α : Type u_1} {f : α → α} {x : α} {n : ℕ} (hx : Function.IsPeriodicPt f n x) (hn : n < Function.minimalPeriod f x)
Goal: n = 0
-- Function.not_isPeriodicPt_of_pos_of_lt_minimalPeriod
theorem not_isPeriodicPt_of_pos_of_lt_minimalPeriod :
    ∀ {n : ℕ} (_ : n ≠ 0) (_ : n < minimalPeriod f x), ¬IsPeriodicPt f n x
  
Arguments: {α : Type u_1} {f : α → α} {x : α} {n : ℕ}
Goal: n ≠ 0 → n < Function.minimalPeriod f x → ¬Function.IsPeriodicPt f n x
-- Function.IsPeriodicPt.minimalPeriod_dvd
theorem IsPeriodicPt.minimalPeriod_dvd (hx : IsPeriodicPt f n x) : minimalPeriod f x ∣ n 
Arguments: {α : Type u_1} {f : α → α} {x : α} {n : ℕ} (hx : Function.IsPeriodicPt f n x)
Goal: Function.minimalPeriod f x ∣ n
-- Function.isPeriodicPt_iff_minimalPeriod_dvd
theorem isPeriodicPt_iff_minimalPeriod_dvd : IsPeriodicPt f n x ↔ minimalPeriod f x ∣ n 
Arguments: {α : Type u_1} {f : α → α} {x : α} {n : ℕ}
Goal: Function.IsPeriodicPt f n x ↔ Function.minimalPeriod f x ∣ n
-- Function.minimalPeriod_eq_minimalPeriod_iff
theorem minimalPeriod_eq_minimalPeriod_iff {g : β → β} {y : β} :
    minimalPeriod f x = minimalPeriod g y ↔ ∀ n, IsPeriodicPt f n x ↔ IsPeriodicPt g n y 
Arguments: {α : Type u_1} {β : Type u_2} {f : α → α} {x : α} {g : β → β} {y : β}
Goal: Function.minimalPeriod f x = Function.minimalPeriod g y ↔
  ∀ (n : ℕ), Function.IsPeriodicPt f n x ↔ Function.IsPeriodicPt g n y
-- Function.minimalPeriod_eq_prime
theorem minimalPeriod_eq_prime {p : ℕ} [hp : Fact p.Prime] (hper : IsPeriodicPt f p x)
    (hfix : ¬IsFixedPt f x) : minimalPeriod f x = p 
Arguments: {α : Type u_1} {f : α → α} {x : α} {p : ℕ} [hp : Fact (Nat.Prime p)] (hper : Function.IsPeriodicPt f p x) (hfix : ¬Function.IsFixedPt f x)
Goal: Function.minimalPeriod f x = p
-- Function.minimalPeriod_eq_prime_pow
theorem minimalPeriod_eq_prime_pow {p k : ℕ} [hp : Fact p.Prime] (hk : ¬IsPeriodicPt f (p ^ k) x)
    (hk1 : IsPeriodicPt f (p ^ (k + 1)) x) : minimalPeriod f x = p ^ (k + 1) 
Arguments: {α : Type u_1} {f : α → α} {x : α} {p k : ℕ} [hp : Fact (Nat.Prime p)] (hk : ¬Function.IsPeriodicPt f (p ^ k) x) (hk1 : Function.IsPeriodicPt f (p ^ (k + 1)) x)
Goal: Function.minimalPeriod f x = p ^ (k + 1)
-- Function.Commute.minimalPeriod_of_comp_dvd_lcm
theorem Commute.minimalPeriod_of_comp_dvd_lcm {g : α → α} (h : Commute f g) :
    minimalPeriod (f ∘ g) x ∣ Nat.lcm (minimalPeriod f x) (minimalPeriod g x) 
Arguments: {α : Type u_1} {f : α → α} {x : α} {g : α → α} (h : Function.Commute f g)
Goal: Function.minimalPeriod (f ∘ g) x ∣ (Function.minimalPeriod f x).lcm (Function.minimalPeriod g x)
-- Function.Commute.minimalPeriod_of_comp_dvd_mul
theorem Commute.minimalPeriod_of_comp_dvd_mul {g : α → α} (h : Commute f g) :
    minimalPeriod (f ∘ g) x ∣ minimalPeriod f x * minimalPeriod g x 
Arguments: {α : Type u_1} {f : α → α} {x : α} {g : α → α} (h : Function.Commute f g)
Goal: Function.minimalPeriod (f ∘ g) x ∣ Function.minimalPeriod f x * Function.minimalPeriod g x
-- Function.Commute.minimalPeriod_of_comp_eq_mul_of_coprime
theorem Commute.minimalPeriod_of_comp_eq_mul_of_coprime {g : α → α} (h : Commute f g)
    (hco : Coprime (minimalPeriod f x) (minimalPeriod g x)) :
    minimalPeriod (f ∘ g) x = minimalPeriod f x * minimalPeriod g x 
Arguments: {α : Type u_1} {f : α → α} {x : α} {g : α → α} (h : Function.Commute f g) (hco : (Function.minimalPeriod f x).Coprime (Function.minimalPeriod g x))
Goal: Function.minimalPeriod (f ∘ g) x = Function.minimalPeriod f x * Function.minimalPeriod g x
-- _private.Mathlib.Dynamics.PeriodicPts.0.Function.minimalPeriod_iterate_eq_div_gcd_aux
private theorem minimalPeriod_iterate_eq_div_gcd_aux (h : 0 < gcd (minimalPeriod f x) n) :
    minimalPeriod f^[n] x = minimalPeriod f x / Nat.gcd (minimalPeriod f x) n 
Arguments: {α : Type u_1} {f : α → α} {x : α} {n : ℕ} (h : 0 < (Function.minimalPeriod f x).gcd n)
Goal: Function.minimalPeriod f^[n] x = Function.minimalPeriod f x / (Function.minimalPeriod f x).gcd n
-- Function.minimalPeriod_iterate_eq_div_gcd
theorem minimalPeriod_iterate_eq_div_gcd (h : n ≠ 0) :
    minimalPeriod f^[n] x = minimalPeriod f x / Nat.gcd (minimalPeriod f x) n 
Arguments: {α : Type u_1} {f : α → α} {x : α} {n : ℕ} (h : n ≠ 0)
Goal: Function.minimalPeriod f^[n] x = Function.minimalPeriod f x / (Function.minimalPeriod f x).gcd n
-- Function.minimalPeriod_iterate_eq_div_gcd'
theorem minimalPeriod_iterate_eq_div_gcd' (h : x ∈ periodicPts f) :
    minimalPeriod f^[n] x = minimalPeriod f x / Nat.gcd (minimalPeriod f x) n 
Arguments: {α : Type u_1} {f : α → α} {x : α} {n : ℕ} (h : x ∈ Function.periodicPts f)
Goal: Function.minimalPeriod f^[n] x = Function.minimalPeriod f x / (Function.minimalPeriod f x).gcd n
-- Function.periodicOrbit_def
theorem periodicOrbit_def (f : α → α) (x : α) :
    periodicOrbit f x = (List.range (minimalPeriod f x)).map fun n => f^[n] x 
Arguments: {α : Type u_1} (f : α → α) (x : α)
Goal: Function.periodicOrbit f x = ↑(List.map (fun n => f^[n] x) (List.range (Function.minimalPeriod f x)))
-- Function.periodicOrbit_eq_cycle_map
theorem periodicOrbit_eq_cycle_map (f : α → α) (x : α) :
    periodicOrbit f x = (List.range (minimalPeriod f x) : Cycle ℕ).map fun n => f^[n] x 
Arguments: {α : Type u_1} (f : α → α) (x : α)
Goal: Function.periodicOrbit f x = Cycle.map (fun n => f^[n] x) ↑(List.range (Function.minimalPeriod f x))
-- Function.periodicOrbit_length
@[simp]
theorem periodicOrbit_length : (periodicOrbit f x).length = minimalPeriod f x 
Arguments: {α : Type u_1} {f : α → α} {x : α}
Goal: (Function.periodicOrbit f x).length = Function.minimalPeriod f x
-- Function.periodicOrbit_eq_nil_iff_not_periodic_pt
@[simp]
theorem periodicOrbit_eq_nil_iff_not_periodic_pt :
    periodicOrbit f x = Cycle.nil ↔ x ∉ periodicPts f 
Arguments: {α : Type u_1} {f : α → α} {x : α}
Goal: Function.periodicOrbit f x = Cycle.nil ↔ x ∉ Function.periodicPts f
-- Function.periodicOrbit_eq_nil_of_not_periodic_pt
theorem periodicOrbit_eq_nil_of_not_periodic_pt (h : x ∉ periodicPts f) :
    periodicOrbit f x = Cycle.nil 
Arguments: {α : Type u_1} {f : α → α} {x : α} (h : x ∉ Function.periodicPts f)
Goal: Function.periodicOrbit f x = Cycle.nil
-- Function.mem_periodicOrbit_iff
@[simp]
theorem mem_periodicOrbit_iff (hx : x ∈ periodicPts f) :
    y ∈ periodicOrbit f x ↔ ∃ n, f^[n] x = y 
Arguments: {α : Type u_1} {f : α → α} {x y : α} (hx : x ∈ Function.periodicPts f)
Goal: y ∈ Function.periodicOrbit f x ↔ ∃ n, f^[n] x = y