ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- pairwise_subtype_iff_pairwise_set
theorem pairwise_subtype_iff_pairwise_set (s : Set α) (r : α → α → Prop) :
    (Pairwise fun (x : s) (y : s) => r x y) ↔ s.Pairwise r 
Arguments: {α : Type u_1} (s : Set α) (r : α → α → Prop)
Goal: (Pairwise fun x y => r ↑x ↑y) ↔ s.Pairwise r
-- Set.PairwiseDisjoint.subset
theorem PairwiseDisjoint.subset (ht : t.PairwiseDisjoint f) (h : s ⊆ t) : s.PairwiseDisjoint f 
Arguments: {α : Type u_1} {ι : Type u_4} [PartialOrder α] [OrderBot α] {s t : Set ι} {f : ι → α} (ht : t.PairwiseDisjoint f) (h : s ⊆ t)
Goal: s.PairwiseDisjoint f
-- Set.PairwiseDisjoint.mono_on
theorem PairwiseDisjoint.mono_on (hs : s.PairwiseDisjoint f) (h : ∀ ⦃i⦄, i ∈ s → g i ≤ f i) :
    s.PairwiseDisjoint g 
Arguments: {α : Type u_1} {ι : Type u_4} [PartialOrder α] [OrderBot α] {s : Set ι} {f g : ι → α} (hs : s.PairwiseDisjoint f) (h : ∀ ⦃i : ι⦄, i ∈ s → g i ≤ f i)
Goal: s.PairwiseDisjoint g
-- Set.PairwiseDisjoint.mono
theorem PairwiseDisjoint.mono (hs : s.PairwiseDisjoint f) (h : g ≤ f) : s.PairwiseDisjoint g 
Arguments: {α : Type u_1} {ι : Type u_4} [PartialOrder α] [OrderBot α] {s : Set ι} {f g : ι → α} (hs : s.PairwiseDisjoint f) (h : g ≤ f)
Goal: s.PairwiseDisjoint g
-- Set.pairwiseDisjoint_empty
@[simp]
theorem pairwiseDisjoint_empty : (∅ : Set ι).PairwiseDisjoint f 
Arguments: {α : Type u_1} {ι : Type u_4} [PartialOrder α] [OrderBot α] {f : ι → α}
Goal: ∅.PairwiseDisjoint f
-- Set.pairwiseDisjoint_singleton
@[simp]
theorem pairwiseDisjoint_singleton (i : ι) (f : ι → α) : PairwiseDisjoint {i} f 
Arguments: {α : Type u_1} {ι : Type u_4} [PartialOrder α] [OrderBot α] (i : ι) (f : ι → α)
Goal: {i}.PairwiseDisjoint f
-- Set.pairwiseDisjoint_insert
theorem pairwiseDisjoint_insert {i : ι} :
    (insert i s).PairwiseDisjoint f ↔
      s.PairwiseDisjoint f ∧ ∀ j ∈ s, i ≠ j → Disjoint (f i) (f j) 
Arguments: {α : Type u_1} {ι : Type u_4} [PartialOrder α] [OrderBot α] {s : Set ι} {f : ι → α} {i : ι}
Goal: (insert i s).PairwiseDisjoint f ↔ s.PairwiseDisjoint f ∧ ∀ j ∈ s, i ≠ j → Disjoint (f i) (f j)
-- Set.pairwiseDisjoint_insert_of_not_mem
theorem pairwiseDisjoint_insert_of_not_mem {i : ι} (hi : i ∉ s) :
    (insert i s).PairwiseDisjoint f ↔ s.PairwiseDisjoint f ∧ ∀ j ∈ s, Disjoint (f i) (f j) 
Arguments: {α : Type u_1} {ι : Type u_4} [PartialOrder α] [OrderBot α] {s : Set ι} {f : ι → α} {i : ι} (hi : i ∉ s)
Goal: (insert i s).PairwiseDisjoint f ↔ s.PairwiseDisjoint f ∧ ∀ j ∈ s, Disjoint (f i) (f j)
-- Set.PairwiseDisjoint.insert
protected theorem PairwiseDisjoint.insert (hs : s.PairwiseDisjoint f) {i : ι}
    (h : ∀ j ∈ s, i ≠ j → Disjoint (f i) (f j)) : (insert i s).PairwiseDisjoint f 
Arguments: {α : Type u_1} {ι : Type u_4} [PartialOrder α] [OrderBot α] {s : Set ι} {f : ι → α} (hs : s.PairwiseDisjoint f) {i : ι} (h : ∀ j ∈ s, i ≠ j → Disjoint (f i) (f j))
Goal: (insert i s).PairwiseDisjoint f
-- Set.PairwiseDisjoint.insert_of_not_mem
theorem PairwiseDisjoint.insert_of_not_mem (hs : s.PairwiseDisjoint f) {i : ι} (hi : i ∉ s)
    (h : ∀ j ∈ s, Disjoint (f i) (f j)) : (insert i s).PairwiseDisjoint f 
Arguments: {α : Type u_1} {ι : Type u_4} [PartialOrder α] [OrderBot α] {s : Set ι} {f : ι → α} (hs : s.PairwiseDisjoint f) {i : ι} (hi : i ∉ s) (h : ∀ j ∈ s, Disjoint (f i) (f j))
Goal: (insert i s).PairwiseDisjoint f
-- Set.PairwiseDisjoint.image_of_le
theorem PairwiseDisjoint.image_of_le (hs : s.PairwiseDisjoint f) {g : ι → ι} (hg : f ∘ g ≤ f) :
    (g '' s).PairwiseDisjoint f 
Arguments: {α : Type u_1} {ι : Type u_4} [PartialOrder α] [OrderBot α] {s : Set ι} {f : ι → α} (hs : s.PairwiseDisjoint f) {g : ι → ι} (hg : f ∘ g ≤ f)
Goal: (g '' s).PairwiseDisjoint f
-- Set.InjOn.pairwiseDisjoint_image
theorem InjOn.pairwiseDisjoint_image {g : ι' → ι} {s : Set ι'} (h : s.InjOn g) :
    (g '' s).PairwiseDisjoint f ↔ s.PairwiseDisjoint (f ∘ g) 
Arguments: {α : Type u_1} {ι : Type u_4} {ι' : Type u_5} [PartialOrder α] [OrderBot α] {f : ι → α} {g : ι' → ι} {s : Set ι'} (h : Set.InjOn g s)
Goal: (g '' s).PairwiseDisjoint f ↔ s.PairwiseDisjoint (f ∘ g)
-- Set.PairwiseDisjoint.range
theorem PairwiseDisjoint.range (g : s → ι) (hg : ∀ i : s, f (g i) ≤ f i)
    (ht : s.PairwiseDisjoint f) : (range g).PairwiseDisjoint f 
Arguments: {α : Type u_1} {ι : Type u_4} [PartialOrder α] [OrderBot α] {s : Set ι} {f : ι → α} (g : ↑s → ι) (hg : ∀ (i : ↑s), f (g i) ≤ f ↑i) (ht : s.PairwiseDisjoint f)
Goal: (Set.range g).PairwiseDisjoint f
-- Set.pairwiseDisjoint_union
theorem pairwiseDisjoint_union :
    (s ∪ t).PairwiseDisjoint f ↔
      s.PairwiseDisjoint f ∧
        t.PairwiseDisjoint f ∧ ∀ ⦃i⦄, i ∈ s → ∀ ⦃j⦄, j ∈ t → i ≠ j → Disjoint (f i) (f j) 
Arguments: {α : Type u_1} {ι : Type u_4} [PartialOrder α] [OrderBot α] {s t : Set ι} {f : ι → α}
Goal: (s ∪ t).PairwiseDisjoint f ↔
  s.PairwiseDisjoint f ∧ t.PairwiseDisjoint f ∧ ∀ ⦃i : ι⦄, i ∈ s → ∀ ⦃j : ι⦄, j ∈ t → i ≠ j → Disjoint (f i) (f j)
-- Set.PairwiseDisjoint.union
theorem PairwiseDisjoint.union (hs : s.PairwiseDisjoint f) (ht : t.PairwiseDisjoint f)
    (h : ∀ ⦃i⦄, i ∈ s → ∀ ⦃j⦄, j ∈ t → i ≠ j → Disjoint (f i) (f j)) : (s ∪ t).PairwiseDisjoint f 
Arguments: {α : Type u_1} {ι : Type u_4} [PartialOrder α] [OrderBot α] {s t : Set ι} {f : ι → α} (hs : s.PairwiseDisjoint f) (ht : t.PairwiseDisjoint f) (h : ∀ ⦃i : ι⦄, i ∈ s → ∀ ⦃j : ι⦄, j ∈ t → i ≠ j → Disjoint (f i) (f j))
Goal: (s ∪ t).PairwiseDisjoint f
-- Set.PairwiseDisjoint.elim
theorem PairwiseDisjoint.elim (hs : s.PairwiseDisjoint f) {i j : ι} (hi : i ∈ s) (hj : j ∈ s)
    (h : ¬Disjoint (f i) (f j)) : i = j 
Arguments: {α : Type u_1} {ι : Type u_4} [PartialOrder α] [OrderBot α] {s : Set ι} {f : ι → α} (hs : s.PairwiseDisjoint f) {i j : ι} (hi : i ∈ s) (hj : j ∈ s) (h : ¬Disjoint (f i) (f j))
Goal: i = j
-- Set.PairwiseDisjoint.eq_or_disjoint
lemma PairwiseDisjoint.eq_or_disjoint
    (h : s.PairwiseDisjoint f) {i j : ι} (hi : i ∈ s) (hj : j ∈ s) :
    i = j ∨ Disjoint (f i) (f j) 
Arguments: {α : Type u_1} {ι : Type u_4} [PartialOrder α] [OrderBot α] {s : Set ι} {f : ι → α} (h : s.PairwiseDisjoint f) {i j : ι} (hi : i ∈ s) (hj : j ∈ s)
Goal: i = j ∨ Disjoint (f i) (f j)
-- Set.pairwiseDisjoint_range_iff
lemma pairwiseDisjoint_range_iff {α β : Type*} {f : α → (Set β)} :
    (Set.range f).PairwiseDisjoint id ↔ ∀ x y, f x = f y ∨ Disjoint (f x) (f y) 
Arguments: {α : Type u_6} {β : Type u_7} {f : α → Set β}
Goal: (Set.range f).PairwiseDisjoint id ↔ ∀ (x y : α), f x = f y ∨ Disjoint (f x) (f y)
-- Pairwise.pairwiseDisjoint
lemma _root_.Pairwise.pairwiseDisjoint (h : Pairwise (Disjoint on f)) (s : Set ι) :
    s.PairwiseDisjoint f 
Arguments: {α : Type u_1} {ι : Type u_4} [PartialOrder α] [OrderBot α] {f : ι → α} (h : Pairwise (Disjoint on f)) (s : Set ι)
Goal: s.PairwiseDisjoint f
-- Set.PairwiseDisjoint.elim'
theorem PairwiseDisjoint.elim' (hs : s.PairwiseDisjoint f) {i j : ι} (hi : i ∈ s) (hj : j ∈ s)
    (h : f i ⊓ f j ≠ ⊥) : i = j 
Arguments: {α : Type u_1} {ι : Type u_4} [SemilatticeInf α] [OrderBot α] {s : Set ι} {f : ι → α} (hs : s.PairwiseDisjoint f) {i j : ι} (hi : i ∈ s) (hj : j ∈ s) (h : f i ⊓ f j ≠ ⊥)
Goal: i = j
-- Set.PairwiseDisjoint.eq_of_le
theorem PairwiseDisjoint.eq_of_le (hs : s.PairwiseDisjoint f) {i j : ι} (hi : i ∈ s) (hj : j ∈ s)
    (hf : f i ≠ ⊥) (hij : f i ≤ f j) : i = j 
Arguments: {α : Type u_1} {ι : Type u_4} [SemilatticeInf α] [OrderBot α] {s : Set ι} {f : ι → α} (hs : s.PairwiseDisjoint f) {i j : ι} (hi : i ∈ s) (hj : j ∈ s) (hf : f i ≠ ⊥) (hij : f i ≤ f j)
Goal: i = j
-- Set.pairwiseDisjoint_range_singleton
theorem pairwiseDisjoint_range_singleton :
    (range (singleton : ι → Set ι)).PairwiseDisjoint id 
Arguments: {ι : Type u_4}
Goal: (Set.range singleton).PairwiseDisjoint id
-- Set.pairwiseDisjoint_fiber
theorem pairwiseDisjoint_fiber (f : ι → α) (s : Set α) : s.PairwiseDisjoint fun a => f ⁻¹' {a} 
Arguments: {α : Type u_1} {ι : Type u_4} (f : ι → α) (s : Set α)
Goal: s.PairwiseDisjoint fun a => f ⁻¹' {a}
-- Set.PairwiseDisjoint.elim_set
theorem PairwiseDisjoint.elim_set {s : Set ι} {f : ι → Set α} (hs : s.PairwiseDisjoint f) {i j : ι}
    (hi : i ∈ s) (hj : j ∈ s) (a : α) (hai : a ∈ f i) (haj : a ∈ f j) : i = j 
Arguments: {α : Type u_1} {ι : Type u_4} {s : Set ι} {f : ι → Set α} (hs : s.PairwiseDisjoint f) {i j : ι} (hi : i ∈ s) (hj : j ∈ s) (a : α) (hai : a ∈ f i) (haj : a ∈ f j)
Goal: i = j
-- Set.PairwiseDisjoint.prod
theorem PairwiseDisjoint.prod {f : ι → Set α} {g : ι' → Set β} (hs : s.PairwiseDisjoint f)
    (ht : t.PairwiseDisjoint g) :
    (s ×ˢ t : Set (ι × ι')).PairwiseDisjoint fun i => f i.1 ×ˢ g i.2 
Arguments: {α : Type u_1} {β : Type u_2} {ι : Type u_4} {ι' : Type u_5} {s : Set ι} {t : Set ι'} {f : ι → Set α} {g : ι' → Set β} (hs : s.PairwiseDisjoint f) (ht : t.PairwiseDisjoint g)
Goal: (s ×ˢ t).PairwiseDisjoint fun i => f i.1 ×ˢ g i.2
-- Set.pairwiseDisjoint_pi
theorem pairwiseDisjoint_pi {ι' α : ι → Type*} {s : ∀ i, Set (ι' i)} {f : ∀ i, ι' i → Set (α i)}
    (hs : ∀ i, (s i).PairwiseDisjoint (f i)) :
    ((univ : Set ι).pi s).PairwiseDisjoint fun I => (univ : Set ι).pi fun i => f _ (I i) 
Arguments: {ι : Type u_4} {ι' : ι → Type u_6} {α : ι → Type u_7} {s : (i : ι) → Set (ι' i)} {f : (i : ι) → ι' i → Set (α i)} (hs : ∀ (i : ι), (s i).PairwiseDisjoint (f i))
Goal: (Set.univ.pi s).PairwiseDisjoint fun I => Set.univ.pi fun i => f i (I i)
-- Set.pairwiseDisjoint_image_right_iff
theorem pairwiseDisjoint_image_right_iff {f : α → β → γ} {s : Set α} {t : Set β}
    (hf : ∀ a ∈ s, Injective (f a)) :
    (s.PairwiseDisjoint fun a => f a '' t) ↔ (s ×ˢ t).InjOn fun p => f p.1 p.2 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} {f : α → β → γ} {s : Set α} {t : Set β} (hf : ∀ a ∈ s, Function.Injective (f a))
Goal: (s.PairwiseDisjoint fun a => f a '' t) ↔ Set.InjOn (fun p => f p.1 p.2) (s ×ˢ t)
-- Set.pairwiseDisjoint_image_left_iff
theorem pairwiseDisjoint_image_left_iff {f : α → β → γ} {s : Set α} {t : Set β}
    (hf : ∀ b ∈ t, Injective fun a => f a b) :
    (t.PairwiseDisjoint fun b => (fun a => f a b) '' s) ↔ (s ×ˢ t).InjOn fun p => f p.1 p.2 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} {f : α → β → γ} {s : Set α} {t : Set β} (hf : ∀ b ∈ t, Function.Injective fun a => f a b)
Goal: (t.PairwiseDisjoint fun b => (fun a => f a b) '' s) ↔ Set.InjOn (fun p => f p.1 p.2) (s ×ˢ t)
-- Set.exists_ne_mem_inter_of_not_pairwiseDisjoint
lemma exists_ne_mem_inter_of_not_pairwiseDisjoint
    {f : ι → Set α} (h : ¬ s.PairwiseDisjoint f) :
    ∃ i ∈ s, ∃ j ∈ s, i ≠ j ∧ ∃ x : α, x ∈ f i ∩ f j 
Arguments: {α : Type u_1} {ι : Type u_4} {s : Set ι} {f : ι → Set α} (h : ¬s.PairwiseDisjoint f)
Goal: ∃ i ∈ s, ∃ j ∈ s, i ≠ j ∧ ∃ x, x ∈ f i ∩ f j
-- Set.exists_lt_mem_inter_of_not_pairwiseDisjoint
lemma exists_lt_mem_inter_of_not_pairwiseDisjoint [LinearOrder ι]
    {f : ι → Set α} (h : ¬ s.PairwiseDisjoint f) :
    ∃ i ∈ s, ∃ j ∈ s, i < j ∧ ∃ x, x ∈ f i ∩ f j 
Arguments: {α : Type u_1} {ι : Type u_4} {s : Set ι} [LinearOrder ι] {f : ι → Set α} (h : ¬s.PairwiseDisjoint f)
Goal: ∃ i ∈ s, ∃ j ∈ s, i < j ∧ ∃ x, x ∈ f i ∩ f j
-- exists_ne_mem_inter_of_not_pairwise_disjoint
lemma exists_ne_mem_inter_of_not_pairwise_disjoint
    {f : ι → Set α} (h : ¬ Pairwise (Disjoint on f)) :
    ∃ i j : ι, i ≠ j ∧ ∃ x, x ∈ f i ∩ f j 
Arguments: {α : Type u_1} {ι : Type u_4} {f : ι → Set α} (h : ¬Pairwise (Disjoint on f))
Goal: ∃ i j, i ≠ j ∧ ∃ x, x ∈ f i ∩ f j
-- exists_lt_mem_inter_of_not_pairwise_disjoint
lemma exists_lt_mem_inter_of_not_pairwise_disjoint [LinearOrder ι]
    {f : ι → Set α} (h : ¬ Pairwise (Disjoint on f)) :
    ∃ i j : ι, i < j ∧ ∃ x, x ∈ f i ∩ f j 
Arguments: {α : Type u_1} {ι : Type u_4} [LinearOrder ι] {f : ι → Set α} (h : ¬Pairwise (Disjoint on f))
Goal: ∃ i j, i < j ∧ ∃ x, x ∈ f i ∩ f j
-- pairwise_disjoint_fiber
theorem pairwise_disjoint_fiber (f : ι → α) : Pairwise (Disjoint on fun a : α => f ⁻¹' {a}) 
Arguments: {α : Type u_1} {ι : Type u_4} (f : ι → α)
Goal: Pairwise (Disjoint on fun a => f ⁻¹' {a})
-- subsingleton_setOf_mem_iff_pairwise_disjoint
lemma subsingleton_setOf_mem_iff_pairwise_disjoint {f : ι → Set α} :
    (∀ a, {i | a ∈ f i}.Subsingleton) ↔ Pairwise (Disjoint on f) 
Arguments: {α : Type u_1} {ι : Type u_4} {f : ι → Set α}
Goal: (∀ (a : α), {i | a ∈ f i}.Subsingleton) ↔ Pairwise (Disjoint on f)
-- memPartition_zero
@[simp]
lemma memPartition_zero (f : ℕ → Set α) : memPartition f 0 = {univ} 
Arguments: {α : Type u_1} (f : ℕ → Set α)
Goal: memPartition f 0 = {Set.univ}
-- memPartition_succ
lemma memPartition_succ (f : ℕ → Set α) (n : ℕ) :
    memPartition f (n + 1) = {s | ∃ u ∈ memPartition f n, s = u ∩ f n ∨ s = u \ f n} 
Arguments: {α : Type u_1} (f : ℕ → Set α) (n : ℕ)
Goal: memPartition f (n + 1) = {s | ∃ u ∈ memPartition f n, s = u ∩ f n ∨ s = u \ f n}
-- disjoint_memPartition
lemma disjoint_memPartition (f : ℕ → Set α) (n : ℕ) {u v : Set α}
    (hu : u ∈ memPartition f n) (hv : v ∈ memPartition f n) (huv : u ≠ v) :
    Disjoint u v 
Arguments: {α : Type u_1} (f : ℕ → Set α) (n : ℕ) {u v : Set α} (hu : u ∈ memPartition f n) (hv : v ∈ memPartition f n) (huv : u ≠ v)
Goal: Disjoint u v
-- sUnion_memPartition
@[simp]
lemma sUnion_memPartition (f : ℕ → Set α) (n : ℕ) : ⋃₀ memPartition f n = univ 
Arguments: {α : Type u_1} (f : ℕ → Set α) (n : ℕ)
Goal: ⋃₀ memPartition f n = Set.univ
-- finite_memPartition
lemma finite_memPartition (f : ℕ → Set α) (n : ℕ) : Set.Finite (memPartition f n) 
Arguments: {α : Type u_1} (f : ℕ → Set α) (n : ℕ)
Goal: (memPartition f n).Finite
-- memPartitionSet_zero
@[simp]
lemma memPartitionSet_zero (f : ℕ → Set α) (a : α) : memPartitionSet f 0 a = univ 
Arguments: {α : Type u_1} (f : ℕ → Set α) (a : α)
Goal: memPartitionSet f 0 a = Set.univ
-- memPartitionSet_succ
lemma memPartitionSet_succ (f : ℕ → Set α) (n : ℕ) (a : α) [Decidable (a ∈ f n)] :
    memPartitionSet f (n + 1) a
      = if a ∈ f n then memPartitionSet f n a ∩ f n else memPartitionSet f n a \ f n 
Arguments: {α : Type u_1} (f : ℕ → Set α) (n : ℕ) (a : α) [Decidable (a ∈ f n)]
Goal: memPartitionSet f (n + 1) a = if a ∈ f n then memPartitionSet f n a ∩ f n else memPartitionSet f n a \ f n
-- memPartitionSet_mem
lemma memPartitionSet_mem (f : ℕ → Set α) (n : ℕ) (a : α) :
    memPartitionSet f n a ∈ memPartition f n 
Arguments: {α : Type u_1} (f : ℕ → Set α) (n : ℕ) (a : α)
Goal: memPartitionSet f n a ∈ memPartition f n
-- mem_memPartitionSet
lemma mem_memPartitionSet (f : ℕ → Set α) (n : ℕ) (a : α) : a ∈ memPartitionSet f n a 
Arguments: {α : Type u_1} (f : ℕ → Set α) (n : ℕ) (a : α)
Goal: a ∈ memPartitionSet f n a
-- memPartitionSet_eq_iff
lemma memPartitionSet_eq_iff {f : ℕ → Set α} {n : ℕ} (a : α) {s : Set α}
    (hs : s ∈ memPartition f n) :
    memPartitionSet f n a = s ↔ a ∈ s 
Arguments: {α : Type u_1} {f : ℕ → Set α} {n : ℕ} (a : α) {s : Set α} (hs : s ∈ memPartition f n)
Goal: memPartitionSet f n a = s ↔ a ∈ s
-- memPartitionSet_of_mem
lemma memPartitionSet_of_mem {f : ℕ → Set α} {n : ℕ} {a : α} {s : Set α}
    (hs : s ∈ memPartition f n) (ha : a ∈ s) :
    memPartitionSet f n a = s 
Arguments: {α : Type u_1} {f : ℕ → Set α} {n : ℕ} {a : α} {s : Set α} (hs : s ∈ memPartition f n) (ha : a ∈ s)
Goal: memPartitionSet f n a = s
-- Set.mem_smulAntidiagonal
@[to_additive (attr := simp)]
theorem mem_smulAntidiagonal : x ∈ smulAntidiagonal s t a ↔ x.1 ∈ s ∧ x.2 ∈ t ∧ x.1 • x.2 = a 
Arguments: {G : Type u_1} {P : Type u_2} [SMul G P] {s : Set G} {t : Set P} {a : P} {x : G × P}
Goal: x ∈ s.smulAntidiagonal t a ↔ x.1 ∈ s ∧ x.2 ∈ t ∧ x.1 • x.2 = a
-- Set.mem_vaddAntidiagonal
@[to_additive (attr := simp)]
theorem mem_smulAntidiagonal : x ∈ smulAntidiagonal s t a ↔ x.1 ∈ s ∧ x.2 ∈ t ∧ x.1 • x.2 = a 
Arguments: {G : Type u_1} {P : Type u_2} [VAdd G P] {s : Set G} {t : Set P} {a : P} {x : G × P}
Goal: x ∈ s.vaddAntidiagonal t a ↔ x.1 ∈ s ∧ x.2 ∈ t ∧ x.1 +ᵥ x.2 = a
-- Set.smulAntidiagonal_mono_left
@[to_additive]
theorem smulAntidiagonal_mono_left (h : s₁ ⊆ s₂) :
    smulAntidiagonal s₁ t a ⊆ smulAntidiagonal s₂ t a 
Arguments: {G : Type u_1} {P : Type u_2} [SMul G P] {s₁ s₂ : Set G} {t : Set P} {a : P} (h : s₁ ⊆ s₂)
Goal: s₁.smulAntidiagonal t a ⊆ s₂.smulAntidiagonal t a
-- Set.vaddAntidiagonal_mono_left
@[to_additive]
theorem smulAntidiagonal_mono_left (h : s₁ ⊆ s₂) :
    smulAntidiagonal s₁ t a ⊆ smulAntidiagonal s₂ t a 
Arguments: {G : Type u_1} {P : Type u_2} [VAdd G P] {s₁ s₂ : Set G} {t : Set P} {a : P} (h : s₁ ⊆ s₂)
Goal: s₁.vaddAntidiagonal t a ⊆ s₂.vaddAntidiagonal t a
-- Set.vaddAntidiagonal_mono_right
@[to_additive]
theorem smulAntidiagonal_mono_right (h : t₁ ⊆ t₂) :
    smulAntidiagonal s t₁ a ⊆ smulAntidiagonal s t₂ a 
Arguments: {G : Type u_1} {P : Type u_2} [VAdd G P] {s : Set G} {t₁ t₂ : Set P} {a : P} (h : t₁ ⊆ t₂)
Goal: s.vaddAntidiagonal t₁ a ⊆ s.vaddAntidiagonal t₂ a
-- Set.smulAntidiagonal_mono_right
@[to_additive]
theorem smulAntidiagonal_mono_right (h : t₁ ⊆ t₂) :
    smulAntidiagonal s t₁ a ⊆ smulAntidiagonal s t₂ a 
Arguments: {G : Type u_1} {P : Type u_2} [SMul G P] {s : Set G} {t₁ t₂ : Set P} {a : P} (h : t₁ ⊆ t₂)
Goal: s.smulAntidiagonal t₁ a ⊆ s.smulAntidiagonal t₂ a
-- Set.VAddAntidiagonal.fst_eq_fst_iff_snd_eq_snd
@[to_additive VAddAntidiagonal.fst_eq_fst_iff_snd_eq_snd]
theorem fst_eq_fst_iff_snd_eq_snd :
    (x : G × P).1 = (y : G × P).1 ↔ (x : G × P).2 = (y : G × P).2 
Arguments: {G : Type u_1} {P : Type u_2} {s : Set G} {t : Set P} {a : P} [VAdd G P] [IsCancelVAdd G P] {x y : ↑(s.vaddAntidiagonal t a)}
Goal: (↑x).1 = (↑y).1 ↔ (↑x).2 = (↑y).2
-- Set.SMulAntidiagonal.fst_eq_fst_iff_snd_eq_snd
@[to_additive VAddAntidiagonal.fst_eq_fst_iff_snd_eq_snd]
theorem fst_eq_fst_iff_snd_eq_snd :
    (x : G × P).1 = (y : G × P).1 ↔ (x : G × P).2 = (y : G × P).2 
Arguments: {G : Type u_1} {P : Type u_2} {s : Set G} {t : Set P} {a : P} [SMul G P] [IsCancelSMul G P] {x y : ↑(s.smulAntidiagonal t a)}
Goal: (↑x).1 = (↑y).1 ↔ (↑x).2 = (↑y).2
-- Set.SMulAntidiagonal.eq_of_fst_eq_fst
@[to_additive VAddAntidiagonal.eq_of_fst_eq_fst]
theorem eq_of_fst_eq_fst (h : (x : G × P).fst = (y : G × P).fst) : x = y 
Arguments: {G : Type u_1} {P : Type u_2} {s : Set G} {t : Set P} {a : P} [SMul G P] [IsCancelSMul G P] {x y : ↑(s.smulAntidiagonal t a)} (h : (↑x).1 = (↑y).1)
Goal: x = y
-- Set.VAddAntidiagonal.eq_of_fst_eq_fst
@[to_additive VAddAntidiagonal.eq_of_fst_eq_fst]
theorem eq_of_fst_eq_fst (h : (x : G × P).fst = (y : G × P).fst) : x = y 
Arguments: {G : Type u_1} {P : Type u_2} {s : Set G} {t : Set P} {a : P} [VAdd G P] [IsCancelVAdd G P] {x y : ↑(s.vaddAntidiagonal t a)} (h : (↑x).1 = (↑y).1)
Goal: x = y
-- Set.VAddAntidiagonal.eq_of_snd_eq_snd
@[to_additive VAddAntidiagonal.eq_of_snd_eq_snd]
theorem eq_of_snd_eq_snd (h : (x : G × P).snd = (y : G × P).snd) : x = y 
Arguments: {G : Type u_1} {P : Type u_2} {s : Set G} {t : Set P} {a : P} [VAdd G P] [IsCancelVAdd G P] {x y : ↑(s.vaddAntidiagonal t a)} (h : (↑x).2 = (↑y).2)
Goal: x = y
-- Set.SMulAntidiagonal.eq_of_snd_eq_snd
@[to_additive VAddAntidiagonal.eq_of_snd_eq_snd]
theorem eq_of_snd_eq_snd (h : (x : G × P).snd = (y : G × P).snd) : x = y 
Arguments: {G : Type u_1} {P : Type u_2} {s : Set G} {t : Set P} {a : P} [SMul G P] [IsCancelSMul G P] {x y : ↑(s.smulAntidiagonal t a)} (h : (↑x).2 = (↑y).2)
Goal: x = y
-- Set.VAddAntidiagonal.eq_of_fst_le_fst_of_snd_le_snd
@[to_additive VAddAntidiagonal.eq_of_fst_le_fst_of_snd_le_snd]
theorem eq_of_fst_le_fst_of_snd_le_snd (h₁ : (x : G × P).1 ≤ (y : G × P).1)
    (h₂ : (x : G × P).2 ≤ (y : G × P).2) : x = y 
Arguments: {G : Type u_1} {P : Type u_2} {s : Set G} {t : Set P} {a : P} [PartialOrder G] [PartialOrder P] [VAdd G P] [IsOrderedCancelVAdd G P] {x y : ↑(s.vaddAntidiagonal t a)} (h₁ : (↑x).1 ≤ (↑y).1) (h₂ : (↑x).2 ≤ (↑y).2)
Goal: x = y
-- Set.SMulAntidiagonal.eq_of_fst_le_fst_of_snd_le_snd
@[to_additive VAddAntidiagonal.eq_of_fst_le_fst_of_snd_le_snd]
theorem eq_of_fst_le_fst_of_snd_le_snd (h₁ : (x : G × P).1 ≤ (y : G × P).1)
    (h₂ : (x : G × P).2 ≤ (y : G × P).2) : x = y 
Arguments: {G : Type u_1} {P : Type u_2} {s : Set G} {t : Set P} {a : P} [PartialOrder G] [PartialOrder P] [SMul G P] [IsOrderedCancelSMul G P] {x y : ↑(s.smulAntidiagonal t a)} (h₁ : (↑x).1 ≤ (↑y).1) (h₂ : (↑x).2 ≤ (↑y).2)
Goal: x = y
-- Set.VAddAntidiagonal.finite_of_isPWO
@[to_additive VAddAntidiagonal.finite_of_isPWO]
theorem finite_of_isPWO (hs : s.IsPWO) (ht : t.IsPWO) (a) : (smulAntidiagonal s t a).Finite 
Arguments: {G : Type u_1} {P : Type u_2} {s : Set G} {t : Set P} [PartialOrder G] [PartialOrder P] [VAdd G P] [IsOrderedCancelVAdd G P] (hs : s.IsPWO) (ht : t.IsPWO) (a : P)
Goal: (s.vaddAntidiagonal t a).Finite
-- Set.SMulAntidiagonal.finite_of_isPWO
@[to_additive VAddAntidiagonal.finite_of_isPWO]
theorem finite_of_isPWO (hs : s.IsPWO) (ht : t.IsPWO) (a) : (smulAntidiagonal s t a).Finite 
Arguments: {G : Type u_1} {P : Type u_2} {s : Set G} {t : Set P} [PartialOrder G] [PartialOrder P] [SMul G P] [IsOrderedCancelSMul G P] (hs : s.IsPWO) (ht : t.IsPWO) (a : P)
Goal: (s.smulAntidiagonal t a).Finite
-- Mathlib.Vector.head_cons
theorem head_cons (a : α) : ∀ v : Vector α n, head (cons a v) = a
  
Arguments: {α : Type u} {n : ℕ} (a : α) (v : Mathlib.Vector α n)
Goal: (Mathlib.Vector.cons a v).head = a
-- Mathlib.Vector.tail_cons
theorem tail_cons (a : α) : ∀ v : Vector α n, tail (cons a v) = v
  
Arguments: {α : Type u} {n : ℕ} (a : α) (v : Mathlib.Vector α n)
Goal: (Mathlib.Vector.cons a v).tail = v
-- Mathlib.Vector.cons_head_tail
@[simp]
theorem cons_head_tail : ∀ v : Vector α (succ n), cons (head v) (tail v) = v
  
Arguments: {α : Type u} {n : ℕ} (v : Mathlib.Vector α n.succ)
Goal: Mathlib.Vector.cons v.head v.tail = v
-- Mathlib.Vector.map_nil
@[simp]
theorem map_nil (f : α → β) : map f nil = nil 
Arguments: {α : Type u} {β : Type v} (f : α → β)
Goal: Mathlib.Vector.map f Mathlib.Vector.nil = Mathlib.Vector.nil
-- Mathlib.Vector.map_cons
@[simp]
theorem map_cons (f : α → β) (a : α) : ∀ v : Vector α n, map f (cons a v) = cons (f a) (map f v)
  
Arguments: {α : Type u} {β : Type v} {n : ℕ} (f : α → β) (a : α) (v : Mathlib.Vector α n)
Goal: Mathlib.Vector.map f (Mathlib.Vector.cons a v) = Mathlib.Vector.cons (f a) (Mathlib.Vector.map f v)
-- Mathlib.Vector.eq
protected theorem eq {n : ℕ} : ∀ a1 a2 : Vector α n, toList a1 = toList a2 → a1 = a2
  
Arguments: {α : Type u} {n : ℕ} (a1 a2 : Mathlib.Vector α n)
Goal: a1.toList = a2.toList → a1 = a2
-- Mathlib.Vector.eq_nil
protected theorem eq_nil (v : Vector α 0) : v = nil 
Arguments: {α : Type u} (v : Mathlib.Vector α 0)
Goal: v = Mathlib.Vector.nil
-- Mathlib.Vector.toList_mk
@[simp]
theorem toList_mk (v : List α) (P : List.length v = n) : toList (Subtype.mk v P) = v 
Arguments: {α : Type u} {n : ℕ} (v : List α) (P : v.length = n)
Goal: Mathlib.Vector.toList ⟨v, P⟩ = v
-- Mathlib.Vector.toList_nil
@[simp]
theorem toList_nil : toList nil = @List.nil α 
Arguments: {α : Type u}
Goal: Mathlib.Vector.nil.toList = []
-- Mathlib.Vector.toList_length
@[simp]
theorem toList_length (v : Vector α n) : (toList v).length = n 
Arguments: {α : Type u} {n : ℕ} (v : Mathlib.Vector α n)
Goal: v.toList.length = n
-- Mathlib.Vector.toList_cons
@[simp]
theorem toList_cons (a : α) (v : Vector α n) : toList (cons a v) = a :: toList v 
Arguments: {α : Type u} {n : ℕ} (a : α) (v : Mathlib.Vector α n)
Goal: (Mathlib.Vector.cons a v).toList = a :: v.toList
-- Mathlib.Vector.toList_append
@[simp]
theorem toList_append {n m : ℕ} (v : Vector α n) (w : Vector α m) :
    toList (append v w) = toList v ++ toList w 
Arguments: {α : Type u} {n m : ℕ} (v : Mathlib.Vector α n) (w : Mathlib.Vector α m)
Goal: (v.append w).toList = v.toList ++ w.toList
-- Mathlib.Vector.toList_drop
@[simp]
theorem toList_drop {n m : ℕ} (v : Vector α m) : toList (drop n v) = List.drop n (toList v) 
Arguments: {α : Type u} {n m : ℕ} (v : Mathlib.Vector α m)
Goal: (Mathlib.Vector.drop n v).toList = List.drop n v.toList
-- Mathlib.Vector.toList_take
@[simp]
theorem toList_take {n m : ℕ} (v : Vector α m) : toList (take n v) = List.take n (toList v) 
Arguments: {α : Type u} {n m : ℕ} (v : Mathlib.Vector α m)
Goal: (Mathlib.Vector.take n v).toList = List.take n v.toList
-- Mathlib.Vector.get_mem
@[simp]
theorem get_mem (i : Fin n) (v : Vector α n) : v.get i ∈ v.toList 
Arguments: {α : Type u_1} {n : ℕ} (i : Fin n) (v : Mathlib.Vector α n)
Goal: v.get i ∈ v.toList
-- Mathlib.Vector.mem_iff_get
theorem mem_iff_get (v : Vector α n) : a ∈ v.toList ↔ ∃ i, v.get i = a 
Arguments: {α : Type u_1} {n : ℕ} (a : α) (v : Mathlib.Vector α n)
Goal: a ∈ v.toList ↔ ∃ i, v.get i = a