ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Ordinal.nfpFamily_le_apply
theorem nfpFamily_le_apply [Nonempty ι] (H : ∀ i, IsNormal (f i)) {a b} :
    (∃ i, nfpFamily.{u, v} f a ≤ f i b) ↔ nfpFamily.{u, v} f a ≤ b 
Arguments: {ι : Type u} {f : ι → Ordinal.{max u v} → Ordinal.{max u v}} [Nonempty ι] (H : ∀ (i : ι), Ordinal.IsNormal (f i)) {a b : Ordinal.{max u v}}
Goal: (∃ i, Ordinal.nfpFamily f a ≤ f i b) ↔ Ordinal.nfpFamily f a ≤ b
-- Ordinal.nfpFamily_le_fp
theorem nfpFamily_le_fp (H : ∀ i, Monotone (f i)) {a b} (ab : a ≤ b) (h : ∀ i, f i b ≤ b) :
    nfpFamily.{u, v} f a ≤ b 
Arguments: {ι : Type u} {f : ι → Ordinal.{max u v} → Ordinal.{max u v}} (H : ∀ (i : ι), Monotone (f i)) {a b : Ordinal.{max u v}} (ab : a ≤ b) (h : ∀ (i : ι), f i b ≤ b)
Goal: Ordinal.nfpFamily f a ≤ b
-- Ordinal.nfpFamily_fp
theorem nfpFamily_fp {i} (H : IsNormal (f i)) (a) :
    f i (nfpFamily.{u, v} f a) = nfpFamily.{u, v} f a 
Arguments: {ι : Type u} {f : ι → Ordinal.{max u v} → Ordinal.{max u v}} {i : ι} (H : Ordinal.IsNormal (f i)) (a : Ordinal.{max u v})
Goal: f i (Ordinal.nfpFamily f a) = Ordinal.nfpFamily f a
-- Ordinal.apply_le_nfpFamily
theorem apply_le_nfpFamily [hι : Nonempty ι] {f : ι → Ordinal → Ordinal} (H : ∀ i, IsNormal (f i))
    {a b} : (∀ i, f i b ≤ nfpFamily.{u, v} f a) ↔ b ≤ nfpFamily.{u, v} f a 
Arguments: {ι : Type u} [hι : Nonempty ι] {f : ι → Ordinal.{max u v} → Ordinal.{max u v}} (H : ∀ (i : ι), Ordinal.IsNormal (f i)) {a b : Ordinal.{max u v}}
Goal: (∀ (i : ι), f i b ≤ Ordinal.nfpFamily f a) ↔ b ≤ Ordinal.nfpFamily f a
-- Ordinal.nfpFamily_eq_self
theorem nfpFamily_eq_self {f : ι → Ordinal → Ordinal} {a} (h : ∀ i, f i a = a) :
    nfpFamily f a = a 
Arguments: {ι : Type u} {f : ι → Ordinal.{max u u_1} → Ordinal.{max u u_1}} {a : Ordinal.{max u u_1}} (h : ∀ (i : ι), f i a = a)
Goal: Ordinal.nfpFamily f a = a
-- Ordinal.fp_family_unbounded
theorem fp_family_unbounded (H : ∀ i, IsNormal (f i)) :
    (⋂ i, Function.fixedPoints (f i)).Unbounded (· < ·) 
Arguments: {ι : Type u} {f : ι → Ordinal.{max u v} → Ordinal.{max u v}} (H : ∀ (i : ι), Ordinal.IsNormal (f i))
Goal: Set.Unbounded (fun x x_1 => x < x_1) (⋂ i, Function.fixedPoints (f i))
-- Ordinal.derivFamily_zero
@[simp]
theorem derivFamily_zero (f : ι → Ordinal → Ordinal) :
    derivFamily.{u, v} f 0 = nfpFamily.{u, v} f 0 
Arguments: {ι : Type u} (f : ι → Ordinal.{max u v} → Ordinal.{max u v})
Goal: Ordinal.derivFamily f 0 = Ordinal.nfpFamily f 0
-- Ordinal.derivFamily_succ
@[simp]
theorem derivFamily_succ (f : ι → Ordinal → Ordinal) (o) :
    derivFamily.{u, v} f (succ o) = nfpFamily.{u, v} f (succ (derivFamily.{u, v} f o)) 
Arguments: {ι : Type u} (f : ι → Ordinal.{max u v} → Ordinal.{max u v}) (o : Ordinal.{max u v})
Goal: Ordinal.derivFamily f (Order.succ o) = Ordinal.nfpFamily f (Order.succ (Ordinal.derivFamily f o))
-- Ordinal.derivFamily_limit
theorem derivFamily_limit (f : ι → Ordinal → Ordinal) {o} :
    IsLimit o → derivFamily.{u, v} f o = bsup.{max u v, u} o fun a _ => derivFamily.{u, v} f a 
Arguments: {ι : Type u} (f : ι → Ordinal.{max u v} → Ordinal.{max u v}) {o : Ordinal.{max u v}}
Goal: o.IsLimit → Ordinal.derivFamily f o = o.bsup fun a x => Ordinal.derivFamily f a
-- Ordinal.derivFamily_isNormal
theorem derivFamily_isNormal (f : ι → Ordinal → Ordinal) : IsNormal (derivFamily f) 
Arguments: {ι : Type u} (f : ι → Ordinal.{max u u_1} → Ordinal.{max u u_1})
Goal: Ordinal.IsNormal (Ordinal.derivFamily f)
-- Ordinal.derivFamily_fp
theorem derivFamily_fp {i} (H : IsNormal (f i)) (o : Ordinal.{max u v}) :
    f i (derivFamily.{u, v} f o) = derivFamily.{u, v} f o 
Arguments: {ι : Type u} {f : ι → Ordinal.{max u v} → Ordinal.{max u v}} {i : ι} (H : Ordinal.IsNormal (f i)) (o : Ordinal.{max u v})
Goal: f i (Ordinal.derivFamily f o) = Ordinal.derivFamily f o
-- Ordinal.le_iff_derivFamily
theorem le_iff_derivFamily (H : ∀ i, IsNormal (f i)) {a} :
    (∀ i, f i a ≤ a) ↔ ∃ o, derivFamily.{u, v} f o = a 
Arguments: {ι : Type u} {f : ι → Ordinal.{max u v} → Ordinal.{max u v}} (H : ∀ (i : ι), Ordinal.IsNormal (f i)) {a : Ordinal.{max u v}}
Goal: (∀ (i : ι), f i a ≤ a) ↔ ∃ o, Ordinal.derivFamily f o = a
-- Ordinal.fp_iff_derivFamily
theorem fp_iff_derivFamily (H : ∀ i, IsNormal (f i)) {a} :
    (∀ i, f i a = a) ↔ ∃ o, derivFamily.{u, v} f o = a 
Arguments: {ι : Type u} {f : ι → Ordinal.{max u v} → Ordinal.{max u v}} (H : ∀ (i : ι), Ordinal.IsNormal (f i)) {a : Ordinal.{max u v}}
Goal: (∀ (i : ι), f i a = a) ↔ ∃ o, Ordinal.derivFamily f o = a
-- Ordinal.derivFamily_eq_enumOrd
theorem derivFamily_eq_enumOrd (H : ∀ i, IsNormal (f i)) :
    derivFamily.{u, v} f = enumOrd (⋂ i, Function.fixedPoints (f i)) 
Arguments: {ι : Type u} {f : ι → Ordinal.{max u v} → Ordinal.{max u v}} (H : ∀ (i : ι), Ordinal.IsNormal (f i))
Goal: Ordinal.derivFamily f = Ordinal.enumOrd (⋂ i, Function.fixedPoints (f i))
-- Ordinal.nfpBFamily_eq_nfpFamily
theorem nfpBFamily_eq_nfpFamily {o : Ordinal} (f : ∀ b < o, Ordinal → Ordinal) :
    nfpBFamily.{u, v} o f = nfpFamily.{u, v} (familyOfBFamily o f) 
Arguments: {o : Ordinal.{u}} (f : (b : Ordinal.{u}) → b < o → Ordinal.{max u v} → Ordinal.{max u v})
Goal: o.nfpBFamily f = Ordinal.nfpFamily (o.familyOfBFamily f)
-- Ordinal.foldr_le_nfpBFamily
theorem foldr_le_nfpBFamily {o : Ordinal}
    (f : ∀ b < o, Ordinal → Ordinal) (a l) :
    List.foldr (familyOfBFamily o f) a l ≤ nfpBFamily.{u, v} o f a 
Arguments: {o : Ordinal.{u}} (f : (b : Ordinal.{u}) → b < o → Ordinal.{max u v} → Ordinal.{max u v}) (a : Ordinal.{max u v}) (l : List (Quotient.out o).α)
Goal: List.foldr (o.familyOfBFamily f) a l ≤ o.nfpBFamily f a
-- Ordinal.le_nfpBFamily
theorem le_nfpBFamily {o : Ordinal} (f : ∀ b < o, Ordinal → Ordinal) (a) :
    a ≤ nfpBFamily.{u, v} o f a 
Arguments: {o : Ordinal.{u}} (f : (b : Ordinal.{u}) → b < o → Ordinal.{max u v} → Ordinal.{max u v}) (a : Ordinal.{max v u})
Goal: a ≤ o.nfpBFamily f a
-- Ordinal.lt_nfpBFamily
theorem lt_nfpBFamily {a b} :
    a < nfpBFamily.{u, v} o f b ↔ ∃ l, a < List.foldr (familyOfBFamily o f) b l 
Arguments: {o : Ordinal.{u}} {f : (b : Ordinal.{u}) → b < o → Ordinal.{max u v} → Ordinal.{max u v}} {a b : Ordinal.{max v u}}
Goal: a < o.nfpBFamily f b ↔ ∃ l, a < List.foldr (o.familyOfBFamily f) b l
-- Ordinal.nfpBFamily_le_iff
theorem nfpBFamily_le_iff {o : Ordinal} {f : ∀ b < o, Ordinal → Ordinal} {a b} :
    nfpBFamily.{u, v} o f a ≤ b ↔ ∀ l, List.foldr (familyOfBFamily o f) a l ≤ b 
Arguments: {o : Ordinal.{u}} {f : (b : Ordinal.{u}) → b < o → Ordinal.{max u v} → Ordinal.{max u v}} {a b : Ordinal.{max v u}}
Goal: o.nfpBFamily f a ≤ b ↔ ∀ (l : List (Quotient.out o).α), List.foldr (o.familyOfBFamily f) a l ≤ b
-- Ordinal.nfpBFamily_le
theorem nfpBFamily_le {o : Ordinal} {f : ∀ b < o, Ordinal → Ordinal} {a b} :
    (∀ l, List.foldr (familyOfBFamily o f) a l ≤ b) → nfpBFamily.{u, v} o f a ≤ b 
Arguments: {o : Ordinal.{u}} {f : (b : Ordinal.{u}) → b < o → Ordinal.{max u v} → Ordinal.{max u v}} {a b : Ordinal.{max u v}}
Goal: (∀ (l : List (Quotient.out o).α), List.foldr (o.familyOfBFamily f) a l ≤ b) → o.nfpBFamily f a ≤ b
-- Ordinal.nfpBFamily_monotone
theorem nfpBFamily_monotone (hf : ∀ i hi, Monotone (f i hi)) : Monotone (nfpBFamily.{u, v} o f) 
Arguments: {o : Ordinal.{u}} {f : (b : Ordinal.{u}) → b < o → Ordinal.{max u v} → Ordinal.{max u v}} (hf : ∀ (i : Ordinal.{u}) (hi : i < o), Monotone (f i hi))
Goal: Monotone (o.nfpBFamily f)
-- Ordinal.apply_lt_nfpBFamily
theorem apply_lt_nfpBFamily (H : ∀ i hi, IsNormal (f i hi)) {a b} (hb : b < nfpBFamily.{u, v} o f a)
    (i hi) : f i hi b < nfpBFamily.{u, v} o f a 
Arguments: {o : Ordinal.{u}} {f : (b : Ordinal.{u}) → b < o → Ordinal.{max u v} → Ordinal.{max u v}} (H : ∀ (i : Ordinal.{u}) (hi : i < o), Ordinal.IsNormal (f i hi)) {a b : Ordinal.{max v u}} (hb : b < o.nfpBFamily f a) (i : Ordinal.{u}) (hi : i < o)
Goal: f i hi b < o.nfpBFamily f a
-- Ordinal.apply_lt_nfpBFamily_iff
theorem apply_lt_nfpBFamily_iff (ho : o ≠ 0) (H : ∀ i hi, IsNormal (f i hi)) {a b} :
    (∀ i hi, f i hi b < nfpBFamily.{u, v} o f a) ↔ b < nfpBFamily.{u, v} o f a 
Arguments: {o : Ordinal.{u}} {f : (b : Ordinal.{u}) → b < o → Ordinal.{max u v} → Ordinal.{max u v}} (ho : o ≠ 0) (H : ∀ (i : Ordinal.{u}) (hi : i < o), Ordinal.IsNormal (f i hi)) {a : Ordinal.{max v u}} {b : Ordinal.{max u v}}
Goal: (∀ (i : Ordinal.{u}) (hi : i < o), f i hi b < o.nfpBFamily f a) ↔ b < o.nfpBFamily f a
-- Ordinal.nfpBFamily_le_apply
theorem nfpBFamily_le_apply (ho : o ≠ 0) (H : ∀ i hi, IsNormal (f i hi)) {a b} :
    (∃ i hi, nfpBFamily.{u, v} o f a ≤ f i hi b) ↔ nfpBFamily.{u, v} o f a ≤ b 
Arguments: {o : Ordinal.{u}} {f : (b : Ordinal.{u}) → b < o → Ordinal.{max u v} → Ordinal.{max u v}} (ho : o ≠ 0) (H : ∀ (i : Ordinal.{u}) (hi : i < o), Ordinal.IsNormal (f i hi)) {a : Ordinal.{max v u}} {b : Ordinal.{max u v}}
Goal: (∃ i, ∃ (hi : i < o), o.nfpBFamily f a ≤ f i hi b) ↔ o.nfpBFamily f a ≤ b
-- Ordinal.nfpBFamily_le_fp
theorem nfpBFamily_le_fp (H : ∀ i hi, Monotone (f i hi)) {a b} (ab : a ≤ b)
    (h : ∀ i hi, f i hi b ≤ b) : nfpBFamily.{u, v} o f a ≤ b 
Arguments: {o : Ordinal.{u}} {f : (b : Ordinal.{u}) → b < o → Ordinal.{max u v} → Ordinal.{max u v}} (H : ∀ (i : Ordinal.{u}) (hi : i < o), Monotone (f i hi)) {a b : Ordinal.{max u v}} (ab : a ≤ b) (h : ∀ (i : Ordinal.{u}) (hi : i < o), f i hi b ≤ b)
Goal: o.nfpBFamily f a ≤ b
-- Ordinal.nfpBFamily_fp
theorem nfpBFamily_fp {i hi} (H : IsNormal (f i hi)) (a) :
    f i hi (nfpBFamily.{u, v} o f a) = nfpBFamily.{u, v} o f a 
Arguments: {o : Ordinal.{u}} {f : (b : Ordinal.{u}) → b < o → Ordinal.{max u v} → Ordinal.{max u v}} {i : Ordinal.{u}} {hi : i < o} (H : Ordinal.IsNormal (f i hi)) (a : Ordinal.{max v u})
Goal: f i hi (o.nfpBFamily f a) = o.nfpBFamily f a
-- Ordinal.apply_le_nfpBFamily
theorem apply_le_nfpBFamily (ho : o ≠ 0) (H : ∀ i hi, IsNormal (f i hi)) {a b} :
    (∀ i hi, f i hi b ≤ nfpBFamily.{u, v} o f a) ↔ b ≤ nfpBFamily.{u, v} o f a 
Arguments: {o : Ordinal.{u}} {f : (b : Ordinal.{u}) → b < o → Ordinal.{max u v} → Ordinal.{max u v}} (ho : o ≠ 0) (H : ∀ (i : Ordinal.{u}) (hi : i < o), Ordinal.IsNormal (f i hi)) {a : Ordinal.{max v u}} {b : Ordinal.{max u v}}
Goal: (∀ (i : Ordinal.{u}) (hi : i < o), f i hi b ≤ o.nfpBFamily f a) ↔ b ≤ o.nfpBFamily f a
-- Ordinal.nfpBFamily_eq_self
theorem nfpBFamily_eq_self {a} (h : ∀ i hi, f i hi a = a) : nfpBFamily.{u, v} o f a = a 
Arguments: {o : Ordinal.{u}} {f : (b : Ordinal.{u}) → b < o → Ordinal.{max u v} → Ordinal.{max u v}} {a : Ordinal.{max u v}} (h : ∀ (i : Ordinal.{u}) (hi : i < o), f i hi a = a)
Goal: o.nfpBFamily f a = a
-- Ordinal.fp_bfamily_unbounded
theorem fp_bfamily_unbounded (H : ∀ i hi, IsNormal (f i hi)) :
    (⋂ (i) (hi), Function.fixedPoints (f i hi)).Unbounded (· < ·) 
Arguments: {o : Ordinal.{u}} {f : (b : Ordinal.{u}) → b < o → Ordinal.{max u v} → Ordinal.{max u v}} (H : ∀ (i : Ordinal.{u}) (hi : i < o), Ordinal.IsNormal (f i hi))
Goal: Set.Unbounded (fun x x_1 => x < x_1) (⋂ i, ⋂ (hi : i < o), Function.fixedPoints (f i hi))
-- Ordinal.derivBFamily_eq_derivFamily
theorem derivBFamily_eq_derivFamily {o : Ordinal} (f : ∀ b < o, Ordinal → Ordinal) :
    derivBFamily.{u, v} o f = derivFamily.{u, v} (familyOfBFamily o f) 
Arguments: {o : Ordinal.{u}} (f : (b : Ordinal.{u}) → b < o → Ordinal.{max u v} → Ordinal.{max u v})
Goal: o.derivBFamily f = Ordinal.derivFamily (o.familyOfBFamily f)
-- Ordinal.derivBFamily_isNormal
theorem derivBFamily_isNormal {o : Ordinal} (f : ∀ b < o, Ordinal → Ordinal) :
    IsNormal (derivBFamily o f) 
Arguments: {o : Ordinal.{u_1}} (f : (b : Ordinal.{u_1}) → b < o → Ordinal.{max u_1 u_2} → Ordinal.{max u_1 u_2})
Goal: Ordinal.IsNormal (o.derivBFamily f)
-- Ordinal.derivBFamily_fp
theorem derivBFamily_fp {i hi} (H : IsNormal (f i hi)) (a : Ordinal) :
    f i hi (derivBFamily.{u, v} o f a) = derivBFamily.{u, v} o f a 
Arguments: {o : Ordinal.{u}} {f : (b : Ordinal.{u}) → b < o → Ordinal.{max u v} → Ordinal.{max u v}} {i : Ordinal.{u}} {hi : i < o} (H : Ordinal.IsNormal (f i hi)) (a : Ordinal.{max u v})
Goal: f i hi (o.derivBFamily f a) = o.derivBFamily f a
-- Ordinal.le_iff_derivBFamily
theorem le_iff_derivBFamily (H : ∀ i hi, IsNormal (f i hi)) {a} :
    (∀ i hi, f i hi a ≤ a) ↔ ∃ b, derivBFamily.{u, v} o f b = a 
Arguments: {o : Ordinal.{u}} {f : (b : Ordinal.{u}) → b < o → Ordinal.{max u v} → Ordinal.{max u v}} (H : ∀ (i : Ordinal.{u}) (hi : i < o), Ordinal.IsNormal (f i hi)) {a : Ordinal.{max u v}}
Goal: (∀ (i : Ordinal.{u}) (hi : i < o), f i hi a ≤ a) ↔ ∃ b, o.derivBFamily f b = a
-- Ordinal.fp_iff_derivBFamily
theorem fp_iff_derivBFamily (H : ∀ i hi, IsNormal (f i hi)) {a} :
    (∀ i hi, f i hi a = a) ↔ ∃ b, derivBFamily.{u, v} o f b = a 
Arguments: {o : Ordinal.{u}} {f : (b : Ordinal.{u}) → b < o → Ordinal.{max u v} → Ordinal.{max u v}} (H : ∀ (i : Ordinal.{u}) (hi : i < o), Ordinal.IsNormal (f i hi)) {a : Ordinal.{max u v}}
Goal: (∀ (i : Ordinal.{u}) (hi : i < o), f i hi a = a) ↔ ∃ b, o.derivBFamily f b = a
-- Ordinal.derivBFamily_eq_enumOrd
theorem derivBFamily_eq_enumOrd (H : ∀ i hi, IsNormal (f i hi)) :
    derivBFamily.{u, v} o f = enumOrd (⋂ (i) (hi), Function.fixedPoints (f i hi)) 
Arguments: {o : Ordinal.{u}} {f : (b : Ordinal.{u}) → b < o → Ordinal.{max u v} → Ordinal.{max u v}} (H : ∀ (i : Ordinal.{u}) (hi : i < o), Ordinal.IsNormal (f i hi))
Goal: o.derivBFamily f = Ordinal.enumOrd (⋂ i, ⋂ (hi : i < o), Function.fixedPoints (f i hi))
-- Ordinal.nfp_eq_nfpFamily
theorem nfp_eq_nfpFamily (f : Ordinal → Ordinal) : nfp f = nfpFamily fun _ : Unit => f 
Arguments: (f : Ordinal.{u_1} → Ordinal.{u_1})
Goal: Ordinal.nfp f = Ordinal.nfpFamily fun x => f
-- Ordinal.sup_iterate_eq_nfp
@[simp]
theorem sup_iterate_eq_nfp (f : Ordinal.{u} → Ordinal.{u}) :
    (fun a => sup fun n : ℕ => f^[n] a) = nfp f 
Arguments: (f : Ordinal.{u} → Ordinal.{u})
Goal: (fun a => Ordinal.sup fun n => f^[n] a) = Ordinal.nfp f
-- Ordinal.iterate_le_nfp
theorem iterate_le_nfp (f a n) : f^[n] a ≤ nfp f a 
Arguments: (f : Ordinal.{u_1} → Ordinal.{u_1}) (a : Ordinal.{u_1}) (n : ℕ)
Goal: f^[n] a ≤ Ordinal.nfp f a
-- Ordinal.le_nfp
theorem le_nfp (f a) : a ≤ nfp f a 
Arguments: (f : Ordinal.{u_1} → Ordinal.{u_1}) (a : Ordinal.{u_1})
Goal: a ≤ Ordinal.nfp f a
-- Ordinal.lt_nfp
theorem lt_nfp {a b} : a < nfp f b ↔ ∃ n, a < f^[n] b 
Arguments: {f : Ordinal.{u} → Ordinal.{u}} {a b : Ordinal.{u}}
Goal: a < Ordinal.nfp f b ↔ ∃ n, a < f^[n] b
-- Ordinal.nfp_le_iff
theorem nfp_le_iff {a b} : nfp f a ≤ b ↔ ∀ n, f^[n] a ≤ b 
Arguments: {f : Ordinal.{u} → Ordinal.{u}} {a b : Ordinal.{u}}
Goal: Ordinal.nfp f a ≤ b ↔ ∀ (n : ℕ), f^[n] a ≤ b
-- Ordinal.nfp_le
theorem nfp_le {a b} : (∀ n, f^[n] a ≤ b) → nfp f a ≤ b 
Arguments: {f : Ordinal.{u} → Ordinal.{u}} {a b : Ordinal.{u}}
Goal: (∀ (n : ℕ), f^[n] a ≤ b) → Ordinal.nfp f a ≤ b
-- Ordinal.nfp_id
@[simp]
theorem nfp_id : nfp id = id 
Goal: Ordinal.nfp id = id
-- Ordinal.nfp_monotone
theorem nfp_monotone (hf : Monotone f) : Monotone (nfp f) 
Arguments: {f : Ordinal.{u} → Ordinal.{u}} (hf : Monotone f)
Goal: Monotone (Ordinal.nfp f)
-- Ordinal.IsNormal.apply_lt_nfp
theorem IsNormal.apply_lt_nfp {f} (H : IsNormal f) {a b} : f b < nfp f a ↔ b < nfp f a 
Arguments: {f : Ordinal.{u_1} → Ordinal.{u_1}} (H : Ordinal.IsNormal f) {a b : Ordinal.{u_1}}
Goal: f b < Ordinal.nfp f a ↔ b < Ordinal.nfp f a
-- Ordinal.IsNormal.nfp_le_apply
theorem IsNormal.nfp_le_apply {f} (H : IsNormal f) {a b} : nfp f a ≤ f b ↔ nfp f a ≤ b 
Arguments: {f : Ordinal.{u_1} → Ordinal.{u_1}} (H : Ordinal.IsNormal f) {a b : Ordinal.{u_1}}
Goal: Ordinal.nfp f a ≤ f b ↔ Ordinal.nfp f a ≤ b
-- Ordinal.nfp_le_fp
theorem nfp_le_fp {f} (H : Monotone f) {a b} (ab : a ≤ b) (h : f b ≤ b) : nfp f a ≤ b 
Arguments: {f : Ordinal.{u_1} → Ordinal.{u_1}} (H : Monotone f) {a b : Ordinal.{u_1}} (ab : a ≤ b) (h : f b ≤ b)
Goal: Ordinal.nfp f a ≤ b
-- Ordinal.IsNormal.nfp_fp
theorem IsNormal.nfp_fp {f} (H : IsNormal f) : ∀ a, f (nfp f a) = nfp f a 
Arguments: {f : Ordinal.{u_1} → Ordinal.{u_1}} (H : Ordinal.IsNormal f) (a : Ordinal.{u_1})
Goal: f (Ordinal.nfp f a) = Ordinal.nfp f a
-- Ordinal.IsNormal.apply_le_nfp
theorem IsNormal.apply_le_nfp {f} (H : IsNormal f) {a b} : f b ≤ nfp f a ↔ b ≤ nfp f a 
Arguments: {f : Ordinal.{u_1} → Ordinal.{u_1}} (H : Ordinal.IsNormal f) {a b : Ordinal.{u_1}}
Goal: f b ≤ Ordinal.nfp f a ↔ b ≤ Ordinal.nfp f a
-- Ordinal.nfp_eq_self
theorem nfp_eq_self {f : Ordinal → Ordinal} {a} (h : f a = a) : nfp f a = a 
Arguments: {f : Ordinal.{u_1} → Ordinal.{u_1}} {a : Ordinal.{u_1}} (h : f a = a)
Goal: Ordinal.nfp f a = a
-- Ordinal.fp_unbounded
theorem fp_unbounded (H : IsNormal f) : (Function.fixedPoints f).Unbounded (· < ·) 
Arguments: {f : Ordinal.{u} → Ordinal.{u}} (H : Ordinal.IsNormal f)
Goal: Set.Unbounded (fun x x_1 => x < x_1) (Function.fixedPoints f)
-- Ordinal.deriv_eq_derivFamily
theorem deriv_eq_derivFamily (f : Ordinal → Ordinal) : deriv f = derivFamily fun _ : Unit => f 
Arguments: (f : Ordinal.{u_1} → Ordinal.{u_1})
Goal: Ordinal.deriv f = Ordinal.derivFamily fun x => f
-- Ordinal.deriv_zero
@[simp]
theorem deriv_zero (f) : deriv f 0 = nfp f 0 
Arguments: (f : Ordinal.{u_1} → Ordinal.{u_1})
Goal: Ordinal.deriv f 0 = Ordinal.nfp f 0
-- Ordinal.deriv_succ
@[simp]
theorem deriv_succ (f o) : deriv f (succ o) = nfp f (succ (deriv f o)) 
Arguments: (f : Ordinal.{u_1} → Ordinal.{u_1}) (o : Ordinal.{u_1})
Goal: Ordinal.deriv f (Order.succ o) = Ordinal.nfp f (Order.succ (Ordinal.deriv f o))
-- Ordinal.deriv_limit
theorem deriv_limit (f) {o} : IsLimit o → deriv f o = bsup.{u, 0} o fun a _ => deriv f a 
Arguments: (f : Ordinal.{u} → Ordinal.{u}) {o : Ordinal.{u}}
Goal: o.IsLimit → Ordinal.deriv f o = o.bsup fun a x => Ordinal.deriv f a
-- Ordinal.deriv_isNormal
theorem deriv_isNormal (f) : IsNormal (deriv f) 
Arguments: (f : Ordinal.{u_1} → Ordinal.{u_1})
Goal: Ordinal.IsNormal (Ordinal.deriv f)
-- Ordinal.deriv_id_of_nfp_id
theorem deriv_id_of_nfp_id {f : Ordinal → Ordinal} (h : nfp f = id) : deriv f = id 
Arguments: {f : Ordinal.{u_1} → Ordinal.{u_1}} (h : Ordinal.nfp f = id)
Goal: Ordinal.deriv f = id
-- Ordinal.IsNormal.deriv_fp
theorem IsNormal.deriv_fp {f} (H : IsNormal f) : ∀ o, f (deriv f o) = deriv f o 
Arguments: {f : Ordinal.{u_1} → Ordinal.{u_1}} (H : Ordinal.IsNormal f) (o : Ordinal.{u_1})
Goal: f (Ordinal.deriv f o) = Ordinal.deriv f o
-- Ordinal.IsNormal.le_iff_deriv
theorem IsNormal.le_iff_deriv {f} (H : IsNormal f) {a} : f a ≤ a ↔ ∃ o, deriv f o = a 
Arguments: {f : Ordinal.{u_1} → Ordinal.{u_1}} (H : Ordinal.IsNormal f) {a : Ordinal.{u_1}}
Goal: f a ≤ a ↔ ∃ o, Ordinal.deriv f o = a
-- Ordinal.IsNormal.fp_iff_deriv
theorem IsNormal.fp_iff_deriv {f} (H : IsNormal f) {a} : f a = a ↔ ∃ o, deriv f o = a 
Arguments: {f : Ordinal.{u_1} → Ordinal.{u_1}} (H : Ordinal.IsNormal f) {a : Ordinal.{u_1}}
Goal: f a = a ↔ ∃ o, Ordinal.deriv f o = a
-- Ordinal.deriv_eq_enumOrd
theorem deriv_eq_enumOrd (H : IsNormal f) : deriv f = enumOrd (Function.fixedPoints f) 
Arguments: {f : Ordinal.{u} → Ordinal.{u}} (H : Ordinal.IsNormal f)
Goal: Ordinal.deriv f = Ordinal.enumOrd (Function.fixedPoints f)
-- Ordinal.deriv_eq_id_of_nfp_eq_id
theorem deriv_eq_id_of_nfp_eq_id {f : Ordinal → Ordinal} (h : nfp f = id) : deriv f = id 
Arguments: {f : Ordinal.{u_1} → Ordinal.{u_1}} (h : Ordinal.nfp f = id)
Goal: Ordinal.deriv f = id
-- Ordinal.nfp_add_zero
@[simp]
theorem nfp_add_zero (a) : nfp (a + ·) 0 = a * omega 
Arguments: (a : Ordinal.{u_1})
Goal: Ordinal.nfp (fun x => a + x) 0 = a * Ordinal.omega
-- Ordinal.nfp_add_eq_mul_omega
theorem nfp_add_eq_mul_omega {a b} (hba : b ≤ a * omega) : nfp (a + ·) b = a * omega 
Arguments: {a b : Ordinal.{u_1}} (hba : b ≤ a * Ordinal.omega)
Goal: Ordinal.nfp (fun x => a + x) b = a * Ordinal.omega
-- Ordinal.add_eq_right_iff_mul_omega_le
theorem add_eq_right_iff_mul_omega_le {a b : Ordinal} : a + b = b ↔ a * omega ≤ b 
Arguments: {a b : Ordinal.{u_1}}
Goal: a + b = b ↔ a * Ordinal.omega ≤ b
-- Ordinal.add_le_right_iff_mul_omega_le
theorem add_le_right_iff_mul_omega_le {a b : Ordinal} : a + b ≤ b ↔ a * omega ≤ b 
Arguments: {a b : Ordinal.{u_1}}
Goal: a + b ≤ b ↔ a * Ordinal.omega ≤ b
-- Ordinal.deriv_add_eq_mul_omega_add
theorem deriv_add_eq_mul_omega_add (a b : Ordinal.{u}) : deriv (a + ·) b = a * omega + b 
Arguments: (a b : Ordinal.{u})
Goal: Ordinal.deriv (fun x => a + x) b = a * Ordinal.omega + b
-- Ordinal.nfp_mul_one
@[simp]
theorem nfp_mul_one {a : Ordinal} (ha : 0 < a) : nfp (a * ·) 1 = (a^omega) 
Arguments: {a : Ordinal.{u_1}} (ha : 0 < a)
Goal: Ordinal.nfp (fun x => a * x) 1 = a ^ Ordinal.omega
-- Ordinal.nfp_mul_zero
@[simp]
theorem nfp_mul_zero (a : Ordinal) : nfp (a * ·) 0 = 0 
Arguments: (a : Ordinal.{u_1})
Goal: Ordinal.nfp (fun x => a * x) 0 = 0
-- Ordinal.nfp_zero_mul
@[simp]
theorem nfp_zero_mul : nfp (HMul.hMul 0) = id 
Goal: Ordinal.nfp (HMul.hMul 0) = id
-- Ordinal.deriv_mul_zero
@[simp]
theorem deriv_mul_zero : deriv (HMul.hMul 0) = id 
Goal: Ordinal.deriv (HMul.hMul 0) = id
-- Ordinal.nfp_mul_eq_opow_omega
theorem nfp_mul_eq_opow_omega {a b : Ordinal} (hb : 0 < b) (hba : b ≤ (a^omega)) :
    nfp (a * ·) b = (a^omega.{u}) 
Arguments: {a b : Ordinal.{u}} (hb : 0 < b) (hba : b ≤ a ^ Ordinal.omega)
Goal: Ordinal.nfp (fun x => a * x) b = a ^ Ordinal.omega
-- Ordinal.eq_zero_or_opow_omega_le_of_mul_eq_right
theorem eq_zero_or_opow_omega_le_of_mul_eq_right {a b : Ordinal} (hab : a * b = b) :
    b = 0 ∨ (a^omega.{u}) ≤ b 
Arguments: {a b : Ordinal.{u}} (hab : a * b = b)
Goal: b = 0 ∨ a ^ Ordinal.omega ≤ b
-- Ordinal.mul_eq_right_iff_opow_omega_dvd
theorem mul_eq_right_iff_opow_omega_dvd {a b : Ordinal} : a * b = b ↔ (a^omega) ∣ b 
Arguments: {a b : Ordinal.{u_1}}
Goal: a * b = b ↔ a ^ Ordinal.omega ∣ b
-- Ordinal.mul_le_right_iff_opow_omega_dvd
theorem mul_le_right_iff_opow_omega_dvd {a b : Ordinal} (ha : 0 < a) :
    a * b ≤ b ↔ (a^omega) ∣ b 
Arguments: {a b : Ordinal.{u_1}} (ha : 0 < a)
Goal: a * b ≤ b ↔ a ^ Ordinal.omega ∣ b
-- Ordinal.nfp_mul_opow_omega_add
theorem nfp_mul_opow_omega_add {a c : Ordinal} (b) (ha : 0 < a) (hc : 0 < c) (hca : c ≤ (a^omega)) :
    nfp (a * ·) ((a^omega) * b + c) = (a^omega.{u}) * succ b 
Arguments: {a c : Ordinal.{u}} (b : Ordinal.{u}) (ha : 0 < a) (hc : 0 < c) (hca : c ≤ a ^ Ordinal.omega)
Goal: Ordinal.nfp (fun x => a * x) (a ^ Ordinal.omega * b + c) = a ^ Ordinal.omega * Order.succ b
-- Ordinal.deriv_mul_eq_opow_omega_mul
theorem deriv_mul_eq_opow_omega_mul {a : Ordinal.{u}} (ha : 0 < a) (b) :
    deriv (a * ·) b = (a^omega) * b 
Arguments: {a : Ordinal.{u}} (ha : 0 < a) (b : Ordinal.{u})
Goal: Ordinal.deriv (fun x => a * x) b = a ^ Ordinal.omega * b
-- Finset.toColex_ofColex
@[simp] lemma toColex_ofColex (s : Colex α) : toColex (ofColex s) = s 
Arguments: {α : Type u_1} (s : Finset.Colex α)
Goal: { ofColex := s.ofColex } = s
-- Finset.ofColex_toColex
lemma ofColex_toColex (s : Finset α) : ofColex (toColex s) = s 
Arguments: {α : Type u_1} (s : Finset α)
Goal: { ofColex := s }.ofColex = s
-- Finset.toColex_inj
lemma toColex_inj {s t : Finset α} : toColex s = toColex t ↔ s = t 
Arguments: {α : Type u_1} {s t : Finset α}
Goal: { ofColex := s } = { ofColex := t } ↔ s = t
-- Finset.ofColex_inj
@[simp]
lemma ofColex_inj {s t : Colex α} : ofColex s = ofColex t ↔ s = t 
Arguments: {α : Type u_1} {s t : Finset.Colex α}
Goal: s.ofColex = t.ofColex ↔ s = t
-- Finset.toColex_ne_toColex
lemma toColex_ne_toColex {s t : Finset α} : toColex s ≠ toColex t ↔ s ≠ t 
Arguments: {α : Type u_1} {s t : Finset α}
Goal: { ofColex := s } ≠ { ofColex := t } ↔ s ≠ t
-- Finset.ofColex_ne_ofColex
lemma ofColex_ne_ofColex {s t : Colex α} : ofColex s ≠ ofColex t ↔ s ≠ t 
Arguments: {α : Type u_1} {s t : Finset.Colex α}
Goal: s.ofColex ≠ t.ofColex ↔ s ≠ t
-- Finset.toColex_injective
lemma toColex_injective : Injective (toColex : Finset α → Colex α) 
Arguments: {α : Type u_1}
Goal: Function.Injective Finset.Colex.toColex
-- Finset.ofColex_injective
lemma ofColex_injective : Injective (ofColex : Colex α → Finset α) 
Arguments: {α : Type u_1}
Goal: Function.Injective Finset.Colex.ofColex
-- _private.Mathlib.Combinatorics.Colex.0.Finset.Colex.trans_aux
private lemma trans_aux (hst : toColex s ≤ toColex t) (htu : toColex t ≤ toColex u)
    (has : a ∈ s) (hat : a ∉ t) : ∃ b, b ∈ u ∧ b ∉ s ∧ a ≤ b 
Arguments: {α : Type u_1} [PartialOrder α] {s t u : Finset α} {a : α} (hst : { ofColex := s } ≤ { ofColex := t }) (htu : { ofColex := t } ≤ { ofColex := u }) (has : a ∈ s) (hat : a ∉ t)
Goal: ∃ b ∈ u, b ∉ s ∧ a ≤ b