ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Set.inv_smul_set_distrib₀
@[simp] lemma inv_smul_set_distrib₀ (a : α) (s : Set α) : (a • s)⁻¹ = op a⁻¹ • s⁻¹ 
Arguments: {α : Type u_2} [GroupWithZero α] (a : α) (s : Set α)
Goal: (a • s)⁻¹ = MulOpposite.op a⁻¹ • s⁻¹
-- Set.inv_op_smul_set_distrib₀
@[simp] lemma inv_op_smul_set_distrib₀ (a : α) (s : Set α) : (op a • s)⁻¹ = a⁻¹ • s⁻¹ 
Arguments: {α : Type u_2} [GroupWithZero α] (a : α) (s : Set α)
Goal: (MulOpposite.op a • s)⁻¹ = a⁻¹ • s⁻¹
-- Set.smul_set_neg
@[simp]
theorem smul_set_neg : a • -t = -(a • t) 
Arguments: {α : Type u_2} {β : Type u_3} [Monoid α] [AddGroup β] [DistribMulAction α β] (a : α) (t : Set β)
Goal: a • -t = -(a • t)
-- Set.smul_neg
@[simp]
protected theorem smul_neg : s • -t = -(s • t) 
Arguments: {α : Type u_2} {β : Type u_3} [Monoid α] [AddGroup β] [DistribMulAction α β] (s : Set α) (t : Set β)
Goal: s • -t = -(s • t)
-- Set.add_smul_subset
theorem add_smul_subset (a b : α) (s : Set β) : (a + b) • s ⊆ a • s + b • s 
Arguments: {α : Type u_2} {β : Type u_3} [Semiring α] [AddCommMonoid β] [Module α β] (a b : α) (s : Set β)
Goal: (a + b) • s ⊆ a • s + b • s
-- Set.neg_smul_set
@[simp]
theorem neg_smul_set : -a • t = -(a • t) 
Arguments: {α : Type u_2} {β : Type u_3} [Ring α] [AddCommGroup β] [Module α β] (a : α) (t : Set β)
Goal: -a • t = -(a • t)
-- Set.neg_smul
@[simp]
protected theorem neg_smul : -s • t = -(s • t) 
Arguments: {α : Type u_2} {β : Type u_3} [Ring α] [AddCommGroup β] [Module α β] (s : Set α) (t : Set β)
Goal: -s • t = -(s • t)
-- Tree.numLeaves_eq_numNodes_succ
theorem numLeaves_eq_numNodes_succ (x : Tree α) : x.numLeaves = x.numNodes + 1 
Arguments: {α : Type u} (x : Tree α)
Goal: x.numLeaves = x.numNodes + 1
-- Tree.numLeaves_pos
theorem numLeaves_pos (x : Tree α) : 0 < x.numLeaves 
Arguments: {α : Type u} (x : Tree α)
Goal: 0 < x.numLeaves
-- Tree.height_le_numNodes
theorem height_le_numNodes : ∀ x : Tree α, x.height ≤ x.numNodes
  
Arguments: {α : Type u} (x : Tree α)
Goal: x.height ≤ x.numNodes
-- Tree.left_node_right_eq_self
theorem left_node_right_eq_self : ∀ {x : Tree Unit} (_hx : x ≠ nil), x.left △ x.right = x
  
Arguments: {x : Tree Unit} (_hx : x ≠ Tree.nil)
Goal: Tree.node () x.left x.right = x
-- Set.preimage_val_eq_univ_of_subset
lemma preimage_val_eq_univ_of_subset (h : A ⊆ B) : A ↓∩ B = univ 
Arguments: {α : Type u_2} {A B : Set α} (h : A ⊆ B)
Goal: Subtype.val ⁻¹' B = Set.univ
-- Set.preimage_val_sUnion
lemma preimage_val_sUnion : A ↓∩ (⋃₀ S) = ⋃₀ { (A ↓∩ B) | B ∈ S } 
Arguments: {α : Type u_2} {A : Set α} {S : Set (Set α)}
Goal: Subtype.val ⁻¹' ⋃₀ S = ⋃₀ {x | ∃ B ∈ S, Subtype.val ⁻¹' B = x}
-- Set.preimage_val_iInter
@[simp]
lemma preimage_val_iInter : A ↓∩ (⋂ i, s i) = ⋂ i, A ↓∩ s i 
Arguments: {ι : Sort u_1} {α : Type u_2} {A : Set α} {s : ι → Set α}
Goal: Subtype.val ⁻¹' ⋂ i, s i = ⋂ i, Subtype.val ⁻¹' s i
-- Set.preimage_val_sInter
lemma preimage_val_sInter : A ↓∩ (⋂₀ S) = ⋂₀ { (A ↓∩ B) | B ∈ S } 
Arguments: {α : Type u_2} {A : Set α} {S : Set (Set α)}
Goal: Subtype.val ⁻¹' ⋂₀ S = ⋂₀ {x | ∃ B ∈ S, Subtype.val ⁻¹' B = x}
-- Set.preimage_val_sInter_eq_sInter
lemma preimage_val_sInter_eq_sInter : A ↓∩ (⋂₀ S) = ⋂₀ ((A ↓∩ ·) '' S) 
Arguments: {α : Type u_2} {A : Set α} {S : Set (Set α)}
Goal: Subtype.val ⁻¹' ⋂₀ S = ⋂₀ ((fun x => Subtype.val ⁻¹' x) '' S)
-- Set.eq_of_preimage_val_eq_of_subset
lemma eq_of_preimage_val_eq_of_subset (hB : B ⊆ A) (hC : C ⊆ A) (h : A ↓∩ B = A ↓∩ C) : B = C 
Arguments: {α : Type u_2} {A B C : Set α} (hB : B ⊆ A) (hC : C ⊆ A) (h : Subtype.val ⁻¹' B = Subtype.val ⁻¹' C)
Goal: B = C
-- Set.image_val_union
@[simp]
lemma image_val_union : (↑(D ∪ E) : Set α) = ↑D ∪ ↑E 
Arguments: {α : Type u_2} {A : Set α} {D E : Set ↑A}
Goal: Subtype.val '' (D ∪ E) = Subtype.val '' D ∪ Subtype.val '' E
-- Set.image_val_inter
@[simp]
lemma image_val_inter : (↑(D ∩ E) : Set α) = ↑D ∩ ↑E 
Arguments: {α : Type u_2} {A : Set α} {D E : Set ↑A}
Goal: Subtype.val '' (D ∩ E) = Subtype.val '' D ∩ Subtype.val '' E
-- Set.image_val_diff
@[simp]
lemma image_val_diff : (↑(D \ E) : Set α) = ↑D \ ↑E 
Arguments: {α : Type u_2} {A : Set α} {D E : Set ↑A}
Goal: Subtype.val '' (D \ E) = Subtype.val '' D \ Subtype.val '' E
-- Set.image_val_compl
@[simp]
lemma image_val_compl : ↑(Dᶜ) = A \ ↑D 
Arguments: {α : Type u_2} {A : Set α} {D : Set ↑A}
Goal: Subtype.val '' Dᶜ = A \ Subtype.val '' D
-- Set.image_val_sUnion
@[simp]
lemma image_val_sUnion : ↑(⋃₀ T) = ⋃₀ { (B : Set α) | B ∈ T} 
Arguments: {α : Type u_2} {A : Set α} {T : Set (Set ↑A)}
Goal: Subtype.val '' ⋃₀ T = ⋃₀ {x | ∃ B ∈ T, Subtype.val '' B = x}
-- Set.image_val_iUnion
@[simp]
lemma image_val_iUnion : ↑(⋃ i, t i) = ⋃ i, (t i : Set α) 
Arguments: {ι : Sort u_1} {α : Type u_2} {A : Set α} {t : ι → Set ↑A}
Goal: Subtype.val '' ⋃ i, t i = ⋃ i, Subtype.val '' t i
-- Set.image_val_sInter
@[simp]
lemma image_val_sInter (hT : T.Nonempty) : (↑(⋂₀ T) : Set α) = ⋂₀ { (↑B : Set α) | B ∈ T } 
Arguments: {α : Type u_2} {A : Set α} {T : Set (Set ↑A)} (hT : T.Nonempty)
Goal: Subtype.val '' ⋂₀ T = ⋂₀ {x | ∃ B ∈ T, Subtype.val '' B = x}
-- Set.image_val_iInter
@[simp]
lemma image_val_iInter [Nonempty ι] : (↑(⋂ i, t i) : Set α) = ⋂ i, (↑(t i) : Set α) 
Arguments: {ι : Sort u_1} {α : Type u_2} {A : Set α} {t : ι → Set ↑A} [Nonempty ι]
Goal: Subtype.val '' ⋂ i, t i = ⋂ i, Subtype.val '' t i
-- Set.image_val_union_self_right_eq
@[simp]
lemma image_val_union_self_right_eq : A ∪ ↑D = A 
Arguments: {α : Type u_2} {A : Set α} {D : Set ↑A}
Goal: A ∪ Subtype.val '' D = A
-- Set.image_val_union_self_left_eq
@[simp]
lemma image_val_union_self_left_eq : ↑D ∪ A = A 
Arguments: {α : Type u_2} {A : Set α} {D : Set ↑A}
Goal: Subtype.val '' D ∪ A = A
-- Set.cou_inter_self_right_eq_coe
@[simp]
lemma cou_inter_self_right_eq_coe : A ∩ ↑D = ↑D 
Arguments: {α : Type u_2} {A : Set α} {D : Set ↑A}
Goal: A ∩ Subtype.val '' D = Subtype.val '' D
-- Set.image_val_inter_self_left_eq_coe
@[simp]
lemma image_val_inter_self_left_eq_coe : ↑D ∩ A = ↑D 
Arguments: {α : Type u_2} {A : Set α} {D : Set ↑A}
Goal: Subtype.val '' D ∩ A = Subtype.val '' D
-- Set.subset_preimage_val_image_val_iff
lemma subset_preimage_val_image_val_iff : D ⊆ A ↓∩ ↑E ↔ D ⊆ E 
Arguments: {α : Type u_2} {A : Set α} {D E : Set ↑A}
Goal: D ⊆ Subtype.val ⁻¹' (Subtype.val '' E) ↔ D ⊆ E
-- Set.image_val_inj
@[simp]
lemma image_val_inj : (D : Set α) = ↑E ↔ D = E 
Arguments: {α : Type u_2} {A : Set α} {D E : Set ↑A}
Goal: Subtype.val '' D = Subtype.val '' E ↔ D = E
-- Set.image_val_injective
lemma image_val_injective : Function.Injective ((↑) : Set A → Set α) 
Arguments: {α : Type u_2} {A : Set α}
Goal: Function.Injective (Set.image Subtype.val)
-- Set.subset_of_image_val_subset_image_val
lemma subset_of_image_val_subset_image_val (h : (↑D : Set α) ⊆ ↑E) : D ⊆ E 
Arguments: {α : Type u_2} {A : Set α} {D E : Set ↑A} (h : Subtype.val '' D ⊆ Subtype.val '' E)
Goal: D ⊆ E
-- Set.image_val_mono
@[mono]
lemma image_val_mono (h : D ⊆ E) : (↑D : Set α) ⊆ ↑E 
Arguments: {α : Type u_2} {A : Set α} {D E : Set ↑A} (h : D ⊆ E)
Goal: Subtype.val '' D ⊆ Subtype.val '' E
-- Set.image_val_preimage_val_subset_self
lemma image_val_preimage_val_subset_self : ↑(A ↓∩ B) ⊆ B 
Arguments: {α : Type u_2} {A B : Set α}
Goal: Subtype.val '' (Subtype.val ⁻¹' B) ⊆ B
-- Set.preimage_val_image_val_eq_self
lemma preimage_val_image_val_eq_self : A ↓∩ ↑D = D 
Arguments: {α : Type u_2} {A : Set α} {D : Set ↑A}
Goal: Subtype.val ⁻¹' (Subtype.val '' D) = D
-- Set.accumulate_def
theorem accumulate_def [LE α] {x : α} : Accumulate s x = ⋃ y ≤ x, s y 
Arguments: {α : Type u_1} {β : Type u_2} {s : α → Set β} [LE α] {x : α}
Goal: Set.Accumulate s x = ⋃ y, ⋃ (_ : y ≤ x), s y
-- Set.mem_accumulate
@[simp]
theorem mem_accumulate [LE α] {x : α} {z : β} : z ∈ Accumulate s x ↔ ∃ y ≤ x, z ∈ s y 
Arguments: {α : Type u_1} {β : Type u_2} {s : α → Set β} [LE α] {x : α} {z : β}
Goal: z ∈ Set.Accumulate s x ↔ ∃ y ≤ x, z ∈ s y
-- Set.subset_accumulate
theorem subset_accumulate [Preorder α] {x : α} : s x ⊆ Accumulate s x 
Arguments: {α : Type u_1} {β : Type u_2} {s : α → Set β} [Preorder α] {x : α}
Goal: s x ⊆ Set.Accumulate s x
-- Set.accumulate_subset_iUnion
theorem accumulate_subset_iUnion [Preorder α] (x : α) : Accumulate s x ⊆ ⋃ i, s i 
Arguments: {α : Type u_1} {β : Type u_2} {s : α → Set β} [Preorder α] (x : α)
Goal: Set.Accumulate s x ⊆ ⋃ i, s i
-- Set.monotone_accumulate
theorem monotone_accumulate [Preorder α] : Monotone (Accumulate s) 
Arguments: {α : Type u_1} {β : Type u_2} {s : α → Set β} [Preorder α]
Goal: Monotone (Set.Accumulate s)
-- Set.accumulate_subset_accumulate
@[gcongr]
theorem accumulate_subset_accumulate [Preorder α] {x y} (h : x ≤ y) :
    Accumulate s x ⊆ Accumulate s y 
Arguments: {α : Type u_1} {β : Type u_2} {s : α → Set β} [Preorder α] {x y : α} (h : x ≤ y)
Goal: Set.Accumulate s x ⊆ Set.Accumulate s y
-- Set.biUnion_accumulate
theorem biUnion_accumulate [Preorder α] (x : α) : ⋃ y ≤ x, Accumulate s y = ⋃ y ≤ x, s y 
Arguments: {α : Type u_1} {β : Type u_2} {s : α → Set β} [Preorder α] (x : α)
Goal: ⋃ y, ⋃ (_ : y ≤ x), Set.Accumulate s y = ⋃ y, ⋃ (_ : y ≤ x), s y
-- Set.iUnion_accumulate
theorem iUnion_accumulate [Preorder α] : ⋃ x, Accumulate s x = ⋃ x, s x 
Arguments: {α : Type u_1} {β : Type u_2} {s : α → Set β} [Preorder α]
Goal: ⋃ x, Set.Accumulate s x = ⋃ x, s x
-- Set.iUnionLift_mk
@[simp]
theorem iUnionLift_mk {i : ι} (x : S i) (hx : (x : α) ∈ T) :
    iUnionLift S f hf T hT ⟨x, hx⟩ = f i x 
Arguments: {α : Type u_1} {ι : Sort u_3} {β : Sort u_2} {S : ι → Set α} {f : (i : ι) → ↑(S i) → β} {hf : ∀ (i j : ι) (x : α) (hxi : x ∈ S i) (hxj : x ∈ S j), f i ⟨x, hxi⟩ = f j ⟨x, hxj⟩} {T : Set α} {hT : T ⊆ Set.iUnion S} {i : ι} (x : ↑(S i)) (hx : ↑x ∈ T)
Goal: Set.iUnionLift S f hf T hT ⟨↑x, hx⟩ = f i x
-- Set.iUnionLift_inclusion
@[simp]
theorem iUnionLift_inclusion {i : ι} (x : S i) (h : S i ⊆ T) :
    iUnionLift S f hf T hT (Set.inclusion h x) = f i x 
Arguments: {α : Type u_1} {ι : Sort u_3} {β : Sort u_2} {S : ι → Set α} {f : (i : ι) → ↑(S i) → β} {hf : ∀ (i j : ι) (x : α) (hxi : x ∈ S i) (hxj : x ∈ S j), f i ⟨x, hxi⟩ = f j ⟨x, hxj⟩} {T : Set α} {hT : T ⊆ Set.iUnion S} {i : ι} (x : ↑(S i)) (h : S i ⊆ T)
Goal: Set.iUnionLift S f hf T hT (Set.inclusion h x) = f i x
-- Set.iUnionLift_of_mem
theorem iUnionLift_of_mem (x : T) {i : ι} (hx : (x : α) ∈ S i) :
    iUnionLift S f hf T hT x = f i ⟨x, hx⟩ 
Arguments: {α : Type u_1} {ι : Sort u_3} {β : Sort u_2} {S : ι → Set α} {f : (i : ι) → ↑(S i) → β} {hf : ∀ (i j : ι) (x : α) (hxi : x ∈ S i) (hxj : x ∈ S j), f i ⟨x, hxi⟩ = f j ⟨x, hxj⟩} {T : Set α} {hT : T ⊆ Set.iUnion S} (x : ↑T) {i : ι} (hx : ↑x ∈ S i)
Goal: Set.iUnionLift S f hf T hT x = f i ⟨↑x, hx⟩
-- Set.preimage_iUnionLift
theorem preimage_iUnionLift (t : Set β) :
    iUnionLift S f hf T hT ⁻¹' t =
      inclusion hT ⁻¹' (⋃ i, inclusion (subset_iUnion S i) '' (f i ⁻¹' t)) 
Arguments: {α : Type u_1} {ι : Sort u_3} {β : Type u_2} {S : ι → Set α} {f : (i : ι) → ↑(S i) → β} {hf : ∀ (i j : ι) (x : α) (hxi : x ∈ S i) (hxj : x ∈ S j), f i ⟨x, hxi⟩ = f j ⟨x, hxj⟩} {T : Set α} {hT : T ⊆ Set.iUnion S} (t : Set β)
Goal: Set.iUnionLift S f hf T hT ⁻¹' t = Set.inclusion hT ⁻¹' ⋃ i, Set.inclusion ⋯ '' (f i ⁻¹' t)
-- Set.iUnionLift_const
theorem iUnionLift_const (c : T) (ci : ∀ i, S i) (hci : ∀ i, (ci i : α) = c) (cβ : β)
    (h : ∀ i, f i (ci i) = cβ) : iUnionLift S f hf T hT c = cβ 
Arguments: {α : Type u_1} {ι : Sort u_3} {β : Sort u_2} {S : ι → Set α} {f : (i : ι) → ↑(S i) → β} {hf : ∀ (i j : ι) (x : α) (hxi : x ∈ S i) (hxj : x ∈ S j), f i ⟨x, hxi⟩ = f j ⟨x, hxj⟩} {T : Set α} {hT : T ⊆ Set.iUnion S} (c : ↑T) (ci : (i : ι) → ↑(S i)) (hci : ∀ (i : ι), ↑(ci i) = ↑c) (cβ : β) (h : ∀ (i : ι), f i (ci i) = cβ)
Goal: Set.iUnionLift S f hf T hT c = cβ
-- Set.iUnionLift_unary
theorem iUnionLift_unary (u : T → T) (ui : ∀ i, S i → S i)
    (hui :
      ∀ (i) (x : S i),
        u (Set.inclusion (show S i ⊆ T from hT'.symm ▸ Set.subset_iUnion S i) x) =
          Set.inclusion (show S i ⊆ T from hT'.symm ▸ Set.subset_iUnion S i) (ui i x))
    (uβ : β → β) (h : ∀ (i) (x : S i), f i (ui i x) = uβ (f i x)) (x : T) :
    iUnionLift S f hf T (le_of_eq hT') (u x) = uβ (iUnionLift S f hf T (le_of_eq hT') x) 
Arguments: {α : Type u_1} {ι : Sort u_2} {β : Sort u_3} {S : ι → Set α} {f : (i : ι) → ↑(S i) → β} {hf : ∀ (i j : ι) (x : α) (hxi : x ∈ S i) (hxj : x ∈ S j), f i ⟨x, hxi⟩ = f j ⟨x, hxj⟩} {T : Set α} (hT' : T = Set.iUnion S) (u : ↑T → ↑T) (ui : (i : ι) → ↑(S i) → ↑(S i)) (hui : ∀ (i : ι) (x : ↑(S i)), u (Set.inclusion ⋯ x) = Set.inclusion ⋯ (ui i x)) (uβ : β → β) (h : ∀ (i : ι) (x : ↑(S i)), f i (ui i x) = uβ (f i x)) (x : ↑T)
Goal: Set.iUnionLift S f hf T ⋯ (u x) = uβ (Set.iUnionLift S f hf T ⋯ x)
-- Set.iUnionLift_binary
theorem iUnionLift_binary (dir : Directed (· ≤ ·) S) (op : T → T → T) (opi : ∀ i, S i → S i → S i)
    (hopi :
      ∀ i x y,
        Set.inclusion (show S i ⊆ T from hT'.symm ▸ Set.subset_iUnion S i) (opi i x y) =
          op (Set.inclusion (show S i ⊆ T from hT'.symm ▸ Set.subset_iUnion S i) x)
            (Set.inclusion (show S i ⊆ T from hT'.symm ▸ Set.subset_iUnion S i) y))
    (opβ : β → β → β) (h : ∀ (i) (x y : S i), f i (opi i x y) = opβ (f i x) (f i y)) (x y : T) :
    iUnionLift S f hf T (le_of_eq hT') (op x y) =
      opβ (iUnionLift S f hf T (le_of_eq hT') x) (iUnionLift S f hf T (le_of_eq hT') y) 
Arguments: {α : Type u_1} {ι : Sort u_2} {β : Sort u_3} {S : ι → Set α} {f : (i : ι) → ↑(S i) → β} {hf : ∀ (i j : ι) (x : α) (hxi : x ∈ S i) (hxj : x ∈ S j), f i ⟨x, hxi⟩ = f j ⟨x, hxj⟩} {T : Set α} (hT' : T = Set.iUnion S) (dir : Directed (fun x x_1 => x ≤ x_1) S) (op : ↑T → ↑T → ↑T) (opi : (i : ι) → ↑(S i) → ↑(S i) → ↑(S i)) (hopi : ∀ (i : ι) (x y : ↑(S i)), Set.inclusion ⋯ (opi i x y) = op (Set.inclusion ⋯ x) (Set.inclusion ⋯ y)) (opβ : β → β → β) (h : ∀ (i : ι) (x y : ↑(S i)), f i (opi i x y) = opβ (f i x) (f i y)) (x y : ↑T)
Goal: Set.iUnionLift S f hf T ⋯ (op x y) = opβ (Set.iUnionLift S f hf T ⋯ x) (Set.iUnionLift S f hf T ⋯ y)
-- Set.liftCover_coe
@[simp]
theorem liftCover_coe {i : ι} (x : S i) : liftCover S f hf hS x = f i x 
Arguments: {α : Type u_1} {ι : Sort u_3} {β : Sort u_2} {S : ι → Set α} {f : (i : ι) → ↑(S i) → β} {hf : ∀ (i j : ι) (x : α) (hxi : x ∈ S i) (hxj : x ∈ S j), f i ⟨x, hxi⟩ = f j ⟨x, hxj⟩} {hS : Set.iUnion S = Set.univ} {i : ι} (x : ↑(S i))
Goal: Set.liftCover S f hf hS ↑x = f i x
-- Set.liftCover_of_mem
theorem liftCover_of_mem {i : ι} {x : α} (hx : (x : α) ∈ S i) :
    liftCover S f hf hS x = f i ⟨x, hx⟩ 
Arguments: {α : Type u_1} {ι : Sort u_3} {β : Sort u_2} {S : ι → Set α} {f : (i : ι) → ↑(S i) → β} {hf : ∀ (i j : ι) (x : α) (hxi : x ∈ S i) (hxj : x ∈ S j), f i ⟨x, hxi⟩ = f j ⟨x, hxj⟩} {hS : Set.iUnion S = Set.univ} {i : ι} {x : α} (hx : x ∈ S i)
Goal: Set.liftCover S f hf hS x = f i ⟨x, hx⟩
-- Set.preimage_liftCover
theorem preimage_liftCover (t : Set β) : liftCover S f hf hS ⁻¹' t = ⋃ i, (↑) '' (f i ⁻¹' t) 
Arguments: {α : Type u_1} {ι : Sort u_3} {β : Type u_2} {S : ι → Set α} {f : (i : ι) → ↑(S i) → β} {hf : ∀ (i j : ι) (x : α) (hxi : x ∈ S i) (hxj : x ∈ S j), f i ⟨x, hxi⟩ = f j ⟨x, hxj⟩} {hS : Set.iUnion S = Set.univ} (t : Set β)
Goal: Set.liftCover S f hf hS ⁻¹' t = ⋃ i, Subtype.val '' (f i ⁻¹' t)
-- pairwise_on_bool
theorem pairwise_on_bool (hr : Symmetric r) {a b : α} :
    Pairwise (r on fun c => cond c a b) ↔ r a b 
Arguments: {α : Type u_1} {r : α → α → Prop} (hr : Symmetric r) {a b : α}
Goal: Pairwise (r on fun c => bif c then a else b) ↔ r a b
-- pairwise_disjoint_on_bool
theorem pairwise_disjoint_on_bool [SemilatticeInf α] [OrderBot α] {a b : α} :
    Pairwise (Disjoint on fun c => cond c a b) ↔ Disjoint a b 
Arguments: {α : Type u_1} [SemilatticeInf α] [OrderBot α] {a b : α}
Goal: Pairwise (Disjoint on fun c => bif c then a else b) ↔ Disjoint a b
-- Symmetric.pairwise_on
theorem Symmetric.pairwise_on [LinearOrder ι] (hr : Symmetric r) (f : ι → α) :
    Pairwise (r on f) ↔ ∀ ⦃m n⦄, m < n → r (f m) (f n) 
Arguments: {α : Type u_1} {ι : Type u_4} {r : α → α → Prop} [LinearOrder ι] (hr : Symmetric r) (f : ι → α)
Goal: Pairwise (r on f) ↔ ∀ ⦃m n : ι⦄, m < n → r (f m) (f n)
-- pairwise_disjoint_on
theorem pairwise_disjoint_on [SemilatticeInf α] [OrderBot α] [LinearOrder ι] (f : ι → α) :
    Pairwise (Disjoint on f) ↔ ∀ ⦃m n⦄, m < n → Disjoint (f m) (f n) 
Arguments: {α : Type u_1} {ι : Type u_4} [SemilatticeInf α] [OrderBot α] [LinearOrder ι] (f : ι → α)
Goal: Pairwise (Disjoint on f) ↔ ∀ ⦃m n : ι⦄, m < n → Disjoint (f m) (f n)
-- pairwise_disjoint_mono
theorem pairwise_disjoint_mono [SemilatticeInf α] [OrderBot α] (hs : Pairwise (Disjoint on f))
    (h : g ≤ f) : Pairwise (Disjoint on g) 
Arguments: {α : Type u_1} {ι : Type u_4} {f g : ι → α} [SemilatticeInf α] [OrderBot α] (hs : Pairwise (Disjoint on f)) (h : g ≤ f)
Goal: Pairwise (Disjoint on g)
-- Set.Pairwise.mono
theorem Pairwise.mono (h : t ⊆ s) (hs : s.Pairwise r) : t.Pairwise r 
Arguments: {α : Type u_1} {r : α → α → Prop} {s t : Set α} (h : t ⊆ s) (hs : s.Pairwise r)
Goal: t.Pairwise r
-- Set.Pairwise.mono'
theorem Pairwise.mono' (H : r ≤ p) (hr : s.Pairwise r) : s.Pairwise p 
Arguments: {α : Type u_1} {r p : α → α → Prop} {s : Set α} (H : r ≤ p) (hr : s.Pairwise r)
Goal: s.Pairwise p
-- Set.pairwise_top
theorem pairwise_top (s : Set α) : s.Pairwise ⊤ 
Arguments: {α : Type u_1} (s : Set α)
Goal: s.Pairwise ⊤
-- Set.Subsingleton.pairwise
protected theorem Subsingleton.pairwise (h : s.Subsingleton) (r : α → α → Prop) : s.Pairwise r 
Arguments: {α : Type u_1} {s : Set α} (h : s.Subsingleton) (r : α → α → Prop)
Goal: s.Pairwise r
-- Set.pairwise_empty
@[simp]
theorem pairwise_empty (r : α → α → Prop) : (∅ : Set α).Pairwise r 
Arguments: {α : Type u_1} (r : α → α → Prop)
Goal: ∅.Pairwise r
-- Set.pairwise_singleton
@[simp]
theorem pairwise_singleton (a : α) (r : α → α → Prop) : Set.Pairwise {a} r 
Arguments: {α : Type u_1} (a : α) (r : α → α → Prop)
Goal: {a}.Pairwise r
-- Set.pairwise_iff_of_refl
theorem pairwise_iff_of_refl [IsRefl α r] : s.Pairwise r ↔ ∀ ⦃a⦄, a ∈ s → ∀ ⦃b⦄, b ∈ s → r a b 
Arguments: {α : Type u_1} {r : α → α → Prop} {s : Set α} [IsRefl α r]
Goal: s.Pairwise r ↔ ∀ ⦃a : α⦄, a ∈ s → ∀ ⦃b : α⦄, b ∈ s → r a b
-- Set.Nonempty.pairwise_iff_exists_forall
theorem Nonempty.pairwise_iff_exists_forall [IsEquiv α r] {s : Set ι} (hs : s.Nonempty) :
    s.Pairwise (r on f) ↔ ∃ z, ∀ x ∈ s, r (f x) z 
Arguments: {α : Type u_1} {ι : Type u_4} {r : α → α → Prop} {f : ι → α} [IsEquiv α r] {s : Set ι} (hs : s.Nonempty)
Goal: s.Pairwise (r on f) ↔ ∃ z, ∀ x ∈ s, r (f x) z
-- Set.Nonempty.pairwise_eq_iff_exists_eq
theorem Nonempty.pairwise_eq_iff_exists_eq {s : Set α} (hs : s.Nonempty) {f : α → ι} :
    (s.Pairwise fun x y => f x = f y) ↔ ∃ z, ∀ x ∈ s, f x = z 
Arguments: {α : Type u_1} {ι : Type u_4} {s : Set α} (hs : s.Nonempty) {f : α → ι}
Goal: (s.Pairwise fun x y => f x = f y) ↔ ∃ z, ∀ x ∈ s, f x = z
-- Set.pairwise_iff_exists_forall
theorem pairwise_iff_exists_forall [Nonempty ι] (s : Set α) (f : α → ι) {r : ι → ι → Prop}
    [IsEquiv ι r] : s.Pairwise (r on f) ↔ ∃ z, ∀ x ∈ s, r (f x) z 
Arguments: {α : Type u_1} {ι : Type u_4} [Nonempty ι] (s : Set α) (f : α → ι) {r : ι → ι → Prop} [IsEquiv ι r]
Goal: s.Pairwise (r on f) ↔ ∃ z, ∀ x ∈ s, r (f x) z
-- Set.pairwise_eq_iff_exists_eq
theorem pairwise_eq_iff_exists_eq [Nonempty ι] (s : Set α) (f : α → ι) :
    (s.Pairwise fun x y => f x = f y) ↔ ∃ z, ∀ x ∈ s, f x = z 
Arguments: {α : Type u_1} {ι : Type u_4} [Nonempty ι] (s : Set α) (f : α → ι)
Goal: (s.Pairwise fun x y => f x = f y) ↔ ∃ z, ∀ x ∈ s, f x = z
-- Set.pairwise_union
theorem pairwise_union :
    (s ∪ t).Pairwise r ↔
    s.Pairwise r ∧ t.Pairwise r ∧ ∀ a ∈ s, ∀ b ∈ t, a ≠ b → r a b ∧ r b a 
Arguments: {α : Type u_1} {r : α → α → Prop} {s t : Set α}
Goal: (s ∪ t).Pairwise r ↔ s.Pairwise r ∧ t.Pairwise r ∧ ∀ a ∈ s, ∀ b ∈ t, a ≠ b → r a b ∧ r b a
-- Set.pairwise_union_of_symmetric
theorem pairwise_union_of_symmetric (hr : Symmetric r) :
    (s ∪ t).Pairwise r ↔ s.Pairwise r ∧ t.Pairwise r ∧ ∀ a ∈ s, ∀ b ∈ t, a ≠ b → r a b 
Arguments: {α : Type u_1} {r : α → α → Prop} {s t : Set α} (hr : Symmetric r)
Goal: (s ∪ t).Pairwise r ↔ s.Pairwise r ∧ t.Pairwise r ∧ ∀ a ∈ s, ∀ b ∈ t, a ≠ b → r a b
-- Set.pairwise_insert
theorem pairwise_insert :
    (insert a s).Pairwise r ↔ s.Pairwise r ∧ ∀ b ∈ s, a ≠ b → r a b ∧ r b a 
Arguments: {α : Type u_1} {r : α → α → Prop} {s : Set α} {a : α}
Goal: (insert a s).Pairwise r ↔ s.Pairwise r ∧ ∀ b ∈ s, a ≠ b → r a b ∧ r b a
-- Set.pairwise_insert_of_not_mem
theorem pairwise_insert_of_not_mem (ha : a ∉ s) :
    (insert a s).Pairwise r ↔ s.Pairwise r ∧ ∀ b ∈ s, r a b ∧ r b a 
Arguments: {α : Type u_1} {r : α → α → Prop} {s : Set α} {a : α} (ha : a ∉ s)
Goal: (insert a s).Pairwise r ↔ s.Pairwise r ∧ ∀ b ∈ s, r a b ∧ r b a
-- Set.Pairwise.insert
protected theorem Pairwise.insert (hs : s.Pairwise r) (h : ∀ b ∈ s, a ≠ b → r a b ∧ r b a) :
    (insert a s).Pairwise r 
Arguments: {α : Type u_1} {r : α → α → Prop} {s : Set α} {a : α} (hs : s.Pairwise r) (h : ∀ b ∈ s, a ≠ b → r a b ∧ r b a)
Goal: (insert a s).Pairwise r
-- Set.Pairwise.insert_of_not_mem
theorem Pairwise.insert_of_not_mem (ha : a ∉ s) (hs : s.Pairwise r) (h : ∀ b ∈ s, r a b ∧ r b a) :
    (insert a s).Pairwise r 
Arguments: {α : Type u_1} {r : α → α → Prop} {s : Set α} {a : α} (ha : a ∉ s) (hs : s.Pairwise r) (h : ∀ b ∈ s, r a b ∧ r b a)
Goal: (insert a s).Pairwise r
-- Set.pairwise_insert_of_symmetric
theorem pairwise_insert_of_symmetric (hr : Symmetric r) :
    (insert a s).Pairwise r ↔ s.Pairwise r ∧ ∀ b ∈ s, a ≠ b → r a b 
Arguments: {α : Type u_1} {r : α → α → Prop} {s : Set α} {a : α} (hr : Symmetric r)
Goal: (insert a s).Pairwise r ↔ s.Pairwise r ∧ ∀ b ∈ s, a ≠ b → r a b
-- Set.pairwise_insert_of_symmetric_of_not_mem
theorem pairwise_insert_of_symmetric_of_not_mem (hr : Symmetric r) (ha : a ∉ s) :
    (insert a s).Pairwise r ↔ s.Pairwise r ∧ ∀ b ∈ s, r a b 
Arguments: {α : Type u_1} {r : α → α → Prop} {s : Set α} {a : α} (hr : Symmetric r) (ha : a ∉ s)
Goal: (insert a s).Pairwise r ↔ s.Pairwise r ∧ ∀ b ∈ s, r a b
-- Set.Pairwise.insert_of_symmetric
theorem Pairwise.insert_of_symmetric (hs : s.Pairwise r) (hr : Symmetric r)
    (h : ∀ b ∈ s, a ≠ b → r a b) : (insert a s).Pairwise r 
Arguments: {α : Type u_1} {r : α → α → Prop} {s : Set α} {a : α} (hs : s.Pairwise r) (hr : Symmetric r) (h : ∀ b ∈ s, a ≠ b → r a b)
Goal: (insert a s).Pairwise r
-- Set.Pairwise.insert_of_symmetric_of_not_mem
theorem Pairwise.insert_of_symmetric_of_not_mem (hs : s.Pairwise r) (hr : Symmetric r) (ha : a ∉ s)
    (h : ∀ b ∈ s, r a b) : (insert a s).Pairwise r 
Arguments: {α : Type u_1} {r : α → α → Prop} {s : Set α} {a : α} (hs : s.Pairwise r) (hr : Symmetric r) (ha : a ∉ s) (h : ∀ b ∈ s, r a b)
Goal: (insert a s).Pairwise r
-- Set.pairwise_pair
theorem pairwise_pair : Set.Pairwise {a, b} r ↔ a ≠ b → r a b ∧ r b a 
Arguments: {α : Type u_1} {r : α → α → Prop} {a b : α}
Goal: {a, b}.Pairwise r ↔ a ≠ b → r a b ∧ r b a
-- Set.pairwise_pair_of_symmetric
theorem pairwise_pair_of_symmetric (hr : Symmetric r) : Set.Pairwise {a, b} r ↔ a ≠ b → r a b 
Arguments: {α : Type u_1} {r : α → α → Prop} {a b : α} (hr : Symmetric r)
Goal: {a, b}.Pairwise r ↔ a ≠ b → r a b
-- Set.pairwise_univ
theorem pairwise_univ : (univ : Set α).Pairwise r ↔ Pairwise r 
Arguments: {α : Type u_1} {r : α → α → Prop}
Goal: Set.univ.Pairwise r ↔ Pairwise r
-- Set.pairwise_bot_iff
@[simp]
theorem pairwise_bot_iff : s.Pairwise (⊥ : α → α → Prop) ↔ (s : Set α).Subsingleton 
Arguments: {α : Type u_1} {s : Set α}
Goal: s.Pairwise ⊥ ↔ s.Subsingleton
-- Set.injOn_iff_pairwise_ne
lemma injOn_iff_pairwise_ne {s : Set ι} : InjOn f s ↔ s.Pairwise (f · ≠ f ·) 
Arguments: {α : Type u_1} {ι : Type u_4} {f : ι → α} {s : Set ι}
Goal: Set.InjOn f s ↔ s.Pairwise fun x x_1 => f x ≠ f x_1
-- Set.Pairwise.image
protected theorem Pairwise.image {s : Set ι} (h : s.Pairwise (r on f)) : (f '' s).Pairwise r 
Arguments: {α : Type u_1} {ι : Type u_4} {r : α → α → Prop} {f : ι → α} {s : Set ι} (h : s.Pairwise (r on f))
Goal: (f '' s).Pairwise r
-- Set.InjOn.pairwise_image
theorem InjOn.pairwise_image {s : Set ι} (h : s.InjOn f) :
    (f '' s).Pairwise r ↔ s.Pairwise (r on f) 
Arguments: {α : Type u_1} {ι : Type u_4} {r : α → α → Prop} {f : ι → α} {s : Set ι} (h : Set.InjOn f s)
Goal: (f '' s).Pairwise r ↔ s.Pairwise (r on f)
-- Pairwise.range_pairwise
lemma _root_.Pairwise.range_pairwise (hr : Pairwise (r on f)) : (Set.range f).Pairwise r 
Arguments: {α : Type u_1} {ι : Type u_4} {r : α → α → Prop} {f : ι → α} (hr : Pairwise (r on f))
Goal: (Set.range f).Pairwise r