ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Order.PFilter.inf_mem_iff
@[simp]
theorem inf_mem_iff : x ⊓ y ∈ F ↔ x ∈ F ∧ y ∈ F 
Arguments: {P : Type u_1} [SemilatticeInf P] {x y : P} {F : Order.PFilter P}
Goal: x ⊓ y ∈ F ↔ x ∈ F ∧ y ∈ F
-- Order.PFilter.sInf_gc
theorem sInf_gc :
    GaloisConnection (fun x => toDual (principal x)) fun F => sInf (ofDual F : PFilter P) 
Arguments: {P : Type u_1} [CompleteSemilatticeInf P]
Goal: GaloisConnection (fun x => OrderDual.toDual (Order.PFilter.principal x)) fun F => sInf ↑(OrderDual.ofDual F)
-- Monotone.seq_le_seq
theorem seq_le_seq (hf : Monotone f) (n : ℕ) (h₀ : x 0 ≤ y 0) (hx : ∀ k < n, x (k + 1) ≤ f (x k))
    (hy : ∀ k < n, f (y k) ≤ y (k + 1)) : x n ≤ y n 
Arguments: {α : Type u_1} [Preorder α] {f : α → α} {x y : ℕ → α} (hf : Monotone f) (n : ℕ) (h₀ : x 0 ≤ y 0) (hx : ∀ (k : ℕ), k < n → x (k + 1) ≤ f (x k)) (hy : ∀ (k : ℕ), k < n → f (y k) ≤ y (k + 1))
Goal: x n ≤ y n
-- Monotone.seq_pos_lt_seq_of_lt_of_le
theorem seq_pos_lt_seq_of_lt_of_le (hf : Monotone f) {n : ℕ} (hn : 0 < n) (h₀ : x 0 ≤ y 0)
    (hx : ∀ k < n, x (k + 1) < f (x k)) (hy : ∀ k < n, f (y k) ≤ y (k + 1)) : x n < y n 
Arguments: {α : Type u_1} [Preorder α] {f : α → α} {x y : ℕ → α} (hf : Monotone f) {n : ℕ} (hn : 0 < n) (h₀ : x 0 ≤ y 0) (hx : ∀ (k : ℕ), k < n → x (k + 1) < f (x k)) (hy : ∀ (k : ℕ), k < n → f (y k) ≤ y (k + 1))
Goal: x n < y n
-- Monotone.seq_pos_lt_seq_of_le_of_lt
theorem seq_pos_lt_seq_of_le_of_lt (hf : Monotone f) {n : ℕ} (hn : 0 < n) (h₀ : x 0 ≤ y 0)
    (hx : ∀ k < n, x (k + 1) ≤ f (x k)) (hy : ∀ k < n, f (y k) < y (k + 1)) : x n < y n 
Arguments: {α : Type u_1} [Preorder α] {f : α → α} {x y : ℕ → α} (hf : Monotone f) {n : ℕ} (hn : 0 < n) (h₀ : x 0 ≤ y 0) (hx : ∀ (k : ℕ), k < n → x (k + 1) ≤ f (x k)) (hy : ∀ (k : ℕ), k < n → f (y k) < y (k + 1))
Goal: x n < y n
-- Monotone.seq_lt_seq_of_lt_of_le
theorem seq_lt_seq_of_lt_of_le (hf : Monotone f) (n : ℕ) (h₀ : x 0 < y 0)
    (hx : ∀ k < n, x (k + 1) < f (x k)) (hy : ∀ k < n, f (y k) ≤ y (k + 1)) : x n < y n 
Arguments: {α : Type u_1} [Preorder α] {f : α → α} {x y : ℕ → α} (hf : Monotone f) (n : ℕ) (h₀ : x 0 < y 0) (hx : ∀ (k : ℕ), k < n → x (k + 1) < f (x k)) (hy : ∀ (k : ℕ), k < n → f (y k) ≤ y (k + 1))
Goal: x n < y n
-- Monotone.seq_lt_seq_of_le_of_lt
theorem seq_lt_seq_of_le_of_lt (hf : Monotone f) (n : ℕ) (h₀ : x 0 < y 0)
    (hx : ∀ k < n, x (k + 1) ≤ f (x k)) (hy : ∀ k < n, f (y k) < y (k + 1)) : x n < y n 
Arguments: {α : Type u_1} [Preorder α] {f : α → α} {x y : ℕ → α} (hf : Monotone f) (n : ℕ) (h₀ : x 0 < y 0) (hx : ∀ (k : ℕ), k < n → x (k + 1) ≤ f (x k)) (hy : ∀ (k : ℕ), k < n → f (y k) < y (k + 1))
Goal: x n < y n
-- Monotone.le_iterate_comp_of_le
theorem le_iterate_comp_of_le (hf : Monotone f) (H : h ∘ g ≤ f ∘ h) (n : ℕ) :
    h ∘ g^[n] ≤ f^[n] ∘ h 
Arguments: {α : Type u_1} [Preorder α] {f : α → α} {β : Type u_2} {g : β → β} {h : β → α} (hf : Monotone f) (H : h ∘ g ≤ f ∘ h) (n : ℕ)
Goal: h ∘ g^[n] ≤ f^[n] ∘ h
-- Monotone.iterate_comp_le_of_le
theorem iterate_comp_le_of_le (hf : Monotone f) (H : f ∘ h ≤ h ∘ g) (n : ℕ) :
    f^[n] ∘ h ≤ h ∘ g^[n] 
Arguments: {α : Type u_1} [Preorder α] {f : α → α} {β : Type u_2} {g : β → β} {h : β → α} (hf : Monotone f) (H : f ∘ h ≤ h ∘ g) (n : ℕ)
Goal: f^[n] ∘ h ≤ h ∘ g^[n]
-- Monotone.iterate_le_of_le
theorem iterate_le_of_le {g : α → α} (hf : Monotone f) (h : f ≤ g) (n : ℕ) : f^[n] ≤ g^[n] 
Arguments: {α : Type u_1} [Preorder α] {f g : α → α} (hf : Monotone f) (h : f ≤ g) (n : ℕ)
Goal: f^[n] ≤ g^[n]
-- Monotone.le_iterate_of_le
theorem le_iterate_of_le {g : α → α} (hg : Monotone g) (h : f ≤ g) (n : ℕ) : f^[n] ≤ g^[n] 
Arguments: {α : Type u_1} [Preorder α] {f g : α → α} (hg : Monotone g) (h : f ≤ g) (n : ℕ)
Goal: f^[n] ≤ g^[n]
-- Function.id_le_iterate_of_id_le
theorem id_le_iterate_of_id_le (h : id ≤ f) (n : ℕ) : id ≤ f^[n] 
Arguments: {α : Type u_1} [Preorder α] {f : α → α} (h : id ≤ f) (n : ℕ)
Goal: id ≤ f^[n]
-- Function.iterate_le_id_of_le_id
theorem iterate_le_id_of_le_id (h : f ≤ id) (n : ℕ) : f^[n] ≤ id 
Arguments: {α : Type u_1} [Preorder α] {f : α → α} (h : f ≤ id) (n : ℕ)
Goal: f^[n] ≤ id
-- Function.monotone_iterate_of_id_le
theorem monotone_iterate_of_id_le (h : id ≤ f) : Monotone fun m => f^[m] 
Arguments: {α : Type u_1} [Preorder α] {f : α → α} (h : id ≤ f)
Goal: Monotone fun m => f^[m]
-- Function.antitone_iterate_of_le_id
theorem antitone_iterate_of_le_id (h : f ≤ id) : Antitone fun m => f^[m] 
Arguments: {α : Type u_1} [Preorder α] {f : α → α} (h : f ≤ id)
Goal: Antitone fun m => f^[m]
-- Function.Commute.iterate_le_of_map_le
theorem iterate_le_of_map_le (h : Commute f g) (hf : Monotone f) (hg : Monotone g) {x}
    (hx : f x ≤ g x) (n : ℕ) : f^[n] x ≤ g^[n] x 
Arguments: {α : Type u_1} [Preorder α] {f g : α → α} (h : Function.Commute f g) (hf : Monotone f) (hg : Monotone g) {x : α} (hx : f x ≤ g x) (n : ℕ)
Goal: f^[n] x ≤ g^[n] x
-- Function.Commute.iterate_pos_lt_of_map_lt
theorem iterate_pos_lt_of_map_lt (h : Commute f g) (hf : Monotone f) (hg : StrictMono g) {x}
    (hx : f x < g x) {n} (hn : 0 < n) : f^[n] x < g^[n] x 
Arguments: {α : Type u_1} [Preorder α] {f g : α → α} (h : Function.Commute f g) (hf : Monotone f) (hg : StrictMono g) {x : α} (hx : f x < g x) {n : ℕ} (hn : 0 < n)
Goal: f^[n] x < g^[n] x
-- Function.Commute.iterate_pos_lt_of_map_lt'
theorem iterate_pos_lt_of_map_lt' (h : Commute f g) (hf : StrictMono f) (hg : Monotone g) {x}
    (hx : f x < g x) {n} (hn : 0 < n) : f^[n] x < g^[n] x 
Arguments: {α : Type u_1} [Preorder α] {f g : α → α} (h : Function.Commute f g) (hf : StrictMono f) (hg : Monotone g) {x : α} (hx : f x < g x) {n : ℕ} (hn : 0 < n)
Goal: f^[n] x < g^[n] x
-- Function.Commute.iterate_pos_lt_iff_map_lt
theorem iterate_pos_lt_iff_map_lt (h : Commute f g) (hf : Monotone f) (hg : StrictMono g) {x n}
    (hn : 0 < n) : f^[n] x < g^[n] x ↔ f x < g x 
Arguments: {α : Type u_1} [LinearOrder α] {f g : α → α} (h : Function.Commute f g) (hf : Monotone f) (hg : StrictMono g) {x : α} {n : ℕ} (hn : 0 < n)
Goal: f^[n] x < g^[n] x ↔ f x < g x
-- Function.Commute.iterate_pos_lt_iff_map_lt'
theorem iterate_pos_lt_iff_map_lt' (h : Commute f g) (hf : StrictMono f) (hg : Monotone g) {x n}
    (hn : 0 < n) : f^[n] x < g^[n] x ↔ f x < g x 
Arguments: {α : Type u_1} [LinearOrder α] {f g : α → α} (h : Function.Commute f g) (hf : StrictMono f) (hg : Monotone g) {x : α} {n : ℕ} (hn : 0 < n)
Goal: f^[n] x < g^[n] x ↔ f x < g x
-- Function.Commute.iterate_pos_le_iff_map_le
theorem iterate_pos_le_iff_map_le (h : Commute f g) (hf : Monotone f) (hg : StrictMono g) {x n}
    (hn : 0 < n) : f^[n] x ≤ g^[n] x ↔ f x ≤ g x 
Arguments: {α : Type u_1} [LinearOrder α] {f g : α → α} (h : Function.Commute f g) (hf : Monotone f) (hg : StrictMono g) {x : α} {n : ℕ} (hn : 0 < n)
Goal: f^[n] x ≤ g^[n] x ↔ f x ≤ g x
-- Function.Commute.iterate_pos_le_iff_map_le'
theorem iterate_pos_le_iff_map_le' (h : Commute f g) (hf : StrictMono f) (hg : Monotone g) {x n}
    (hn : 0 < n) : f^[n] x ≤ g^[n] x ↔ f x ≤ g x 
Arguments: {α : Type u_1} [LinearOrder α] {f g : α → α} (h : Function.Commute f g) (hf : StrictMono f) (hg : Monotone g) {x : α} {n : ℕ} (hn : 0 < n)
Goal: f^[n] x ≤ g^[n] x ↔ f x ≤ g x
-- Function.Commute.iterate_pos_eq_iff_map_eq
theorem iterate_pos_eq_iff_map_eq (h : Commute f g) (hf : Monotone f) (hg : StrictMono g) {x n}
    (hn : 0 < n) : f^[n] x = g^[n] x ↔ f x = g x 
Arguments: {α : Type u_1} [LinearOrder α] {f g : α → α} (h : Function.Commute f g) (hf : Monotone f) (hg : StrictMono g) {x : α} {n : ℕ} (hn : 0 < n)
Goal: f^[n] x = g^[n] x ↔ f x = g x
-- Monotone.monotone_iterate_of_le_map
theorem monotone_iterate_of_le_map (hf : Monotone f) (hx : x ≤ f x) : Monotone fun n => f^[n] x 
Arguments: {α : Type u_1} [Preorder α] {f : α → α} {x : α} (hf : Monotone f) (hx : x ≤ f x)
Goal: Monotone fun n => f^[n] x
-- Monotone.antitone_iterate_of_map_le
theorem antitone_iterate_of_map_le (hf : Monotone f) (hx : f x ≤ x) : Antitone fun n => f^[n] x 
Arguments: {α : Type u_1} [Preorder α] {f : α → α} {x : α} (hf : Monotone f) (hx : f x ≤ x)
Goal: Antitone fun n => f^[n] x
-- StrictMono.strictMono_iterate_of_lt_map
theorem strictMono_iterate_of_lt_map (hf : StrictMono f) (hx : x < f x) :
    StrictMono fun n => f^[n] x 
Arguments: {α : Type u_1} [Preorder α] {f : α → α} {x : α} (hf : StrictMono f) (hx : x < f x)
Goal: StrictMono fun n => f^[n] x
-- StrictMono.strictAnti_iterate_of_map_lt
theorem strictAnti_iterate_of_map_lt (hf : StrictMono f) (hx : f x < x) :
    StrictAnti fun n => f^[n] x 
Arguments: {α : Type u_1} [Preorder α] {f : α → α} {x : α} (hf : StrictMono f) (hx : f x < x)
Goal: StrictAnti fun n => f^[n] x
-- partialSups_zero
@[simp]
theorem partialSups_zero (f : ℕ → α) : partialSups f 0 = f 0 
Arguments: {α : Type u_1} [SemilatticeSup α] (f : ℕ → α)
Goal: (partialSups f) 0 = f 0
-- partialSups_succ
@[simp]
theorem partialSups_succ (f : ℕ → α) (n : ℕ) :
    partialSups f (n + 1) = partialSups f n ⊔ f (n + 1) 
Arguments: {α : Type u_1} [SemilatticeSup α] (f : ℕ → α) (n : ℕ)
Goal: (partialSups f) (n + 1) = (partialSups f) n ⊔ f (n + 1)
-- partialSups_iff_forall
lemma partialSups_iff_forall {f : ℕ → α} (p : α → Prop)
    (hp : ∀ {a b}, p (a ⊔ b) ↔ p a ∧ p b) : ∀ {n : ℕ}, p (partialSups f n) ↔ ∀ k ≤ n, p (f k)
  
Arguments: {α : Type u_1} [SemilatticeSup α] {f : ℕ → α} (p : α → Prop) (hp : ∀ {a b : α}, p (a ⊔ b) ↔ p a ∧ p b) {n : ℕ}
Goal: p ((partialSups f) n) ↔ ∀ k ≤ n, p (f k)
-- partialSups_le_iff
@[simp]
lemma partialSups_le_iff {f : ℕ → α} {n : ℕ} {a : α} : partialSups f n ≤ a ↔ ∀ k ≤ n, f k ≤ a 
Arguments: {α : Type u_1} [SemilatticeSup α] {f : ℕ → α} {n : ℕ} {a : α}
Goal: (partialSups f) n ≤ a ↔ ∀ k ≤ n, f k ≤ a
-- le_partialSups_of_le
theorem le_partialSups_of_le (f : ℕ → α) {m n : ℕ} (h : m ≤ n) : f m ≤ partialSups f n 
Arguments: {α : Type u_1} [SemilatticeSup α] (f : ℕ → α) {m n : ℕ} (h : m ≤ n)
Goal: f m ≤ (partialSups f) n
-- le_partialSups
theorem le_partialSups (f : ℕ → α) : f ≤ partialSups f 
Arguments: {α : Type u_1} [SemilatticeSup α] (f : ℕ → α)
Goal: f ≤ ⇑(partialSups f)
-- partialSups_le
theorem partialSups_le (f : ℕ → α) (n : ℕ) (a : α) (w : ∀ m, m ≤ n → f m ≤ a) :
    partialSups f n ≤ a 
Arguments: {α : Type u_1} [SemilatticeSup α] (f : ℕ → α) (n : ℕ) (a : α) (w : ∀ m ≤ n, f m ≤ a)
Goal: (partialSups f) n ≤ a
-- upperBounds_range_partialSups
@[simp]
lemma upperBounds_range_partialSups (f : ℕ → α) :
    upperBounds (Set.range (partialSups f)) = upperBounds (Set.range f) 
Arguments: {α : Type u_1} [SemilatticeSup α] (f : ℕ → α)
Goal: upperBounds (Set.range ⇑(partialSups f)) = upperBounds (Set.range f)
-- bddAbove_range_partialSups
@[simp]
theorem bddAbove_range_partialSups {f : ℕ → α} :
    BddAbove (Set.range (partialSups f)) ↔ BddAbove (Set.range f) 
Arguments: {α : Type u_1} [SemilatticeSup α] {f : ℕ → α}
Goal: BddAbove (Set.range ⇑(partialSups f)) ↔ BddAbove (Set.range f)
-- Monotone.partialSups_eq
theorem Monotone.partialSups_eq {f : ℕ → α} (hf : Monotone f) : (partialSups f : ℕ → α) = f 
Arguments: {α : Type u_1} [SemilatticeSup α] {f : ℕ → α} (hf : Monotone f)
Goal: ⇑(partialSups f) = f
-- partialSups_mono
theorem partialSups_mono : Monotone (partialSups : (ℕ → α) → ℕ →o α) 
Arguments: {α : Type u_1} [SemilatticeSup α]
Goal: Monotone partialSups
-- partialSups_eq_sup'_range
theorem partialSups_eq_sup'_range (f : ℕ → α) (n : ℕ) :
    partialSups f n = (Finset.range (n + 1)).sup' ⟨n, Finset.self_mem_range_succ n⟩ f 
Arguments: {α : Type u_1} [SemilatticeSup α] (f : ℕ → α) (n : ℕ)
Goal: (partialSups f) n = (Finset.range (n + 1)).sup' ⋯ f
-- partialSups_apply
lemma partialSups_apply {ι : Type*} {π : ι → Type*} [(i : ι) → SemilatticeSup (π i)]
    (f : ℕ → (i : ι) → π i) (n : ℕ) (i : ι) : partialSups f n i = partialSups (f · i) n 
Arguments: {ι : Type u_2} {π : ι → Type u_3} [(i : ι) → SemilatticeSup (π i)] (f : ℕ → (i : ι) → π i) (n : ℕ) (i : ι)
Goal: (partialSups f) n i = (partialSups fun x => f x i) n
-- partialSups_eq_sup_range
theorem partialSups_eq_sup_range [SemilatticeSup α] [OrderBot α] (f : ℕ → α) (n : ℕ) :
    partialSups f n = (Finset.range (n + 1)).sup f 
Arguments: {α : Type u_1} [SemilatticeSup α] [OrderBot α] (f : ℕ → α) (n : ℕ)
Goal: (partialSups f) n = (Finset.range (n + 1)).sup f
-- disjoint_partialSups_left
@[simp]
lemma disjoint_partialSups_left [DistribLattice α] [OrderBot α] {f : ℕ → α} {n : ℕ} {x : α} :
    Disjoint (partialSups f n) x ↔ ∀ k ≤ n, Disjoint (f k) x 
Arguments: {α : Type u_1} [DistribLattice α] [OrderBot α] {f : ℕ → α} {n : ℕ} {x : α}
Goal: Disjoint ((partialSups f) n) x ↔ ∀ k ≤ n, Disjoint (f k) x
-- disjoint_partialSups_right
@[simp]
lemma disjoint_partialSups_right [DistribLattice α] [OrderBot α] {f : ℕ → α} {n : ℕ} {x : α} :
    Disjoint x (partialSups f n) ↔ ∀ k ≤ n, Disjoint x (f k) 
Arguments: {α : Type u_1} [DistribLattice α] [OrderBot α] {f : ℕ → α} {n : ℕ} {x : α}
Goal: Disjoint x ((partialSups f) n) ↔ ∀ k ≤ n, Disjoint x (f k)
-- partialSups_disjoint_of_disjoint
theorem partialSups_disjoint_of_disjoint [DistribLattice α] [OrderBot α] (f : ℕ → α)
    (h : Pairwise (Disjoint on f)) {m n : ℕ} (hmn : m < n) : Disjoint (partialSups f m) (f n) 
Arguments: {α : Type u_1} [DistribLattice α] [OrderBot α] (f : ℕ → α) (h : Pairwise (Disjoint on f)) {m n : ℕ} (hmn : m < n)
Goal: Disjoint ((partialSups f) m) (f n)
-- partialSups_eq_ciSup_Iic
theorem partialSups_eq_ciSup_Iic (f : ℕ → α) (n : ℕ) : partialSups f n = ⨆ i : Set.Iic n, f i 
Arguments: {α : Type u_1} [ConditionallyCompleteLattice α] (f : ℕ → α) (n : ℕ)
Goal: (partialSups f) n = ⨆ i, f ↑i
-- ciSup_partialSups_eq
@[simp]
theorem ciSup_partialSups_eq {f : ℕ → α} (h : BddAbove (Set.range f)) :
    ⨆ n, partialSups f n = ⨆ n, f n 
Arguments: {α : Type u_1} [ConditionallyCompleteLattice α] {f : ℕ → α} (h : BddAbove (Set.range f))
Goal: ⨆ n, (partialSups f) n = ⨆ n, f n
-- partialSups_eq_biSup
theorem partialSups_eq_biSup (f : ℕ → α) (n : ℕ) : partialSups f n = ⨆ i ≤ n, f i 
Arguments: {α : Type u_1} [CompleteLattice α] (f : ℕ → α) (n : ℕ)
Goal: (partialSups f) n = ⨆ i, ⨆ (_ : i ≤ n), f i
-- iSup_partialSups_eq
theorem iSup_partialSups_eq (f : ℕ → α) : ⨆ n, partialSups f n = ⨆ n, f n 
Arguments: {α : Type u_1} [CompleteLattice α] (f : ℕ → α)
Goal: ⨆ n, (partialSups f) n = ⨆ n, f n
-- iSup_le_iSup_of_partialSups_le_partialSups
theorem iSup_le_iSup_of_partialSups_le_partialSups {f g : ℕ → α}
    (h : partialSups f ≤ partialSups g) : ⨆ n, f n ≤ ⨆ n, g n 
Arguments: {α : Type u_1} [CompleteLattice α] {f g : ℕ → α} (h : partialSups f ≤ partialSups g)
Goal: ⨆ n, f n ≤ ⨆ n, g n
-- iSup_eq_iSup_of_partialSups_eq_partialSups
theorem iSup_eq_iSup_of_partialSups_eq_partialSups {f g : ℕ → α}
    (h : partialSups f = partialSups g) : ⨆ n, f n = ⨆ n, g n 
Arguments: {α : Type u_1} [CompleteLattice α] {f g : ℕ → α} (h : partialSups f = partialSups g)
Goal: ⨆ n, f n = ⨆ n, g n
-- isOrderRightAdjoint_sSup
theorem isOrderRightAdjoint_sSup [CompleteLattice α] [Preorder β] (f : α → β) :
    IsOrderRightAdjoint f fun y => sSup { x | f x ≤ y } 
Arguments: {α : Type u_1} {β : Type u_2} [CompleteLattice α] [Preorder β] (f : α → β)
Goal: IsOrderRightAdjoint f fun y => sSup {x | f x ≤ y}
-- isOrderRightAdjoint_csSup
theorem isOrderRightAdjoint_csSup [ConditionallyCompleteLattice α] [Preorder β] (f : α → β)
    (hne : ∀ y, ∃ x, f x ≤ y) (hbdd : ∀ y, BddAbove { x | f x ≤ y }) :
    IsOrderRightAdjoint f fun y => sSup { x | f x ≤ y } 
Arguments: {α : Type u_1} {β : Type u_2} [ConditionallyCompleteLattice α] [Preorder β] (f : α → β) (hne : ∀ (y : β), ∃ x, f x ≤ y) (hbdd : ∀ (y : β), BddAbove {x | f x ≤ y})
Goal: IsOrderRightAdjoint f fun y => sSup {x | f x ≤ y}
-- IsOrderRightAdjoint.unique
protected theorem unique [PartialOrder α] [Preorder β] {f : α → β} {g₁ g₂ : β → α}
    (h₁ : IsOrderRightAdjoint f g₁) (h₂ : IsOrderRightAdjoint f g₂) : g₁ = g₂ 
Arguments: {α : Type u_1} {β : Type u_2} [PartialOrder α] [Preorder β] {f : α → β} {g₁ g₂ : β → α} (h₁ : IsOrderRightAdjoint f g₁) (h₂ : IsOrderRightAdjoint f g₂)
Goal: g₁ = g₂
-- IsOrderRightAdjoint.right_mono
theorem right_mono [Preorder α] [Preorder β] {f : α → β} {g : β → α} (h : IsOrderRightAdjoint f g) :
    Monotone g 
Arguments: {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] {f : α → β} {g : β → α} (h : IsOrderRightAdjoint f g)
Goal: Monotone g
-- IsOrderRightAdjoint.orderIso_comp
theorem orderIso_comp [Preorder α] [Preorder β] [Preorder γ] {f : α → β} {g : β → α}
    (h : IsOrderRightAdjoint f g) (e : β ≃o γ) : IsOrderRightAdjoint (e ∘ f) (g ∘ e.symm) 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} [Preorder α] [Preorder β] [Preorder γ] {f : α → β} {g : β → α} (h : IsOrderRightAdjoint f g) (e : β ≃o γ)
Goal: IsOrderRightAdjoint (⇑e ∘ f) (g ∘ ⇑e.symm)
-- IsOrderRightAdjoint.comp_orderIso
theorem comp_orderIso [Preorder α] [Preorder β] [Preorder γ] {f : α → β} {g : β → α}
    (h : IsOrderRightAdjoint f g) (e : γ ≃o α) : IsOrderRightAdjoint (f ∘ e) (e.symm ∘ g) 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} [Preorder α] [Preorder β] [Preorder γ] {f : α → β} {g : β → α} (h : IsOrderRightAdjoint f g) (e : γ ≃o α)
Goal: IsOrderRightAdjoint (f ∘ ⇑e) (⇑e.symm ∘ g)
-- Function.Semiconj.symm_adjoint
theorem Semiconj.symm_adjoint [PartialOrder α] [Preorder β] {fa : α ≃o α} {fb : β ↪o β} {g : α → β}
    (h : Function.Semiconj g fa fb) {g' : β → α} (hg' : IsOrderRightAdjoint g g') :
    Function.Semiconj g' fb fa 
Arguments: {α : Type u_1} {β : Type u_2} [PartialOrder α] [Preorder β] {fa : α ≃o α} {fb : β ↪o β} {g : α → β} (h : Function.Semiconj g ⇑fa ⇑fb) {g' : β → α} (hg' : IsOrderRightAdjoint g g')
Goal: Function.Semiconj g' ⇑fb ⇑fa
-- Function.semiconj_of_isLUB
theorem semiconj_of_isLUB [PartialOrder α] [Group G] (f₁ f₂ : G →* α ≃o α) {h : α → α}
    (H : ∀ x, IsLUB (range fun g' => (f₁ g')⁻¹ (f₂ g' x)) (h x)) (g : G) :
    Function.Semiconj h (f₂ g) (f₁ g) 
Arguments: {α : Type u_1} {G : Type u_4} [PartialOrder α] [Group G] (f₁ f₂ : G →* α ≃o α) {h : α → α} (H : ∀ (x : α), IsLUB (Set.range fun g' => (f₁ g')⁻¹ ((f₂ g') x)) (h x)) (g : G)
Goal: Function.Semiconj h ⇑(f₂ g) ⇑(f₁ g)
-- Function.sSup_div_semiconj
theorem sSup_div_semiconj [CompleteLattice α] [Group G] (f₁ f₂ : G →* α ≃o α) (g : G) :
    Function.Semiconj (fun x => ⨆ g' : G, (f₁ g')⁻¹ (f₂ g' x)) (f₂ g) (f₁ g) 
Arguments: {α : Type u_1} {G : Type u_4} [CompleteLattice α] [Group G] (f₁ f₂ : G →* α ≃o α) (g : G)
Goal: Function.Semiconj (fun x => ⨆ g', (f₁ g')⁻¹ ((f₂ g') x)) ⇑(f₂ g) ⇑(f₁ g)
-- Function.csSup_div_semiconj
theorem csSup_div_semiconj [ConditionallyCompleteLattice α] [Group G] (f₁ f₂ : G →* α ≃o α)
    (hbdd : ∀ x, BddAbove (range fun g => (f₁ g)⁻¹ (f₂ g x))) (g : G) :
    Function.Semiconj (fun x => ⨆ g' : G, (f₁ g')⁻¹ (f₂ g' x)) (f₂ g) (f₁ g) 
Arguments: {α : Type u_1} {G : Type u_4} [ConditionallyCompleteLattice α] [Group G] (f₁ f₂ : G →* α ≃o α) (hbdd : ∀ (x : α), BddAbove (Set.range fun g => (f₁ g)⁻¹ ((f₂ g) x))) (g : G)
Goal: Function.Semiconj (fun x => ⨆ g', (f₁ g')⁻¹ ((f₂ g') x)) ⇑(f₂ g) ⇑(f₁ g)
-- RelHom.map_rel'
structure RelHom {α β : Type*} (r : α → α → Prop) (s : β → β → Prop) where
    toFun : α → β
    map_rel' : ∀ {a b}, r a b → s (toFun a) (toFun b)
Arguments: {α : Type u_5} {β : Type u_6} {r : α → α → Prop} {s : β → β → Prop} (self : r →r s) {a b : α}
Goal: r a b → s (self.toFun a) (self.toFun b)
-- RelHomClass.map_rel
class RelHomClass (F : Type*) {α β : Type*} (r : outParam <| α → α → Prop)
  (s : outParam <| β → β → Prop) [FunLike F α β] : Prop where
    map_rel : ∀ (f : F) {a b}, r a b → s (f a) (f b)
Arguments: {F : Type u_5} {α : Type u_6} {β : Type u_7} {r : outParam (α → α → Prop)} {s : outParam (β → β → Prop)} [FunLike F α β] [self : RelHomClass F r s] (f : F) {a b : α}
Goal: r a b → s (f a) (f b)
-- RelHomClass.isIrrefl
protected theorem isIrrefl [RelHomClass F r s] (f : F) : ∀ [IsIrrefl β s], IsIrrefl α r
  
Arguments: {α : Type u_1} {β : Type u_2} {r : α → α → Prop} {s : β → β → Prop} {F : Type u_5} [FunLike F α β] [RelHomClass F r s] (f : F) [IsIrrefl β s]
Goal: IsIrrefl α r
-- RelHomClass.isAsymm
protected theorem isAsymm [RelHomClass F r s] (f : F) : ∀ [IsAsymm β s], IsAsymm α r
  
Arguments: {α : Type u_1} {β : Type u_2} {r : α → α → Prop} {s : β → β → Prop} {F : Type u_5} [FunLike F α β] [RelHomClass F r s] (f : F) [IsAsymm β s]
Goal: IsAsymm α r
-- RelHomClass.acc
protected theorem acc [RelHomClass F r s] (f : F) (a : α) : Acc s (f a) → Acc r a 
Arguments: {α : Type u_1} {β : Type u_2} {r : α → α → Prop} {s : β → β → Prop} {F : Type u_5} [FunLike F α β] [RelHomClass F r s] (f : F) (a : α)
Goal: Acc s (f a) → Acc r a
-- RelHomClass.wellFounded
protected theorem wellFounded [RelHomClass F r s] (f : F) : WellFounded s → WellFounded r
  
Arguments: {α : Type u_1} {β : Type u_2} {r : α → α → Prop} {s : β → β → Prop} {F : Type u_5} [FunLike F α β] [RelHomClass F r s] (f : F)
Goal: WellFounded s → WellFounded r
-- RelHom.map_rel
protected theorem map_rel (f : r →r s) {a b} : r a b → s (f a) (f b) 
Arguments: {α : Type u_1} {β : Type u_2} {r : α → α → Prop} {s : β → β → Prop} (f : r →r s) {a b : α}
Goal: r a b → s (f a) (f b)
-- RelHom.coe_fn_toFun
@[simp]
theorem coe_fn_toFun (f : r →r s) : f.toFun = (f : α → β) 
Arguments: {α : Type u_1} {β : Type u_2} {r : α → α → Prop} {s : β → β → Prop} (f : r →r s)
Goal: f.toFun = ⇑f
-- RelHom.coe_fn_injective
theorem coe_fn_injective : Injective fun (f : r →r s) => (f : α → β) 
Arguments: {α : Type u_1} {β : Type u_2} {r : α → α → Prop} {s : β → β → Prop}
Goal: Function.Injective fun f => ⇑f
-- RelHom.ext
@[ext]
theorem ext ⦃f g : r →r s⦄ (h : ∀ x, f x = g x) : f = g 
Arguments: {α : Type u_1} {β : Type u_2} {r : α → α → Prop} {s : β → β → Prop} ⦃f g : r →r s⦄ (h : ∀ (x : α), f x = g x)
Goal: f = g
-- RelHom.ext_iff
theorem ext_iff {f g : r →r s} : f = g ↔ ∀ x, f x = g x 
Arguments: {α : Type u_1} {β : Type u_2} {r : α → α → Prop} {s : β → β → Prop} {f g : r →r s}
Goal: f = g ↔ ∀ (x : α), f x = g x
-- RelHom.id_apply
@[refl, simps]
protected def id (r : α → α → Prop) : r →r r 
Arguments: {α : Type u_1} (r : α → α → Prop) (x : α)
Goal: (RelHom.id r) x = x
-- RelHom.comp_apply
@[simps]
protected def comp (g : s →r t) (f : r →r s) : r →r t 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} {r : α → α → Prop} {s : β → β → Prop} {t : γ → γ → Prop} (g : s →r t) (f : r →r s) (x : α)
Goal: (g.comp f) x = g (f x)
-- injective_of_increasing
theorem injective_of_increasing (r : α → α → Prop) (s : β → β → Prop) [IsTrichotomous α r]
    [IsIrrefl β s] (f : α → β) (hf : ∀ {x y}, r x y → s (f x) (f y)) : Injective f 
Arguments: {α : Type u_1} {β : Type u_2} (r : α → α → Prop) (s : β → β → Prop) [IsTrichotomous α r] [IsIrrefl β s] (f : α → β) (hf : ∀ {x y : α}, r x y → s (f x) (f y))
Goal: Function.Injective f
-- RelHom.injective_of_increasing
theorem RelHom.injective_of_increasing [IsTrichotomous α r] [IsIrrefl β s] (f : r →r s) :
    Injective f 
Arguments: {α : Type u_1} {β : Type u_2} {r : α → α → Prop} {s : β → β → Prop} [IsTrichotomous α r] [IsIrrefl β s] (f : r →r s)
Goal: Function.Injective ⇑f
-- Function.Surjective.wellFounded_iff
theorem Function.Surjective.wellFounded_iff {f : α → β} (hf : Surjective f)
    (o : ∀ {a b}, r a b ↔ s (f a) (f b)) :
    WellFounded r ↔ WellFounded s 
Arguments: {α : Type u_1} {β : Type u_2} {r : α → α → Prop} {s : β → β → Prop} {f : α → β} (hf : Function.Surjective f) (o : ∀ {a b : α}, r a b ↔ s (f a) (f b))
Goal: WellFounded r ↔ WellFounded s
-- RelEmbedding.map_rel_iff'
structure RelEmbedding {α β : Type*} (r : α → α → Prop) (s : β → β → Prop) extends α ↪ β where
    map_rel_iff' : ∀ {a b}, s (toEmbedding a) (toEmbedding b) ↔ r a b
Arguments: {α : Type u_5} {β : Type u_6} {r : α → α → Prop} {s : β → β → Prop} (self : r ↪r s) {a b : α}
Goal: s (self.toEmbedding a) (self.toEmbedding b) ↔ r a b
-- preimage_equivalence
theorem preimage_equivalence {α β} (f : α → β) {s : β → β → Prop} (hs : Equivalence s) :
    Equivalence (f ⁻¹'o s) 
Arguments: {α : Type u_5} {β : Type u_6} (f : α → β) {s : β → β → Prop} (hs : Equivalence s)
Goal: Equivalence (f ⁻¹'o s)
-- RelEmbedding.coe_toEmbedding
@[simp]
theorem coe_toEmbedding {f : r ↪r s} : ((f : r ↪r s).toEmbedding : α → β) = f 
Arguments: {α : Type u_1} {β : Type u_2} {r : α → α → Prop} {s : β → β → Prop} {f : r ↪r s}
Goal: ⇑f.toEmbedding = ⇑f
-- RelEmbedding.coe_toRelHom
@[simp]
theorem coe_toRelHom {f : r ↪r s} : ((f : r ↪r s).toRelHom : α → β) = f 
Arguments: {α : Type u_1} {β : Type u_2} {r : α → α → Prop} {s : β → β → Prop} {f : r ↪r s}
Goal: ⇑f.toRelHom = ⇑f