ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Matrix.conjTranspose_fromColumns_eq_fromRows_conjTranspose
lemma conjTranspose_fromColumns_eq_fromRows_conjTranspose (A₁ : Matrix m n₁ R)
    (A₂ : Matrix m n₂ R) :
    conjTranspose (fromColumns A₁ A₂) = fromRows (conjTranspose A₁) (conjTranspose A₂) 
Arguments: {R : Type u_1} {m : Type u_2} {n₁ : Type u_6} {n₂ : Type u_7} [Star R] (A₁ : Matrix m n₁ R) (A₂ : Matrix m n₂ R)
Goal: (A₁.fromColumns A₂).conjTranspose = A₁.conjTranspose.fromRows A₂.conjTranspose
-- Matrix.conjTranspose_fromRows_eq_fromColumns_conjTranspose
lemma conjTranspose_fromRows_eq_fromColumns_conjTranspose (A₁ : Matrix m₁ n R)
    (A₂ : Matrix m₂ n R) : conjTranspose (fromRows A₁ A₂) =
      fromColumns (conjTranspose A₁) (conjTranspose A₂) 
Arguments: {R : Type u_1} {m₁ : Type u_3} {m₂ : Type u_4} {n : Type u_5} [Star R] (A₁ : Matrix m₁ n R) (A₂ : Matrix m₂ n R)
Goal: (A₁.fromRows A₂).conjTranspose = A₁.conjTranspose.fromColumns A₂.conjTranspose
-- MvQPF.Comp.mk_get
@[simp]
protected theorem mk_get (x : Comp F G α) : Comp.mk (Comp.get x) = x 
Arguments: {n m : ℕ} {F : TypeVec.{u} n → Type u_1} {G : Fin2 n → TypeVec.{u} m → Type u} {α : TypeVec.{u} m} (x : MvQPF.Comp F G α)
Goal: MvQPF.Comp.mk x.get = x
-- MvQPF.Comp.get_mk
@[simp]
protected theorem get_mk (x : F fun i ↦ G i α) : Comp.get (Comp.mk x) = x 
Arguments: {n m : ℕ} {F : TypeVec.{u} n → Type u_1} {G : Fin2 n → TypeVec.{u} m → Type u} {α : TypeVec.{u} m} (x : F fun i => G i α)
Goal: (MvQPF.Comp.mk x).get = x
-- MvQPF.Comp.map_mk
theorem map_mk (x : F fun i ↦ G i α) :
    f <$$> Comp.mk x = Comp.mk ((fun i (x : G i α) ↦ f <$$> x) <$$> x) 
Arguments: {n m : ℕ} {F : TypeVec.{u} n → Type u_1} {G : Fin2 n → TypeVec.{u} m → Type u} {α β : TypeVec.{u} m} (f : α.Arrow β) [MvFunctor F] [(i : Fin2 n) → MvFunctor (G i)] (x : F fun i => G i α)
Goal: MvFunctor.map f (MvQPF.Comp.mk x) = MvQPF.Comp.mk (MvFunctor.map (fun i x => MvFunctor.map f x) x)
-- MvQPF.Comp.get_map
theorem get_map (x : Comp F G α) :
    Comp.get (f <$$> x) = (fun i (x : G i α) ↦ f <$$> x) <$$> Comp.get x 
Arguments: {n m : ℕ} {F : TypeVec.{u} n → Type u_1} {G : Fin2 n → TypeVec.{u} m → Type u} {α β : TypeVec.{u} m} (f : α.Arrow β) [MvFunctor F] [(i : Fin2 n) → MvFunctor (G i)] (x : MvQPF.Comp F G α)
Goal: (MvFunctor.map f x).get = MvFunctor.map (fun i x => MvFunctor.map f x) x.get
-- Matroid.indep_iff'
@[ext] structure Matroid (α : Type _) where
    (E : Set α)
    (Base : Set α → Prop)
    (Indep : Set α → Prop)
    (indep_iff' : ∀ ⦃I⦄, Indep I ↔ ∃ B, Base B ∧ I ⊆ B)
    (exists_base : ∃ B, Base B)
    (base_exchange : Matroid.ExchangeProperty Base)
    (maximality : ∀ X, X ⊆ E → Matroid.ExistsMaximalSubsetProperty Indep X)
    (subset_ground : ∀ B, Base B → B ⊆ E)
Arguments: {α : Type u_1} (self : Matroid α) ⦃I : Set α⦄
Goal: self.Indep I ↔ ∃ B, self.Base B ∧ I ⊆ B
-- Matroid.base_exchange
@[ext] structure Matroid (α : Type _) where
    (E : Set α)
    (Base : Set α → Prop)
    (Indep : Set α → Prop)
    (indep_iff' : ∀ ⦃I⦄, Indep I ↔ ∃ B, Base B ∧ I ⊆ B)
    (exists_base : ∃ B, Base B)
    (base_exchange : Matroid.ExchangeProperty Base)
    (maximality : ∀ X, X ⊆ E → Matroid.ExistsMaximalSubsetProperty Indep X)
    (subset_ground : ∀ B, Base B → B ⊆ E)
Arguments: {α : Type u_1} (self : Matroid α)
Goal: Matroid.ExchangeProperty self.Base
-- Matroid.subset_ground
@[ext] structure Matroid (α : Type _) where
    (E : Set α)
    (Base : Set α → Prop)
    (Indep : Set α → Prop)
    (indep_iff' : ∀ ⦃I⦄, Indep I ↔ ∃ B, Base B ∧ I ⊆ B)
    (exists_base : ∃ B, Base B)
    (base_exchange : Matroid.ExchangeProperty Base)
    (maximality : ∀ X, X ⊆ E → Matroid.ExistsMaximalSubsetProperty Indep X)
    (subset_ground : ∀ B, Base B → B ⊆ E)
Arguments: {α : Type u_1} (self : Matroid α) (B : Set α)
Goal: self.Base B → B ⊆ self.E
-- Matroid.maximality
@[ext] structure Matroid (α : Type _) where
    (E : Set α)
    (Base : Set α → Prop)
    (Indep : Set α → Prop)
    (indep_iff' : ∀ ⦃I⦄, Indep I ↔ ∃ B, Base B ∧ I ⊆ B)
    (exists_base : ∃ B, Base B)
    (base_exchange : Matroid.ExchangeProperty Base)
    (maximality : ∀ X, X ⊆ E → Matroid.ExistsMaximalSubsetProperty Indep X)
    (subset_ground : ∀ B, Base B → B ⊆ E)
Arguments: {α : Type u_1} (self : Matroid α) (X : Set α)
Goal: X ⊆ self.E → Matroid.ExistsMaximalSubsetProperty self.Indep X
-- Matroid.exists_base
@[ext] structure Matroid (α : Type _) where
    (E : Set α)
    (Base : Set α → Prop)
    (Indep : Set α → Prop)
    (indep_iff' : ∀ ⦃I⦄, Indep I ↔ ∃ B, Base B ∧ I ⊆ B)
    (exists_base : ∃ B, Base B)
    (base_exchange : Matroid.ExchangeProperty Base)
    (maximality : ∀ X, X ⊆ E → Matroid.ExistsMaximalSubsetProperty Indep X)
    (subset_ground : ∀ B, Base B → B ⊆ E)
Arguments: {α : Type u_1} (self : Matroid α)
Goal: ∃ B, self.Base B
-- Matroid.Finite.ground_finite
protected class Finite (M : Matroid α) : Prop where
    (ground_finite : M.E.Finite)
Arguments: {α : Type u_1} {M : Matroid α} [self : M.Finite]
Goal: M.E.Finite
-- Matroid.Nonempty.ground_nonempty
protected class Nonempty (M : Matroid α) : Prop where
    (ground_nonempty : M.E.Nonempty)
Arguments: {α : Type u_1} {M : Matroid α} [self : M.Nonempty]
Goal: M.E.Nonempty
-- Matroid.ground_nonempty
theorem ground_nonempty (M : Matroid α) [M.Nonempty] : M.E.Nonempty 
Arguments: {α : Type u_1} (M : Matroid α) [M.Nonempty]
Goal: M.E.Nonempty
-- Matroid.ground_nonempty_iff
theorem ground_nonempty_iff (M : Matroid α) : M.E.Nonempty ↔ M.Nonempty 
Arguments: {α : Type u_1} (M : Matroid α)
Goal: M.E.Nonempty ↔ M.Nonempty
-- Matroid.ground_finite
theorem ground_finite (M : Matroid α) [M.Finite] : M.E.Finite 
Arguments: {α : Type u_1} (M : Matroid α) [M.Finite]
Goal: M.E.Finite
-- Matroid.set_finite
theorem set_finite (M : Matroid α) [M.Finite] (X : Set α) (hX : X ⊆ M.E := by aesop) : X.Finite 
Arguments: {α : Type u_1} (M : Matroid α) [M.Finite] (X : Set α) (hX : X ⊆ M.E := by aesop)
Goal: X.Finite
-- Matroid.FiniteRk.exists_finite_base
class FiniteRk (M : Matroid α) : Prop where
    exists_finite_base : ∃ B, M.Base B ∧ B.Finite
Arguments: {α : Type u_1} {M : Matroid α} [self : M.FiniteRk]
Goal: ∃ B, M.Base B ∧ B.Finite
-- Matroid.InfiniteRk.exists_infinite_base
class InfiniteRk (M : Matroid α) : Prop where
    exists_infinite_base : ∃ B, M.Base B ∧ B.Infinite
Arguments: {α : Type u_1} {M : Matroid α} [self : M.InfiniteRk]
Goal: ∃ B, M.Base B ∧ B.Infinite
-- Matroid.RkPos.empty_not_base
class RkPos (M : Matroid α) : Prop where
    empty_not_base : ¬M.Base ∅
Arguments: {α : Type u_1} {M : Matroid α} [self : M.RkPos]
Goal: ¬M.Base ∅
-- Matroid.rkPos_iff_empty_not_base
theorem rkPos_iff_empty_not_base : M.RkPos ↔ ¬M.Base ∅ 
Arguments: {α : Type u_1} {M : Matroid α}
Goal: M.RkPos ↔ ¬M.Base ∅
-- Matroid.ExchangeProperty.antichain
theorem antichain (hB : Base B) (hB' : Base B') (h : B ⊆ B') : B = B' 
Arguments: {α : Type u_1} {Base : Set α → Prop} (exch : Matroid.ExchangeProperty Base) {B B' : Set α} (hB : Base B) (hB' : Base B') (h : B ⊆ B')
Goal: B = B'
-- Matroid.ExchangeProperty.encard_diff_le_aux
theorem encard_diff_le_aux {B₁ B₂ : Set α}
    (exch : ExchangeProperty Base) (hB₁ : Base B₁) (hB₂ : Base B₂) :
    (B₁ \ B₂).encard ≤ (B₂ \ B₁).encard 
Arguments: {α : Type u_1} {Base : Set α → Prop} {B₁ B₂ : Set α} (exch : Matroid.ExchangeProperty Base) (hB₁ : Base B₁) (hB₂ : Base B₂)
Goal: (B₁ \ B₂).encard ≤ (B₂ \ B₁).encard
-- Matroid.ExchangeProperty.encard_diff_eq
theorem encard_diff_eq (hB₁ : Base B₁) (hB₂ : Base B₂) : (B₁ \ B₂).encard = (B₂ \ B₁).encard 
Arguments: {α : Type u_1} {Base : Set α → Prop} (exch : Matroid.ExchangeProperty Base) {B₁ B₂ : Set α} (hB₁ : Base B₁) (hB₂ : Base B₂)
Goal: (B₁ \ B₂).encard = (B₂ \ B₁).encard
-- Matroid.ExchangeProperty.encard_base_eq
theorem encard_base_eq (hB₁ : Base B₁) (hB₂ : Base B₂) : B₁.encard = B₂.encard 
Arguments: {α : Type u_1} {Base : Set α → Prop} (exch : Matroid.ExchangeProperty Base) {B₁ B₂ : Set α} (hB₁ : Base B₁) (hB₂ : Base B₂)
Goal: B₁.encard = B₂.encard
-- _private.Mathlib.Data.Matroid.Basic.0.Matroid.inter_right_subset_ground
@[aesop unsafe 5% (rule_sets := [Matroid])]
private theorem inter_right_subset_ground (hX : X ⊆ M.E) :
    X ∩ Y ⊆ M.E 
Arguments: {α : Type u_1} {M : Matroid α} {X Y : Set α} (hX : X ⊆ M.E)
Goal: X ∩ Y ⊆ M.E
-- _private.Mathlib.Data.Matroid.Basic.0.Matroid.inter_left_subset_ground
@[aesop unsafe 5% (rule_sets := [Matroid])]
private theorem inter_left_subset_ground (hX : X ⊆ M.E) :
    Y ∩ X ⊆ M.E 
Arguments: {α : Type u_1} {M : Matroid α} {X Y : Set α} (hX : X ⊆ M.E)
Goal: Y ∩ X ⊆ M.E
-- _private.Mathlib.Data.Matroid.Basic.0.Matroid.diff_subset_ground
@[aesop unsafe 5% (rule_sets := [Matroid])]
private theorem diff_subset_ground (hX : X ⊆ M.E) : X \ Y ⊆ M.E 
Arguments: {α : Type u_1} {M : Matroid α} {X Y : Set α} (hX : X ⊆ M.E)
Goal: X \ Y ⊆ M.E
-- _private.Mathlib.Data.Matroid.Basic.0.Matroid.ground_diff_subset_ground
@[aesop unsafe 10% (rule_sets := [Matroid])]
private theorem ground_diff_subset_ground : M.E \ X ⊆ M.E 
Arguments: {α : Type u_1} {M : Matroid α} {X : Set α}
Goal: M.E \ X ⊆ M.E
-- _private.Mathlib.Data.Matroid.Basic.0.Matroid.singleton_subset_ground
@[aesop unsafe 10% (rule_sets := [Matroid])]
private theorem singleton_subset_ground (he : e ∈ M.E) : {e} ⊆ M.E 
Arguments: {α : Type u_1} {M : Matroid α} {e : α} (he : e ∈ M.E)
Goal: {e} ⊆ M.E
-- _private.Mathlib.Data.Matroid.Basic.0.Matroid.subset_ground_of_subset
@[aesop unsafe 5% (rule_sets := [Matroid])]
private theorem subset_ground_of_subset (hXY : X ⊆ Y) (hY : Y ⊆ M.E) : X ⊆ M.E 
Arguments: {α : Type u_1} {M : Matroid α} {X Y : Set α} (hXY : X ⊆ Y) (hY : Y ⊆ M.E)
Goal: X ⊆ M.E
-- _private.Mathlib.Data.Matroid.Basic.0.Matroid.mem_ground_of_mem_of_subset
@[aesop unsafe 5% (rule_sets := [Matroid])]
private theorem mem_ground_of_mem_of_subset (hX : X ⊆ M.E) (heX : e ∈ X) : e ∈ M.E 
Arguments: {α : Type u_1} {M : Matroid α} {X : Set α} {e : α} (hX : X ⊆ M.E) (heX : e ∈ X)
Goal: e ∈ M.E
-- _private.Mathlib.Data.Matroid.Basic.0.Matroid.insert_subset_ground
@[aesop safe (rule_sets := [Matroid])]
private theorem insert_subset_ground {e : α} {X : Set α} {M : Matroid α}
    (he : e ∈ M.E) (hX : X ⊆ M.E) : insert e X ⊆ M.E 
Arguments: {α : Type u_1} {e : α} {X : Set α} {M : Matroid α} (he : e ∈ M.E) (hX : X ⊆ M.E)
Goal: insert e X ⊆ M.E
-- _private.Mathlib.Data.Matroid.Basic.0.Matroid.ground_subset_ground
@[aesop safe (rule_sets := [Matroid])]
private theorem ground_subset_ground {M : Matroid α} : M.E ⊆ M.E 
Arguments: {α : Type u_1} {M : Matroid α}
Goal: M.E ⊆ M.E
-- Matroid.Base.subset_ground
@[aesop unsafe 10% (rule_sets := [Matroid])]
theorem Base.subset_ground (hB : M.Base B) : B ⊆ M.E 
Arguments: {α : Type u_1} {M : Matroid α} {B : Set α} (hB : M.Base B)
Goal: B ⊆ M.E
-- Matroid.Base.exchange
theorem Base.exchange {e : α} (hB₁ : M.Base B₁) (hB₂ : M.Base B₂) (hx : e ∈ B₁ \ B₂) :
    ∃ y ∈ B₂ \ B₁, M.Base (insert y (B₁ \ {e}))  
Arguments: {α : Type u_1} {M : Matroid α} {B₁ B₂ : Set α} {e : α} (hB₁ : M.Base B₁) (hB₂ : M.Base B₂) (hx : e ∈ B₁ \ B₂)
Goal: ∃ y ∈ B₂ \ B₁, M.Base (insert y (B₁ \ {e}))
-- Matroid.Base.exchange_mem
theorem Base.exchange_mem {e : α}
    (hB₁ : M.Base B₁) (hB₂ : M.Base B₂) (hxB₁ : e ∈ B₁) (hxB₂ : e ∉ B₂) :
    ∃ y, (y ∈ B₂ ∧ y ∉ B₁) ∧ M.Base (insert y (B₁ \ {e})) 
Arguments: {α : Type u_1} {M : Matroid α} {B₁ B₂ : Set α} {e : α} (hB₁ : M.Base B₁) (hB₂ : M.Base B₂) (hxB₁ : e ∈ B₁) (hxB₂ : e ∉ B₂)
Goal: ∃ y, (y ∈ B₂ ∧ y ∉ B₁) ∧ M.Base (insert y (B₁ \ {e}))
-- Matroid.Base.eq_of_subset_base
theorem Base.eq_of_subset_base (hB₁ : M.Base B₁) (hB₂ : M.Base B₂) (hB₁B₂ : B₁ ⊆ B₂) :
    B₁ = B₂ 
Arguments: {α : Type u_1} {M : Matroid α} {B₁ B₂ : Set α} (hB₁ : M.Base B₁) (hB₂ : M.Base B₂) (hB₁B₂ : B₁ ⊆ B₂)
Goal: B₁ = B₂
-- Matroid.Base.not_base_of_ssubset
theorem Base.not_base_of_ssubset {X : Set α} (hB : M.Base B) (hX : X ⊂ B) : ¬ M.Base X 
Arguments: {α : Type u_1} {M : Matroid α} {B X : Set α} (hB : M.Base B) (hX : X ⊂ B)
Goal: ¬M.Base X
-- Matroid.Base.insert_not_base
theorem Base.insert_not_base {e : α} (hB : M.Base B) (heB : e ∉ B) : ¬ M.Base (insert e B) 
Arguments: {α : Type u_1} {M : Matroid α} {B : Set α} {e : α} (hB : M.Base B) (heB : e ∉ B)
Goal: ¬M.Base (insert e B)
-- Matroid.Base.encard_diff_comm
theorem Base.encard_diff_comm (hB₁ : M.Base B₁) (hB₂ : M.Base B₂) :
    (B₁ \ B₂).encard = (B₂ \ B₁).encard 
Arguments: {α : Type u_1} {M : Matroid α} {B₁ B₂ : Set α} (hB₁ : M.Base B₁) (hB₂ : M.Base B₂)
Goal: (B₁ \ B₂).encard = (B₂ \ B₁).encard
-- Matroid.Base.ncard_diff_comm
theorem Base.ncard_diff_comm (hB₁ : M.Base B₁) (hB₂ : M.Base B₂) :
    (B₁ \ B₂).ncard = (B₂ \ B₁).ncard 
Arguments: {α : Type u_1} {M : Matroid α} {B₁ B₂ : Set α} (hB₁ : M.Base B₁) (hB₂ : M.Base B₂)
Goal: (B₁ \ B₂).ncard = (B₂ \ B₁).ncard
-- Matroid.Base.card_eq_card_of_base
theorem Base.card_eq_card_of_base (hB₁ : M.Base B₁) (hB₂ : M.Base B₂) :
    B₁.encard = B₂.encard 
Arguments: {α : Type u_1} {M : Matroid α} {B₁ B₂ : Set α} (hB₁ : M.Base B₁) (hB₂ : M.Base B₂)
Goal: B₁.encard = B₂.encard
-- Matroid.Base.ncard_eq_ncard_of_base
theorem Base.ncard_eq_ncard_of_base (hB₁ : M.Base B₁) (hB₂ : M.Base B₂) : B₁.ncard = B₂.ncard 
Arguments: {α : Type u_1} {M : Matroid α} {B₁ B₂ : Set α} (hB₁ : M.Base B₁) (hB₂ : M.Base B₂)
Goal: B₁.ncard = B₂.ncard
-- Matroid.Base.finite_of_finite
theorem Base.finite_of_finite {B' : Set α}
    (hB : M.Base B) (h : B.Finite) (hB' : M.Base B') : B'.Finite 
Arguments: {α : Type u_1} {M : Matroid α} {B B' : Set α} (hB : M.Base B) (h : B.Finite) (hB' : M.Base B')
Goal: B'.Finite
-- Matroid.Base.infinite_of_infinite
theorem Base.infinite_of_infinite (hB : M.Base B) (h : B.Infinite) (hB₁ : M.Base B₁) :
    B₁.Infinite 
Arguments: {α : Type u_1} {M : Matroid α} {B B₁ : Set α} (hB : M.Base B) (h : B.Infinite) (hB₁ : M.Base B₁)
Goal: B₁.Infinite
-- Matroid.Base.finite
theorem Base.finite [FiniteRk M] (hB : M.Base B) : B.Finite 
Arguments: {α : Type u_1} {M : Matroid α} {B : Set α} [M.FiniteRk] (hB : M.Base B)
Goal: B.Finite
-- Matroid.Base.infinite
theorem Base.infinite [InfiniteRk M] (hB : M.Base B) : B.Infinite 
Arguments: {α : Type u_1} {M : Matroid α} {B : Set α} [M.InfiniteRk] (hB : M.Base B)
Goal: B.Infinite
-- Matroid.empty_not_base
theorem empty_not_base [h : RkPos M] : ¬M.Base ∅ 
Arguments: {α : Type u_1} {M : Matroid α} [h : M.RkPos]
Goal: ¬M.Base ∅
-- Matroid.Base.nonempty
theorem Base.nonempty [RkPos M] (hB : M.Base B) : B.Nonempty 
Arguments: {α : Type u_1} {M : Matroid α} {B : Set α} [M.RkPos] (hB : M.Base B)
Goal: B.Nonempty
-- Matroid.Base.rkPos_of_nonempty
theorem Base.rkPos_of_nonempty (hB : M.Base B) (h : B.Nonempty) : M.RkPos 
Arguments: {α : Type u_1} {M : Matroid α} {B : Set α} (hB : M.Base B) (h : B.Nonempty)
Goal: M.RkPos
-- Matroid.Base.finiteRk_of_finite
theorem Base.finiteRk_of_finite (hB : M.Base B) (hfin : B.Finite) : FiniteRk M 
Arguments: {α : Type u_1} {M : Matroid α} {B : Set α} (hB : M.Base B) (hfin : B.Finite)
Goal: M.FiniteRk
-- Matroid.Base.infiniteRk_of_infinite
theorem Base.infiniteRk_of_infinite (hB : M.Base B) (h : B.Infinite) : InfiniteRk M 
Arguments: {α : Type u_1} {M : Matroid α} {B : Set α} (hB : M.Base B) (h : B.Infinite)
Goal: M.InfiniteRk
-- Matroid.not_finiteRk
theorem not_finiteRk (M : Matroid α) [InfiniteRk M] : ¬ FiniteRk M 
Arguments: {α : Type u_1} (M : Matroid α) [M.InfiniteRk]
Goal: ¬M.FiniteRk
-- Matroid.not_infiniteRk
theorem not_infiniteRk (M : Matroid α) [FiniteRk M] : ¬ InfiniteRk M 
Arguments: {α : Type u_1} (M : Matroid α) [M.FiniteRk]
Goal: ¬M.InfiniteRk
-- Matroid.finite_or_infiniteRk
theorem finite_or_infiniteRk (M : Matroid α) : FiniteRk M ∨ InfiniteRk M 
Arguments: {α : Type u_1} (M : Matroid α)
Goal: M.FiniteRk ∨ M.InfiniteRk
-- Matroid.Base.diff_finite_comm
theorem Base.diff_finite_comm (hB₁ : M.Base B₁) (hB₂ : M.Base B₂) :
    (B₁ \ B₂).Finite ↔ (B₂ \ B₁).Finite 
Arguments: {α : Type u_1} {M : Matroid α} {B₁ B₂ : Set α} (hB₁ : M.Base B₁) (hB₂ : M.Base B₂)
Goal: (B₁ \ B₂).Finite ↔ (B₂ \ B₁).Finite
-- Matroid.Base.diff_infinite_comm
theorem Base.diff_infinite_comm (hB₁ : M.Base B₁) (hB₂ : M.Base B₂) :
    (B₁ \ B₂).Infinite ↔ (B₂ \ B₁).Infinite 
Arguments: {α : Type u_1} {M : Matroid α} {B₁ B₂ : Set α} (hB₁ : M.Base B₁) (hB₂ : M.Base B₂)
Goal: (B₁ \ B₂).Infinite ↔ (B₂ \ B₁).Infinite
-- Matroid.eq_of_base_iff_base_forall
theorem eq_of_base_iff_base_forall {M₁ M₂ : Matroid α} (hE : M₁.E = M₂.E)
    (h : ∀ ⦃B⦄, B ⊆ M₁.E → (M₁.Base B ↔ M₂.Base B)) : M₁ = M₂ 
Arguments: {α : Type u_1} {M₁ M₂ : Matroid α} (hE : M₁.E = M₂.E) (h : ∀ ⦃B : Set α⦄, B ⊆ M₁.E → (M₁.Base B ↔ M₂.Base B))
Goal: M₁ = M₂
-- Matroid.base_compl_iff_mem_maximals_disjoint_base
theorem base_compl_iff_mem_maximals_disjoint_base (hB : B ⊆ M.E := by aesop_mat) :
    M.Base (M.E \ B) ↔ B ∈ maximals (· ⊆ ·) {I | I ⊆ M.E ∧ ∃ B, M.Base B ∧ Disjoint I B} 
Arguments: {α : Type u_1} {M : Matroid α} {B : Set α} (hB : B ⊆ M.E := by aesop_mat)
Goal: M.Base (M.E \ B) ↔ B ∈ maximals (fun x x_1 => x ⊆ x_1) {I | I ⊆ M.E ∧ ∃ B, M.Base B ∧ Disjoint I B}
-- Matroid.indep_iff
theorem indep_iff : M.Indep I ↔ ∃ B, M.Base B ∧ I ⊆ B 
Arguments: {α : Type u_1} {M : Matroid α} {I : Set α}
Goal: M.Indep I ↔ ∃ B, M.Base B ∧ I ⊆ B
-- Matroid.setOf_indep_eq
theorem setOf_indep_eq (M : Matroid α) : {I | M.Indep I} = lowerClosure ({B | M.Base B}) 
Arguments: {α : Type u_1} (M : Matroid α)
Goal: {I | M.Indep I} = ↑(lowerClosure {B | M.Base B})
-- Matroid.Indep.exists_base_superset
theorem Indep.exists_base_superset (hI : M.Indep I) : ∃ B, M.Base B ∧ I ⊆ B 
Arguments: {α : Type u_1} {M : Matroid α} {I : Set α} (hI : M.Indep I)
Goal: ∃ B, M.Base B ∧ I ⊆ B
-- Matroid.dep_iff
theorem dep_iff : M.Dep D ↔ ¬M.Indep D ∧ D ⊆ M.E 
Arguments: {α : Type u_1} {M : Matroid α} {D : Set α}
Goal: M.Dep D ↔ ¬M.Indep D ∧ D ⊆ M.E
-- Matroid.setOf_dep_eq
theorem setOf_dep_eq (M : Matroid α) : {D | M.Dep D} = {I | M.Indep I}ᶜ ∩ Iic M.E 
Arguments: {α : Type u_1} (M : Matroid α)
Goal: {D | M.Dep D} = {I | M.Indep I}ᶜ ∩ Set.Iic M.E
-- Matroid.Indep.subset_ground
@[aesop unsafe 30% (rule_sets := [Matroid])]
theorem Indep.subset_ground (hI : M.Indep I) : I ⊆ M.E 
Arguments: {α : Type u_1} {M : Matroid α} {I : Set α} (hI : M.Indep I)
Goal: I ⊆ M.E
-- Matroid.Dep.subset_ground
@[aesop unsafe 20% (rule_sets := [Matroid])]
theorem Dep.subset_ground (hD : M.Dep D) : D ⊆ M.E 
Arguments: {α : Type u_1} {M : Matroid α} {D : Set α} (hD : M.Dep D)
Goal: D ⊆ M.E
-- Matroid.indep_or_dep
theorem indep_or_dep (hX : X ⊆ M.E := by aesop_mat) : M.Indep X ∨ M.Dep X 
Arguments: {α : Type u_1} {M : Matroid α} {X : Set α} (hX : X ⊆ M.E := by aesop_mat)
Goal: M.Indep X ∨ M.Dep X
-- Matroid.Indep.not_dep
theorem Indep.not_dep (hI : M.Indep I) : ¬ M.Dep I 
Arguments: {α : Type u_1} {M : Matroid α} {I : Set α} (hI : M.Indep I)
Goal: ¬M.Dep I
-- Matroid.Dep.not_indep
theorem Dep.not_indep (hD : M.Dep D) : ¬ M.Indep D 
Arguments: {α : Type u_1} {M : Matroid α} {D : Set α} (hD : M.Dep D)
Goal: ¬M.Indep D
-- Matroid.dep_of_not_indep
theorem dep_of_not_indep (hD : ¬ M.Indep D) (hDE : D ⊆ M.E := by aesop_mat) : M.Dep D 
Arguments: {α : Type u_1} {M : Matroid α} {D : Set α} (hD : ¬M.Indep D) (hDE : D ⊆ M.E := by aesop_mat)
Goal: M.Dep D
-- Matroid.indep_of_not_dep
theorem indep_of_not_dep (hI : ¬ M.Dep I) (hIE : I ⊆ M.E := by aesop_mat) : M.Indep I 
Arguments: {α : Type u_1} {M : Matroid α} {I : Set α} (hI : ¬M.Dep I) (hIE : I ⊆ M.E := by aesop_mat)
Goal: M.Indep I
-- Matroid.not_dep_iff
@[simp] theorem not_dep_iff (hX : X ⊆ M.E := by aesop_mat) : ¬ M.Dep X ↔ M.Indep X 
Arguments: {α : Type u_1} {M : Matroid α} {X : Set α} (hX : X ⊆ M.E := by aesop_mat)
Goal: ¬M.Dep X ↔ M.Indep X
-- Matroid.not_indep_iff
@[simp] theorem not_indep_iff (hX : X ⊆ M.E := by aesop_mat) : ¬ M.Indep X ↔ M.Dep X 
Arguments: {α : Type u_1} {M : Matroid α} {X : Set α} (hX : X ⊆ M.E := by aesop_mat)
Goal: ¬M.Indep X ↔ M.Dep X
-- Matroid.indep_iff_not_dep
theorem indep_iff_not_dep : M.Indep I ↔ ¬M.Dep I ∧ I ⊆ M.E 
Arguments: {α : Type u_1} {M : Matroid α} {I : Set α}
Goal: M.Indep I ↔ ¬M.Dep I ∧ I ⊆ M.E
-- Matroid.Indep.subset
theorem Indep.subset (hJ : M.Indep J) (hIJ : I ⊆ J) : M.Indep I 
Arguments: {α : Type u_1} {M : Matroid α} {I J : Set α} (hJ : M.Indep J) (hIJ : I ⊆ J)
Goal: M.Indep I
-- Matroid.Dep.superset
theorem Dep.superset (hD : M.Dep D) (hDX : D ⊆ X) (hXE : X ⊆ M.E := by aesop_mat) : M.Dep X 
Arguments: {α : Type u_1} {M : Matroid α} {D X : Set α} (hD : M.Dep D) (hDX : D ⊆ X) (hXE : X ⊆ M.E := by aesop_mat)
Goal: M.Dep X
-- Matroid.Base.indep
theorem Base.indep (hB : M.Base B) : M.Indep B 
Arguments: {α : Type u_1} {M : Matroid α} {B : Set α} (hB : M.Base B)
Goal: M.Indep B
-- Matroid.empty_indep
@[simp] theorem empty_indep (M : Matroid α) : M.Indep ∅ 
Arguments: {α : Type u_1} (M : Matroid α)
Goal: M.Indep ∅
-- Matroid.Dep.nonempty
theorem Dep.nonempty (hD : M.Dep D) : D.Nonempty 
Arguments: {α : Type u_1} {M : Matroid α} {D : Set α} (hD : M.Dep D)
Goal: D.Nonempty
-- Matroid.Indep.finite
theorem Indep.finite [FiniteRk M] (hI : M.Indep I) : I.Finite 
Arguments: {α : Type u_1} {M : Matroid α} {I : Set α} [M.FiniteRk] (hI : M.Indep I)
Goal: I.Finite
-- Matroid.Indep.rkPos_of_nonempty
theorem Indep.rkPos_of_nonempty (hI : M.Indep I) (hne : I.Nonempty) : M.RkPos 
Arguments: {α : Type u_1} {M : Matroid α} {I : Set α} (hI : M.Indep I) (hne : I.Nonempty)
Goal: M.RkPos
-- Matroid.Indep.inter_right
theorem Indep.inter_right (hI : M.Indep I) (X : Set α) : M.Indep (I ∩ X) 
Arguments: {α : Type u_1} {M : Matroid α} {I : Set α} (hI : M.Indep I) (X : Set α)
Goal: M.Indep (I ∩ X)
-- Matroid.Indep.inter_left
theorem Indep.inter_left (hI : M.Indep I) (X : Set α) : M.Indep (X ∩ I) 
Arguments: {α : Type u_1} {M : Matroid α} {I : Set α} (hI : M.Indep I) (X : Set α)
Goal: M.Indep (X ∩ I)
-- Matroid.Indep.diff
theorem Indep.diff (hI : M.Indep I) (X : Set α) : M.Indep (I \ X) 
Arguments: {α : Type u_1} {M : Matroid α} {I : Set α} (hI : M.Indep I) (X : Set α)
Goal: M.Indep (I \ X)
-- Matroid.Base.eq_of_subset_indep
theorem Base.eq_of_subset_indep (hB : M.Base B) (hI : M.Indep I) (hBI : B ⊆ I) : B = I 
Arguments: {α : Type u_1} {M : Matroid α} {B I : Set α} (hB : M.Base B) (hI : M.Indep I) (hBI : B ⊆ I)
Goal: B = I
-- Matroid.base_iff_maximal_indep
theorem base_iff_maximal_indep : M.Base B ↔ M.Indep B ∧ ∀ I, M.Indep I → B ⊆ I → B = I 
Arguments: {α : Type u_1} {M : Matroid α} {B : Set α}
Goal: M.Base B ↔ M.Indep B ∧ ∀ (I : Set α), M.Indep I → B ⊆ I → B = I
-- Matroid.setOf_base_eq_maximals_setOf_indep
theorem setOf_base_eq_maximals_setOf_indep : {B | M.Base B} = maximals (· ⊆ ·) {I | M.Indep I} 
Arguments: {α : Type u_1} {M : Matroid α}
Goal: {B | M.Base B} = maximals (fun x x_1 => x ⊆ x_1) {I | M.Indep I}
-- Matroid.Indep.base_of_maximal
theorem Indep.base_of_maximal (hI : M.Indep I) (h : ∀ J, M.Indep J → I ⊆ J → I = J) : M.Base I 
Arguments: {α : Type u_1} {M : Matroid α} {I : Set α} (hI : M.Indep I) (h : ∀ (J : Set α), M.Indep J → I ⊆ J → I = J)
Goal: M.Base I
-- Matroid.Base.dep_of_ssubset
theorem Base.dep_of_ssubset (hB : M.Base B) (h : B ⊂ X) (hX : X ⊆ M.E := by aesop_mat) : M.Dep X 
Arguments: {α : Type u_1} {M : Matroid α} {B X : Set α} (hB : M.Base B) (h : B ⊂ X) (hX : X ⊆ M.E := by aesop_mat)
Goal: M.Dep X
-- Matroid.Base.dep_of_insert
theorem Base.dep_of_insert (hB : M.Base B) (heB : e ∉ B) (he : e ∈ M.E := by aesop_mat) :
    M.Dep (insert e B) 
Arguments: {α : Type u_1} {M : Matroid α} {B : Set α} {e : α} (hB : M.Base B) (heB : e ∉ B) (he : e ∈ M.E := by aesop_mat)
Goal: M.Dep (insert e B)
-- Matroid.Base.mem_of_insert_indep
theorem Base.mem_of_insert_indep (hB : M.Base B) (heB : M.Indep (insert e B)) : e ∈ B 
Arguments: {α : Type u_1} {M : Matroid α} {B : Set α} {e : α} (hB : M.Base B) (heB : M.Indep (insert e B))
Goal: e ∈ B
-- Matroid.Base.eq_exchange_of_diff_eq_singleton
theorem Base.eq_exchange_of_diff_eq_singleton (hB : M.Base B) (hB' : M.Base B') (h : B \ B' = {e}) :
    ∃ f ∈ B' \ B, B' = (insert f B) \ {e} 
Arguments: {α : Type u_1} {M : Matroid α} {B B' : Set α} {e : α} (hB : M.Base B) (hB' : M.Base B') (h : B \ B' = {e})
Goal: ∃ f ∈ B' \ B, B' = insert f B \ {e}
-- Matroid.Base.exchange_base_of_indep
theorem Base.exchange_base_of_indep (hB : M.Base B) (hf : f ∉ B)
    (hI : M.Indep (insert f (B \ {e}))) : M.Base (insert f (B \ {e})) 
Arguments: {α : Type u_1} {M : Matroid α} {B : Set α} {e f : α} (hB : M.Base B) (hf : f ∉ B) (hI : M.Indep (insert f (B \ {e})))
Goal: M.Base (insert f (B \ {e}))