ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- transGen_of_pred_of_reflexive
theorem transGen_of_pred_of_reflexive (r : α → α → Prop) {n m : α} (hr : Reflexive r)
    (h1 : ∀ i ∈ Ioc m n, r i (pred i)) (h2 : ∀ i ∈ Ioc n m, r (pred i) i) : TransGen r n m 
Arguments: {α : Type u_1} [LinearOrder α] [PredOrder α] [IsPredArchimedean α] (r : α → α → Prop) {n m : α} (hr : Reflexive r) (h1 : ∀ i ∈ Set.Ioc m n, r i (Order.pred i)) (h2 : ∀ i ∈ Set.Ioc n m, r (Order.pred i) i)
Goal: Relation.TransGen r n m
-- Monotone.biUnion_Ico_Ioc_map_succ
theorem biUnion_Ico_Ioc_map_succ [SuccOrder α] [IsSuccArchimedean α] [LinearOrder β] {f : α → β}
    (hf : Monotone f) (m n : α) : ⋃ i ∈ Ico m n, Ioc (f i) (f (succ i)) = Ioc (f m) (f n) 
Arguments: {α : Type u_1} {β : Type u_2} [LinearOrder α] [SuccOrder α] [IsSuccArchimedean α] [LinearOrder β] {f : α → β} (hf : Monotone f) (m n : α)
Goal: ⋃ i ∈ Set.Ico m n, Set.Ioc (f i) (f (Order.succ i)) = Set.Ioc (f m) (f n)
-- Monotone.pairwise_disjoint_on_Ioc_succ
theorem pairwise_disjoint_on_Ioc_succ [SuccOrder α] [Preorder β] {f : α → β} (hf : Monotone f) :
    Pairwise (Disjoint on fun n => Ioc (f n) (f (succ n))) 
Arguments: {α : Type u_1} {β : Type u_2} [LinearOrder α] [SuccOrder α] [Preorder β] {f : α → β} (hf : Monotone f)
Goal: Pairwise (Disjoint on fun n => Set.Ioc (f n) (f (Order.succ n)))
-- Monotone.pairwise_disjoint_on_Ico_succ
theorem pairwise_disjoint_on_Ico_succ [SuccOrder α] [Preorder β] {f : α → β} (hf : Monotone f) :
    Pairwise (Disjoint on fun n => Ico (f n) (f (succ n))) 
Arguments: {α : Type u_1} {β : Type u_2} [LinearOrder α] [SuccOrder α] [Preorder β] {f : α → β} (hf : Monotone f)
Goal: Pairwise (Disjoint on fun n => Set.Ico (f n) (f (Order.succ n)))
-- Monotone.pairwise_disjoint_on_Ioo_succ
theorem pairwise_disjoint_on_Ioo_succ [SuccOrder α] [Preorder β] {f : α → β} (hf : Monotone f) :
    Pairwise (Disjoint on fun n => Ioo (f n) (f (succ n))) 
Arguments: {α : Type u_1} {β : Type u_2} [LinearOrder α] [SuccOrder α] [Preorder β] {f : α → β} (hf : Monotone f)
Goal: Pairwise (Disjoint on fun n => Set.Ioo (f n) (f (Order.succ n)))
-- Monotone.pairwise_disjoint_on_Ioc_pred
theorem pairwise_disjoint_on_Ioc_pred [PredOrder α] [Preorder β] {f : α → β} (hf : Monotone f) :
    Pairwise (Disjoint on fun n => Ioc (f (pred n)) (f n)) 
Arguments: {α : Type u_1} {β : Type u_2} [LinearOrder α] [PredOrder α] [Preorder β] {f : α → β} (hf : Monotone f)
Goal: Pairwise (Disjoint on fun n => Set.Ioc (f (Order.pred n)) (f n))
-- Monotone.pairwise_disjoint_on_Ico_pred
theorem pairwise_disjoint_on_Ico_pred [PredOrder α] [Preorder β] {f : α → β} (hf : Monotone f) :
    Pairwise (Disjoint on fun n => Ico (f (pred n)) (f n)) 
Arguments: {α : Type u_1} {β : Type u_2} [LinearOrder α] [PredOrder α] [Preorder β] {f : α → β} (hf : Monotone f)
Goal: Pairwise (Disjoint on fun n => Set.Ico (f (Order.pred n)) (f n))
-- Monotone.pairwise_disjoint_on_Ioo_pred
theorem pairwise_disjoint_on_Ioo_pred [PredOrder α] [Preorder β] {f : α → β} (hf : Monotone f) :
    Pairwise (Disjoint on fun n => Ioo (f (pred n)) (f n)) 
Arguments: {α : Type u_1} {β : Type u_2} [LinearOrder α] [PredOrder α] [Preorder β] {f : α → β} (hf : Monotone f)
Goal: Pairwise (Disjoint on fun n => Set.Ioo (f (Order.pred n)) (f n))
-- Antitone.pairwise_disjoint_on_Ioc_succ
theorem pairwise_disjoint_on_Ioc_succ [SuccOrder α] [Preorder β] {f : α → β} (hf : Antitone f) :
    Pairwise (Disjoint on fun n => Ioc (f (succ n)) (f n)) 
Arguments: {α : Type u_1} {β : Type u_2} [LinearOrder α] [SuccOrder α] [Preorder β] {f : α → β} (hf : Antitone f)
Goal: Pairwise (Disjoint on fun n => Set.Ioc (f (Order.succ n)) (f n))
-- Antitone.pairwise_disjoint_on_Ico_succ
theorem pairwise_disjoint_on_Ico_succ [SuccOrder α] [Preorder β] {f : α → β} (hf : Antitone f) :
    Pairwise (Disjoint on fun n => Ico (f (succ n)) (f n)) 
Arguments: {α : Type u_1} {β : Type u_2} [LinearOrder α] [SuccOrder α] [Preorder β] {f : α → β} (hf : Antitone f)
Goal: Pairwise (Disjoint on fun n => Set.Ico (f (Order.succ n)) (f n))
-- Antitone.pairwise_disjoint_on_Ioo_succ
theorem pairwise_disjoint_on_Ioo_succ [SuccOrder α] [Preorder β] {f : α → β} (hf : Antitone f) :
    Pairwise (Disjoint on fun n => Ioo (f (succ n)) (f n)) 
Arguments: {α : Type u_1} {β : Type u_2} [LinearOrder α] [SuccOrder α] [Preorder β] {f : α → β} (hf : Antitone f)
Goal: Pairwise (Disjoint on fun n => Set.Ioo (f (Order.succ n)) (f n))
-- Antitone.pairwise_disjoint_on_Ioc_pred
theorem pairwise_disjoint_on_Ioc_pred [PredOrder α] [Preorder β] {f : α → β} (hf : Antitone f) :
    Pairwise (Disjoint on fun n => Ioc (f n) (f (pred n))) 
Arguments: {α : Type u_1} {β : Type u_2} [LinearOrder α] [PredOrder α] [Preorder β] {f : α → β} (hf : Antitone f)
Goal: Pairwise (Disjoint on fun n => Set.Ioc (f n) (f (Order.pred n)))
-- Antitone.pairwise_disjoint_on_Ico_pred
theorem pairwise_disjoint_on_Ico_pred [PredOrder α] [Preorder β] {f : α → β} (hf : Antitone f) :
    Pairwise (Disjoint on fun n => Ico (f n) (f (pred n))) 
Arguments: {α : Type u_1} {β : Type u_2} [LinearOrder α] [PredOrder α] [Preorder β] {f : α → β} (hf : Antitone f)
Goal: Pairwise (Disjoint on fun n => Set.Ico (f n) (f (Order.pred n)))
-- Antitone.pairwise_disjoint_on_Ioo_pred
theorem pairwise_disjoint_on_Ioo_pred [PredOrder α] [Preorder β] {f : α → β} (hf : Antitone f) :
    Pairwise (Disjoint on fun n => Ioo (f n) (f (pred n))) 
Arguments: {α : Type u_1} {β : Type u_2} [LinearOrder α] [PredOrder α] [Preorder β] {f : α → β} (hf : Antitone f)
Goal: Pairwise (Disjoint on fun n => Set.Ioo (f n) (f (Order.pred n)))
-- Nat.bot_eq_zero
@[simp, nolint simpNF] protected lemma bot_eq_zero : ⊥ = 0 
Goal: ⊥ = 0
-- BddLat.coe_of
@[simp]
theorem coe_of (α : Type*) [Lattice α] [BoundedOrder α] : ↥(of α) = α 
Arguments: (α : Type u_1) [Lattice α] [BoundedOrder α]
Goal: ↑(BddLat.of α).toLat = α
-- BddLat.coe_forget_to_bddOrd
@[simp]
theorem coe_forget_to_bddOrd (X : BddLat) : ↥((forget₂ BddLat BddOrd).obj X) = ↥X 
Arguments: (X : BddLat)
Goal: ↑((CategoryTheory.forget₂ BddLat BddOrd).obj X).toPartOrd = ↑X.toLat
-- BddLat.coe_forget_to_lat
@[simp]
theorem coe_forget_to_lat (X : BddLat) : ↥((forget₂ BddLat Lat).obj X) = ↥X 
Arguments: (X : BddLat)
Goal: ↑((CategoryTheory.forget₂ BddLat Lat).obj X) = ↑X.toLat
-- BddLat.coe_forget_to_semilatSup
@[simp]
theorem coe_forget_to_semilatSup (X : BddLat) :
    ↥((forget₂ BddLat SemilatSupCat).obj X) = ↥X 
Arguments: (X : BddLat)
Goal: ((CategoryTheory.forget₂ BddLat SemilatSupCat).obj X).X = ↑X.toLat
-- BddLat.coe_forget_to_semilatInf
@[simp]
theorem coe_forget_to_semilatInf (X : BddLat) :
    ↥((forget₂ BddLat SemilatInfCat).obj X) = ↥X 
Arguments: (X : BddLat)
Goal: ((CategoryTheory.forget₂ BddLat SemilatInfCat).obj X).X = ↑X.toLat
-- BddLat.forget_lat_partOrd_eq_forget_bddOrd_partOrd
theorem forget_lat_partOrd_eq_forget_bddOrd_partOrd :
    forget₂ BddLat Lat ⋙ forget₂ Lat PartOrd =
      forget₂ BddLat BddOrd ⋙ forget₂ BddOrd PartOrd 
Goal: CategoryTheory.forget₂ BddLat Lat ⋙ CategoryTheory.forget₂ Lat PartOrd =
  CategoryTheory.forget₂ BddLat BddOrd ⋙ CategoryTheory.forget₂ BddOrd PartOrd
-- BddLat.forget_semilatSup_partOrd_eq_forget_bddOrd_partOrd
theorem forget_semilatSup_partOrd_eq_forget_bddOrd_partOrd :
    forget₂ BddLat SemilatSupCat ⋙ forget₂ SemilatSupCat PartOrd =
      forget₂ BddLat BddOrd ⋙ forget₂ BddOrd PartOrd 
Goal: CategoryTheory.forget₂ BddLat SemilatSupCat ⋙ CategoryTheory.forget₂ SemilatSupCat PartOrd =
  CategoryTheory.forget₂ BddLat BddOrd ⋙ CategoryTheory.forget₂ BddOrd PartOrd
-- BddLat.forget_semilatInf_partOrd_eq_forget_bddOrd_partOrd
theorem forget_semilatInf_partOrd_eq_forget_bddOrd_partOrd :
    forget₂ BddLat SemilatInfCat ⋙ forget₂ SemilatInfCat PartOrd =
      forget₂ BddLat BddOrd ⋙ forget₂ BddOrd PartOrd 
Goal: CategoryTheory.forget₂ BddLat SemilatInfCat ⋙ CategoryTheory.forget₂ SemilatInfCat PartOrd =
  CategoryTheory.forget₂ BddLat BddOrd ⋙ CategoryTheory.forget₂ BddOrd PartOrd
-- BddLat.Iso.mk_inv_toLatticeHom_toSupHom_toFun
@[simps]
def Iso.mk {α β : BddLat.{u}} (e : α ≃o β) : α ≅ β 
Arguments: {α β : BddLat} (e : ↑α.toLat ≃o ↑β.toLat) (a : ↑β.toLat)
Goal: (BddLat.Iso.mk e).inv.toSupHom a = e.symm a
-- BddLat.Iso.mk_hom_toLatticeHom_toSupHom_toFun
@[simps]
def Iso.mk {α β : BddLat.{u}} (e : α ≃o β) : α ≅ β 
Arguments: {α β : BddLat} (e : ↑α.toLat ≃o ↑β.toLat) (a : ↑α.toLat)
Goal: (BddLat.Iso.mk e).hom.toSupHom a = e a
-- BddLat.dual_obj
@[simps]
def dual : BddLat ⥤ BddLat 
Arguments: (X : BddLat)
Goal: BddLat.dual.obj X = BddLat.of (↑X.toLat)ᵒᵈ
-- BddLat.dual_map
@[simps]
def dual : BddLat ⥤ BddLat 
Arguments: {X Y : BddLat} (a : BoundedLatticeHom ↑X.toLat ↑Y.toLat)
Goal: BddLat.dual.map a = BoundedLatticeHom.dual a
-- BddLat.dualEquiv_functor
@[simps functor inverse]
def dualEquiv : BddLat ≌ BddLat 
Goal: BddLat.dualEquiv.functor = BddLat.dual
-- BddLat.dualEquiv_inverse
@[simps functor inverse]
def dualEquiv : BddLat ≌ BddLat 
Goal: BddLat.dualEquiv.inverse = BddLat.dual
-- bddLat_dual_comp_forget_to_bddOrd
theorem bddLat_dual_comp_forget_to_bddOrd :
    BddLat.dual ⋙ forget₂ BddLat BddOrd =
    forget₂ BddLat BddOrd ⋙ BddOrd.dual 
Goal: BddLat.dual ⋙ CategoryTheory.forget₂ BddLat BddOrd = CategoryTheory.forget₂ BddLat BddOrd ⋙ BddOrd.dual
-- bddLat_dual_comp_forget_to_lat
theorem bddLat_dual_comp_forget_to_lat :
    BddLat.dual ⋙ forget₂ BddLat Lat = forget₂ BddLat Lat ⋙ Lat.dual 
Goal: BddLat.dual ⋙ CategoryTheory.forget₂ BddLat Lat = CategoryTheory.forget₂ BddLat Lat ⋙ Lat.dual
-- bddLat_dual_comp_forget_to_semilatSupCat
theorem bddLat_dual_comp_forget_to_semilatSupCat :
    BddLat.dual ⋙ forget₂ BddLat SemilatSupCat =
    forget₂ BddLat SemilatInfCat ⋙ SemilatInfCat.dual 
Goal: BddLat.dual ⋙ CategoryTheory.forget₂ BddLat SemilatSupCat =
  CategoryTheory.forget₂ BddLat SemilatInfCat ⋙ SemilatInfCat.dual
-- bddLat_dual_comp_forget_to_semilatInfCat
theorem bddLat_dual_comp_forget_to_semilatInfCat :
    BddLat.dual ⋙ forget₂ BddLat SemilatInfCat =
    forget₂ BddLat SemilatSupCat ⋙ SemilatSupCat.dual 
Goal: BddLat.dual ⋙ CategoryTheory.forget₂ BddLat SemilatInfCat =
  CategoryTheory.forget₂ BddLat SemilatSupCat ⋙ SemilatSupCat.dual
-- NonemptyFiniteLinearOrder.Nonempty
class NonemptyFiniteLinearOrder (α : Type*) extends Fintype α, LinearOrder α where
  Nonempty : Nonempty α := by infer_instance
Arguments: {α : Type u_1} [self : NonemptyFiniteLinearOrder α]
Goal: Nonempty α
-- NonemptyFinLinOrd.coe_of
@[simp]
theorem coe_of (α : Type*) [NonemptyFiniteLinearOrder α] : ↥(of α) = α 
Arguments: (α : Type u_1) [NonemptyFiniteLinearOrder α]
Goal: ↑(NonemptyFinLinOrd.of α) = α
-- NonemptyFinLinOrd.Iso.mk_inv
@[simps]
def Iso.mk {α β : NonemptyFinLinOrd.{u}} (e : α ≃o β) : α ≅ β 
Arguments: {α β : NonemptyFinLinOrd} (e : ↑α ≃o ↑β)
Goal: (NonemptyFinLinOrd.Iso.mk e).inv = ↑e.symm
-- NonemptyFinLinOrd.Iso.mk_hom
@[simps]
def Iso.mk {α β : NonemptyFinLinOrd.{u}} (e : α ≃o β) : α ≅ β 
Arguments: {α β : NonemptyFinLinOrd} (e : ↑α ≃o ↑β)
Goal: (NonemptyFinLinOrd.Iso.mk e).hom = ↑e
-- NonemptyFinLinOrd.dual_obj
@[simps]
def dual : NonemptyFinLinOrd ⥤ NonemptyFinLinOrd 
Arguments: (X : NonemptyFinLinOrd)
Goal: NonemptyFinLinOrd.dual.obj X = NonemptyFinLinOrd.of (↑X)ᵒᵈ
-- NonemptyFinLinOrd.dual_map
@[simps]
def dual : NonemptyFinLinOrd ⥤ NonemptyFinLinOrd 
Goal: ∀ {X Y : NonemptyFinLinOrd} (a : ↑X →o ↑Y), NonemptyFinLinOrd.dual.map a = OrderHom.dual a
-- NonemptyFinLinOrd.dualEquiv_functor
@[simps functor inverse]
def dualEquiv : NonemptyFinLinOrd ≌ NonemptyFinLinOrd 
Goal: NonemptyFinLinOrd.dualEquiv.functor = NonemptyFinLinOrd.dual
-- NonemptyFinLinOrd.dualEquiv_inverse
@[simps functor inverse]
def dualEquiv : NonemptyFinLinOrd ≌ NonemptyFinLinOrd 
Goal: NonemptyFinLinOrd.dualEquiv.inverse = NonemptyFinLinOrd.dual
-- NonemptyFinLinOrd.mono_iff_injective
theorem mono_iff_injective {A B : NonemptyFinLinOrd.{u}} (f : A ⟶ B) :
    Mono f ↔ Function.Injective f 
Arguments: {A B : NonemptyFinLinOrd} (f : A ⟶ B)
Goal: CategoryTheory.Mono f ↔ Function.Injective ⇑f
-- NonemptyFinLinOrd.forget_map_apply
lemma forget_map_apply {A B : NonemptyFinLinOrd.{u}} (f : A ⟶ B) (a : A) :
    (forget NonemptyFinLinOrd).map f a = (f : OrderHom A B).toFun a 
Arguments: {A B : NonemptyFinLinOrd} (f : A ⟶ B) (a : ↑A)
Goal: (CategoryTheory.forget NonemptyFinLinOrd).map f a = f.toFun a
-- NonemptyFinLinOrd.epi_iff_surjective
theorem epi_iff_surjective {A B : NonemptyFinLinOrd.{u}} (f : A ⟶ B) :
    Epi f ↔ Function.Surjective f 
Arguments: {A B : NonemptyFinLinOrd} (f : A ⟶ B)
Goal: CategoryTheory.Epi f ↔ Function.Surjective ⇑f
-- nonemptyFinLinOrd_dual_comp_forget_to_linOrd
theorem nonemptyFinLinOrd_dual_comp_forget_to_linOrd :
    NonemptyFinLinOrd.dual ⋙ forget₂ NonemptyFinLinOrd LinOrd =
      forget₂ NonemptyFinLinOrd LinOrd ⋙ LinOrd.dual 
Goal: NonemptyFinLinOrd.dual ⋙ CategoryTheory.forget₂ NonemptyFinLinOrd LinOrd =
  CategoryTheory.forget₂ NonemptyFinLinOrd LinOrd ⋙ LinOrd.dual
-- directedOn_iff_directed
theorem directedOn_iff_directed {s} : @DirectedOn α r s ↔ Directed r (Subtype.val : s → α) 
Arguments: {α : Type u} {r : α → α → Prop} {s : Set α}
Goal: DirectedOn r s ↔ Directed r Subtype.val
-- directedOn_range
theorem directedOn_range {f : ι → α} : Directed r f ↔ DirectedOn r (Set.range f) 
Arguments: {α : Type u} {ι : Sort w} {r : α → α → Prop} {f : ι → α}
Goal: Directed r f ↔ DirectedOn r (Set.range f)
-- directedOn_image
theorem directedOn_image {s : Set β} {f : β → α} :
    DirectedOn r (f '' s) ↔ DirectedOn (f ⁻¹'o r) s 
Arguments: {α : Type u} {β : Type v} {r : α → α → Prop} {s : Set β} {f : β → α}
Goal: DirectedOn r (f '' s) ↔ DirectedOn (f ⁻¹'o r) s
-- DirectedOn.mono'
theorem DirectedOn.mono' {s : Set α} (hs : DirectedOn r s)
    (h : ∀ ⦃a⦄, a ∈ s → ∀ ⦃b⦄, b ∈ s → r a b → r' a b) : DirectedOn r' s 
Arguments: {α : Type u} {r r' : α → α → Prop} {s : Set α} (hs : DirectedOn r s) (h : ∀ ⦃a : α⦄, a ∈ s → ∀ ⦃b : α⦄, b ∈ s → r a b → r' a b)
Goal: DirectedOn r' s
-- DirectedOn.mono
theorem DirectedOn.mono {s : Set α} (h : DirectedOn r s) (H : ∀ ⦃a b⦄, r a b → r' a b) :
    DirectedOn r' s 
Arguments: {α : Type u} {r r' : α → α → Prop} {s : Set α} (h : DirectedOn r s) (H : ∀ ⦃a b : α⦄, r a b → r' a b)
Goal: DirectedOn r' s
-- directed_comp
theorem directed_comp {ι} {f : ι → β} {g : β → α} : Directed r (g ∘ f) ↔ Directed (g ⁻¹'o r) f 
Arguments: {α : Type u} {β : Type v} {r : α → α → Prop} {ι : Sort u_1} {f : ι → β} {g : β → α}
Goal: Directed r (g ∘ f) ↔ Directed (g ⁻¹'o r) f
-- Directed.mono
theorem Directed.mono {s : α → α → Prop} {ι} {f : ι → α} (H : ∀ a b, r a b → s a b)
    (h : Directed r f) : Directed s f 
Arguments: {α : Type u} {r s : α → α → Prop} {ι : Sort u_1} {f : ι → α} (H : ∀ (a b : α), r a b → s a b) (h : Directed r f)
Goal: Directed s f
-- Directed.mono_comp
theorem Directed.mono_comp (r : α → α → Prop) {ι} {rb : β → β → Prop} {g : α → β} {f : ι → α}
    (hg : ∀ ⦃x y⦄, r x y → rb (g x) (g y)) (hf : Directed r f) : Directed rb (g ∘ f) 
Arguments: {α : Type u} {β : Type v} (r : α → α → Prop) {ι : Sort u_1} {rb : β → β → Prop} {g : α → β} {f : ι → α} (hg : ∀ ⦃x y : α⦄, r x y → rb (g x) (g y)) (hf : Directed r f)
Goal: Directed rb (g ∘ f)
-- directedOn_of_sup_mem
theorem directedOn_of_sup_mem [SemilatticeSup α] {S : Set α}
    (H : ∀ ⦃i j⦄, i ∈ S → j ∈ S → i ⊔ j ∈ S) : DirectedOn (· ≤ ·) S 
Arguments: {α : Type u} [SemilatticeSup α] {S : Set α} (H : ∀ ⦃i j : α⦄, i ∈ S → j ∈ S → i ⊔ j ∈ S)
Goal: DirectedOn (fun x x_1 => x ≤ x_1) S
-- Directed.extend_bot
theorem Directed.extend_bot [Preorder α] [OrderBot α] {e : ι → β} {f : ι → α}
    (hf : Directed (· ≤ ·) f) (he : Function.Injective e) :
    Directed (· ≤ ·) (Function.extend e f ⊥) 
Arguments: {α : Type u} {β : Type v} {ι : Sort w} [Preorder α] [OrderBot α] {e : ι → β} {f : ι → α} (hf : Directed (fun x x_1 => x ≤ x_1) f) (he : Function.Injective e)
Goal: Directed (fun x x_1 => x ≤ x_1) (Function.extend e f ⊥)
-- directedOn_of_inf_mem
theorem directedOn_of_inf_mem [SemilatticeInf α] {S : Set α}
    (H : ∀ ⦃i j⦄, i ∈ S → j ∈ S → i ⊓ j ∈ S) : DirectedOn (· ≥ ·) S 
Arguments: {α : Type u} [SemilatticeInf α] {S : Set α} (H : ∀ ⦃i j : α⦄, i ∈ S → j ∈ S → i ⊓ j ∈ S)
Goal: DirectedOn (fun x x_1 => x ≥ x_1) S
-- IsTotal.directed
theorem IsTotal.directed [IsTotal α r] (f : ι → α) : Directed r f 
Arguments: {α : Type u} {ι : Sort w} {r : α → α → Prop} [IsTotal α r] (f : ι → α)
Goal: Directed r f
-- IsDirected.directed
class IsDirected (α : Type*) (r : α → α → Prop) : Prop where
    directed (a b : α) : ∃ c, r a c ∧ r b c
Arguments: {α : Type u_1} {r : α → α → Prop} [self : IsDirected α r] (a b : α)
Goal: ∃ c, r a c ∧ r b c
-- directed_of
theorem directed_of (r : α → α → Prop) [IsDirected α r] (a b : α) : ∃ c, r a c ∧ r b c 
Arguments: {α : Type u} (r : α → α → Prop) [IsDirected α r] (a b : α)
Goal: ∃ c, r a c ∧ r b c
-- directed_id
theorem directed_id [IsDirected α r] : Directed r id 
Arguments: {α : Type u} {r : α → α → Prop} [IsDirected α r]
Goal: Directed r id
-- directed_id_iff
theorem directed_id_iff : Directed r id ↔ IsDirected α r 
Arguments: {α : Type u} {r : α → α → Prop}
Goal: Directed r id ↔ IsDirected α r
-- directedOn_univ
theorem directedOn_univ [IsDirected α r] : DirectedOn r Set.univ 
Arguments: {α : Type u} {r : α → α → Prop} [IsDirected α r]
Goal: DirectedOn r Set.univ
-- directedOn_univ_iff
theorem directedOn_univ_iff : DirectedOn r Set.univ ↔ IsDirected α r 
Arguments: {α : Type u} {r : α → α → Prop}
Goal: DirectedOn r Set.univ ↔ IsDirected α r
-- isDirected_mono
theorem isDirected_mono [IsDirected α r] (h : ∀ ⦃a b⦄, r a b → s a b) : IsDirected α s 
Arguments: {α : Type u} {r : α → α → Prop} (s : α → α → Prop) [IsDirected α r] (h : ∀ ⦃a b : α⦄, r a b → s a b)
Goal: IsDirected α s
-- exists_ge_ge
theorem exists_ge_ge [LE α] [IsDirected α (· ≤ ·)] (a b : α) : ∃ c, a ≤ c ∧ b ≤ c 
Arguments: {α : Type u} [LE α] [IsDirected α fun x x_1 => x ≤ x_1] (a b : α)
Goal: ∃ c, a ≤ c ∧ b ≤ c
-- exists_le_le
theorem exists_le_le [LE α] [IsDirected α (· ≥ ·)] (a b : α) : ∃ c, c ≤ a ∧ c ≤ b 
Arguments: {α : Type u} [LE α] [IsDirected α fun x x_1 => x ≥ x_1] (a b : α)
Goal: ∃ c ≤ a, c ≤ b
-- directed_of_isDirected_le
theorem directed_of_isDirected_le [LE α] [IsDirected α (· ≤ ·)] {f : α → β} {r : β → β → Prop}
    (H : ∀ ⦃i j⦄, i ≤ j → r (f i) (f j)) : Directed r f 
Arguments: {α : Type u} {β : Type v} [LE α] [IsDirected α fun x x_1 => x ≤ x_1] {f : α → β} {r : β → β → Prop} (H : ∀ ⦃i j : α⦄, i ≤ j → r (f i) (f j))
Goal: Directed r f
-- Monotone.directed_le
theorem Monotone.directed_le [Preorder α] [IsDirected α (· ≤ ·)] [Preorder β] {f : α → β} :
    Monotone f → Directed (· ≤ ·) f 
Arguments: {α : Type u} {β : Type v} [Preorder α] [IsDirected α fun x x_1 => x ≤ x_1] [Preorder β] {f : α → β}
Goal: Monotone f → Directed (fun x x_1 => x ≤ x_1) f
-- Antitone.directed_ge
theorem Antitone.directed_ge [Preorder α] [IsDirected α (· ≤ ·)] [Preorder β] {f : α → β}
    (hf : Antitone f) : Directed (· ≥ ·) f 
Arguments: {α : Type u} {β : Type v} [Preorder α] [IsDirected α fun x x_1 => x ≤ x_1] [Preorder β] {f : α → β} (hf : Antitone f)
Goal: Directed (fun x x_1 => x ≥ x_1) f
-- directed_of_isDirected_ge
theorem directed_of_isDirected_ge [LE α] [IsDirected α (· ≥ ·)] {r : β → β → Prop} {f : α → β}
    (hf : ∀ a₁ a₂, a₁ ≤ a₂ → r (f a₂) (f a₁)) : Directed r f 
Arguments: {α : Type u} {β : Type v} [LE α] [IsDirected α fun x x_1 => x ≥ x_1] {r : β → β → Prop} {f : α → β} (hf : ∀ (a₁ a₂ : α), a₁ ≤ a₂ → r (f a₂) (f a₁))
Goal: Directed r f
-- Monotone.directed_ge
theorem Monotone.directed_ge [Preorder α] [IsDirected α (· ≥ ·)] [Preorder β] {f : α → β}
    (hf : Monotone f) : Directed (· ≥ ·) f 
Arguments: {α : Type u} {β : Type v} [Preorder α] [IsDirected α fun x x_1 => x ≥ x_1] [Preorder β] {f : α → β} (hf : Monotone f)
Goal: Directed (fun x x_1 => x ≥ x_1) f
-- Antitone.directed_le
theorem Antitone.directed_le [Preorder α] [IsDirected α (· ≥ ·)] [Preorder β] {f : α → β}
    (hf : Antitone f) : Directed (· ≤ ·) f 
Arguments: {α : Type u} {β : Type v} [Preorder α] [IsDirected α fun x x_1 => x ≥ x_1] [Preorder β] {f : α → β} (hf : Antitone f)
Goal: Directed (fun x x_1 => x ≤ x_1) f
-- DirectedOn.insert
protected theorem DirectedOn.insert (h : Reflexive r) (a : α) {s : Set α} (hd : DirectedOn r s)
    (ha : ∀ b ∈ s, ∃ c ∈ s, a ≼ c ∧ b ≼ c) : DirectedOn r (insert a s) 
Arguments: {α : Type u} {r : α → α → Prop} (h : Reflexive r) (a : α) {s : Set α} (hd : DirectedOn r s) (ha : ∀ b ∈ s, ∃ c ∈ s, r a c ∧ r b c)
Goal: DirectedOn r (insert a s)
-- directedOn_singleton
theorem directedOn_singleton (h : Reflexive r) (a : α) : DirectedOn r ({a} : Set α) 
Arguments: {α : Type u} {r : α → α → Prop} (h : Reflexive r) (a : α)
Goal: DirectedOn r {a}
-- directedOn_pair
theorem directedOn_pair (h : Reflexive r) {a b : α} (hab : a ≼ b) : DirectedOn r ({a, b} : Set α) 
Arguments: {α : Type u} {r : α → α → Prop} (h : Reflexive r) {a b : α} (hab : r a b)
Goal: DirectedOn r {a, b}
-- directedOn_pair'
theorem directedOn_pair' (h : Reflexive r) {a b : α} (hab : a ≼ b) :
    DirectedOn r ({b, a} : Set α) 
Arguments: {α : Type u} {r : α → α → Prop} (h : Reflexive r) {a b : α} (hab : r a b)
Goal: DirectedOn r {b, a}
-- IsMin.isBot
protected theorem IsMin.isBot [IsDirected α (· ≥ ·)] (h : IsMin a) : IsBot a 
Arguments: {α : Type u} [Preorder α] {a : α} [IsDirected α fun x x_1 => x ≥ x_1] (h : IsMin a)
Goal: IsBot a
-- IsMax.isTop
protected theorem IsMax.isTop [IsDirected α (· ≤ ·)] (h : IsMax a) : IsTop a 
Arguments: {α : Type u} [Preorder α] {a : α} [IsDirected α fun x x_1 => x ≤ x_1] (h : IsMax a)
Goal: IsTop a
-- DirectedOn.is_bot_of_is_min
lemma DirectedOn.is_bot_of_is_min {s : Set α} (hd : DirectedOn (· ≥ ·) s)
    {m} (hm : m ∈ s) (hmin : ∀ a ∈ s, a ≤ m → m ≤ a) : ∀ a ∈ s, m ≤ a 
Arguments: {α : Type u} [Preorder α] {s : Set α} (hd : DirectedOn (fun x x_1 => x ≥ x_1) s) {m : α} (hm : m ∈ s) (hmin : ∀ a ∈ s, a ≤ m → m ≤ a) (a : α)
Goal: a ∈ s → m ≤ a
-- DirectedOn.is_top_of_is_max
lemma DirectedOn.is_top_of_is_max {s : Set α} (hd : DirectedOn (· ≤ ·) s)
    {m} (hm : m ∈ s) (hmax : ∀ a ∈ s, m ≤ a → a ≤ m) : ∀ a ∈ s, a ≤ m 
Arguments: {α : Type u} [Preorder α] {s : Set α} (hd : DirectedOn (fun x x_1 => x ≤ x_1) s) {m : α} (hm : m ∈ s) (hmax : ∀ a ∈ s, m ≤ a → a ≤ m) (a : α)
Goal: a ∈ s → a ≤ m
-- isTop_or_exists_gt
theorem isTop_or_exists_gt [IsDirected α (· ≤ ·)] (a : α) : IsTop a ∨ ∃ b, a < b 
Arguments: {α : Type u} [Preorder α] [IsDirected α fun x x_1 => x ≤ x_1] (a : α)
Goal: IsTop a ∨ ∃ b, a < b
-- isBot_or_exists_lt
theorem isBot_or_exists_lt [IsDirected α (· ≥ ·)] (a : α) : IsBot a ∨ ∃ b, b < a 
Arguments: {α : Type u} [Preorder α] [IsDirected α fun x x_1 => x ≥ x_1] (a : α)
Goal: IsBot a ∨ ∃ b, b < a
-- isBot_iff_isMin
theorem isBot_iff_isMin [IsDirected α (· ≥ ·)] : IsBot a ↔ IsMin a 
Arguments: {α : Type u} [Preorder α] {a : α} [IsDirected α fun x x_1 => x ≥ x_1]
Goal: IsBot a ↔ IsMin a
-- isTop_iff_isMax
theorem isTop_iff_isMax [IsDirected α (· ≤ ·)] : IsTop a ↔ IsMax a 
Arguments: {α : Type u} [Preorder α] {a : α} [IsDirected α fun x x_1 => x ≤ x_1]
Goal: IsTop a ↔ IsMax a
-- exists_lt_of_directed_ge
theorem exists_lt_of_directed_ge [IsDirected β (· ≥ ·)] [Nontrivial β] : ∃ a b : β, a < b 
Arguments: (β : Type v) [PartialOrder β] [IsDirected β fun x x_1 => x ≥ x_1] [Nontrivial β]
Goal: ∃ a b, a < b
-- exists_lt_of_directed_le
theorem exists_lt_of_directed_le [IsDirected β (· ≤ ·)] [Nontrivial β] : ∃ a b : β, a < b 
Arguments: (β : Type v) [PartialOrder β] [IsDirected β fun x x_1 => x ≤ x_1] [Nontrivial β]
Goal: ∃ a b, a < b
-- constant_of_monotone_antitone
lemma constant_of_monotone_antitone [IsDirected α (· ≤ ·)] (hf : Monotone f) (hf' : Antitone f)
    (a b : α) : f a = f b 
Arguments: {α : Type u} (β : Type v) [Preorder α] [PartialOrder β] {f : α → β} [IsDirected α fun x x_1 => x ≤ x_1] (hf : Monotone f) (hf' : Antitone f) (a b : α)
Goal: f a = f b
-- constant_of_monotoneOn_antitoneOn
lemma constant_of_monotoneOn_antitoneOn (hf : MonotoneOn f s) (hf' : AntitoneOn f s)
    (hs : DirectedOn (· ≤ ·) s) : ∀ ⦃a⦄, a ∈ s → ∀ ⦃b⦄, b ∈ s → f a = f b 
Arguments: {α : Type u} (β : Type v) [Preorder α] [PartialOrder β] {f : α → β} {s : Set α} (hf : MonotoneOn f s) (hf' : AntitoneOn f s) (hs : DirectedOn (fun x x_1 => x ≤ x_1) s) ⦃a : α⦄
Goal: a ∈ s → ∀ ⦃b : α⦄, b ∈ s → f a = f b
-- Order.not_isSuccLimit_iff_exists_covBy
theorem not_isSuccLimit_iff_exists_covBy (a : α) : ¬IsSuccLimit a ↔ ∃ b, b ⋖ a 
Arguments: {α : Type u_1} [LT α] (a : α)
Goal: ¬Order.IsSuccLimit a ↔ ∃ b, b ⋖ a