ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Matroid.closure_subset_ground
@[aesop unsafe 10% (rule_sets := [Matroid])]
lemma closure_subset_ground (M : Matroid α) (X : Set α) : M.closure X ⊆ M.E 
Arguments: {α : Type u_2} (M : Matroid α) (X : Set α)
Goal: M.closure X ⊆ M.E
-- Matroid.ground_subset_closure_iff
@[simp] lemma ground_subset_closure_iff : M.E ⊆ M.closure X ↔ M.closure X = M.E 
Arguments: {α : Type u_2} {M : Matroid α} {X : Set α}
Goal: M.E ⊆ M.closure X ↔ M.closure X = M.E
-- Matroid.closure_inter_ground
@[simp] lemma closure_inter_ground (M : Matroid α) (X : Set α) :
    M.closure (X ∩ M.E) = M.closure X 
Arguments: {α : Type u_2} (M : Matroid α) (X : Set α)
Goal: M.closure (X ∩ M.E) = M.closure X
-- Matroid.inter_ground_subset_closure
lemma inter_ground_subset_closure (M : Matroid α) (X : Set α) : X ∩ M.E ⊆ M.closure X 
Arguments: {α : Type u_2} (M : Matroid α) (X : Set α)
Goal: X ∩ M.E ⊆ M.closure X
-- Matroid.mem_closure_iff_forall_mem_flat
lemma mem_closure_iff_forall_mem_flat (X : Set α) (hX : X ⊆ M.E := by aesop_mat) :
    e ∈ M.closure X ↔ ∀ F, M.Flat F → X ⊆ F → e ∈ F 
Arguments: {α : Type u_2} {M : Matroid α} {e : α} (X : Set α) (hX : X ⊆ M.E := by aesop_mat)
Goal: e ∈ M.closure X ↔ ∀ (F : Set α), M.Flat F → X ⊆ F → e ∈ F
-- Matroid.subset_closure_iff_forall_subset_flat
lemma subset_closure_iff_forall_subset_flat (X : Set α) (hX : X ⊆ M.E := by aesop_mat) :
    Y ⊆ M.closure X ↔ ∀ F, M.Flat F → X ⊆ F → Y ⊆ F 
Arguments: {α : Type u_2} {M : Matroid α} {Y : Set α} (X : Set α) (hX : X ⊆ M.E := by aesop_mat)
Goal: Y ⊆ M.closure X ↔ ∀ (F : Set α), M.Flat F → X ⊆ F → Y ⊆ F
-- Matroid.subset_closure
lemma subset_closure (M : Matroid α) (X : Set α) (hX : X ⊆ M.E := by aesop_mat) :
    X ⊆ M.closure X 
Arguments: {α : Type u_2} (M : Matroid α) (X : Set α) (hX : X ⊆ M.E := by aesop_mat)
Goal: X ⊆ M.closure X
-- Matroid.Flat.closure
lemma Flat.closure (hF : M.Flat F) : M.closure F = F 
Arguments: {α : Type u_2} {M : Matroid α} {F : Set α} (hF : M.Flat F)
Goal: M.closure F = F
-- Matroid.closure_ground
@[simp] lemma closure_ground (M : Matroid α) : M.closure M.E = M.E 
Arguments: {α : Type u_2} (M : Matroid α)
Goal: M.closure M.E = M.E
-- Matroid.closure_univ
@[simp] lemma closure_univ (M : Matroid α) : M.closure univ = M.E 
Arguments: {α : Type u_2} (M : Matroid α)
Goal: M.closure Set.univ = M.E
-- Matroid.closure_subset_closure
lemma closure_subset_closure (M : Matroid α) (h : X ⊆ Y) : M.closure X ⊆ M.closure Y 
Arguments: {α : Type u_2} {X Y : Set α} (M : Matroid α) (h : X ⊆ Y)
Goal: M.closure X ⊆ M.closure Y
-- Matroid.closure_mono
lemma closure_mono (M : Matroid α) : Monotone M.closure 
Arguments: {α : Type u_2} (M : Matroid α)
Goal: Monotone M.closure
-- Matroid.closure_closure
@[simp] lemma closure_closure (M : Matroid α) (X : Set α) : M.closure (M.closure X) = M.closure X 
Arguments: {α : Type u_2} (M : Matroid α) (X : Set α)
Goal: M.closure (M.closure X) = M.closure X
-- Matroid.closure_subset_closure_of_subset_closure
lemma closure_subset_closure_of_subset_closure (hXY : X ⊆ M.closure Y) :
    M.closure X ⊆ M.closure Y 
Arguments: {α : Type u_2} {M : Matroid α} {X Y : Set α} (hXY : X ⊆ M.closure Y)
Goal: M.closure X ⊆ M.closure Y
-- Matroid.closure_subset_closure_iff_subset_closure
lemma closure_subset_closure_iff_subset_closure (hX : X ⊆ M.E := by aesop_mat) :
    M.closure X ⊆ M.closure Y ↔ X ⊆ M.closure Y 
Arguments: {α : Type u_2} {M : Matroid α} {X Y : Set α} (hX : X ⊆ M.E := by aesop_mat)
Goal: M.closure X ⊆ M.closure Y ↔ X ⊆ M.closure Y
-- Matroid.subset_closure_of_subset
lemma subset_closure_of_subset (M : Matroid α) (hXY : X ⊆ Y) (hY : Y ⊆ M.E := by aesop_mat) :
    X ⊆ M.closure Y 
Arguments: {α : Type u_2} {X Y : Set α} (M : Matroid α) (hXY : X ⊆ Y) (hY : Y ⊆ M.E := by aesop_mat)
Goal: X ⊆ M.closure Y
-- Matroid.subset_closure_of_subset'
lemma subset_closure_of_subset' (M : Matroid α) (hXY : X ⊆ Y) (hX : X ⊆ M.E := by aesop_mat) :
    X ⊆ M.closure Y 
Arguments: {α : Type u_2} {X Y : Set α} (M : Matroid α) (hXY : X ⊆ Y) (hX : X ⊆ M.E := by aesop_mat)
Goal: X ⊆ M.closure Y
-- Matroid.exists_of_closure_ssubset
lemma exists_of_closure_ssubset (hXY : M.closure X ⊂ M.closure Y) : ∃ e ∈ Y, e ∉ M.closure X 
Arguments: {α : Type u_2} {M : Matroid α} {X Y : Set α} (hXY : M.closure X ⊂ M.closure Y)
Goal: ∃ e ∈ Y, e ∉ M.closure X
-- Matroid.mem_closure_of_mem
lemma mem_closure_of_mem (M : Matroid α) (h : e ∈ X) (hX : X ⊆ M.E := by aesop_mat) :
    e ∈ M.closure X 
Arguments: {α : Type u_2} {X : Set α} {e : α} (M : Matroid α) (h : e ∈ X) (hX : X ⊆ M.E := by aesop_mat)
Goal: e ∈ M.closure X
-- Matroid.mem_closure_of_mem'
lemma mem_closure_of_mem' (M : Matroid α) (heX : e ∈ X) (h : e ∈ M.E := by aesop_mat) :
    e ∈ M.closure X 
Arguments: {α : Type u_2} {X : Set α} {e : α} (M : Matroid α) (heX : e ∈ X) (h : e ∈ M.E := by aesop_mat)
Goal: e ∈ M.closure X
-- Matroid.not_mem_of_mem_diff_closure
lemma not_mem_of_mem_diff_closure (he : e ∈ M.E \ M.closure X) : e ∉ X 
Arguments: {α : Type u_2} {M : Matroid α} {X : Set α} {e : α} (he : e ∈ M.E \ M.closure X)
Goal: e ∉ X
-- Matroid.mem_ground_of_mem_closure
@[aesop unsafe 10% (rule_sets := [Matroid])]
lemma mem_ground_of_mem_closure (he : e ∈ M.closure X) : e ∈ M.E 
Arguments: {α : Type u_2} {M : Matroid α} {X : Set α} {e : α} (he : e ∈ M.closure X)
Goal: e ∈ M.E
-- Matroid.closure_iUnion_closure_eq_closure_iUnion
lemma closure_iUnion_closure_eq_closure_iUnion (M : Matroid α) (Xs : ι → Set α) :
    M.closure (⋃ i, M.closure (Xs i)) = M.closure (⋃ i, Xs i) 
Arguments: {ι : Type u_1} {α : Type u_2} (M : Matroid α) (Xs : ι → Set α)
Goal: M.closure (⋃ i, M.closure (Xs i)) = M.closure (⋃ i, Xs i)
-- Matroid.closure_iUnion_congr
lemma closure_iUnion_congr (Xs Ys : ι → Set α) (h : ∀ i, M.closure (Xs i) = M.closure (Ys i)) :
    M.closure (⋃ i, Xs i) = M.closure (⋃ i, Ys i) 
Arguments: {ι : Type u_1} {α : Type u_2} {M : Matroid α} (Xs Ys : ι → Set α) (h : ∀ (i : ι), M.closure (Xs i) = M.closure (Ys i))
Goal: M.closure (⋃ i, Xs i) = M.closure (⋃ i, Ys i)
-- Matroid.closure_biUnion_closure_eq_closure_sUnion
lemma closure_biUnion_closure_eq_closure_sUnion (M : Matroid α) (Xs : Set (Set α)) :
    M.closure (⋃ X ∈ Xs, M.closure X) = M.closure (⋃₀ Xs) 
Arguments: {α : Type u_2} (M : Matroid α) (Xs : Set (Set α))
Goal: M.closure (⋃ X ∈ Xs, M.closure X) = M.closure (⋃₀ Xs)
-- Matroid.closure_biUnion_closure_eq_closure_biUnion
lemma closure_biUnion_closure_eq_closure_biUnion (M : Matroid α) (Xs : ι → Set α) (A : Set ι) :
    M.closure (⋃ i ∈ A, M.closure (Xs i)) = M.closure (⋃ i ∈ A, Xs i) 
Arguments: {ι : Type u_1} {α : Type u_2} (M : Matroid α) (Xs : ι → Set α) (A : Set ι)
Goal: M.closure (⋃ i ∈ A, M.closure (Xs i)) = M.closure (⋃ i ∈ A, Xs i)
-- Matroid.closure_biUnion_congr
lemma closure_biUnion_congr (M : Matroid α) (Xs Ys : ι → Set α) (A : Set ι)
    (h : ∀ i ∈ A, M.closure (Xs i) = M.closure (Ys i)) :
    M.closure (⋃ i ∈ A, Xs i) = M.closure (⋃ i ∈ A, Ys i) 
Arguments: {ι : Type u_1} {α : Type u_2} (M : Matroid α) (Xs Ys : ι → Set α) (A : Set ι) (h : ∀ i ∈ A, M.closure (Xs i) = M.closure (Ys i))
Goal: M.closure (⋃ i ∈ A, Xs i) = M.closure (⋃ i ∈ A, Ys i)
-- Matroid.closure_closure_union_closure_eq_closure_union
lemma closure_closure_union_closure_eq_closure_union (M : Matroid α) (X Y : Set α) :
    M.closure (M.closure X ∪ M.closure Y) = M.closure (X ∪ Y) 
Arguments: {α : Type u_2} (M : Matroid α) (X Y : Set α)
Goal: M.closure (M.closure X ∪ M.closure Y) = M.closure (X ∪ Y)
-- Matroid.closure_union_closure_right_eq
@[simp] lemma closure_union_closure_right_eq (M : Matroid α) (X Y : Set α) :
    M.closure (X ∪ M.closure Y) = M.closure (X ∪ Y) 
Arguments: {α : Type u_2} (M : Matroid α) (X Y : Set α)
Goal: M.closure (X ∪ M.closure Y) = M.closure (X ∪ Y)
-- Matroid.closure_union_closure_left_eq
@[simp] lemma closure_union_closure_left_eq (M : Matroid α) (X Y : Set α) :
    M.closure (M.closure X ∪ Y) = M.closure (X ∪ Y) 
Arguments: {α : Type u_2} (M : Matroid α) (X Y : Set α)
Goal: M.closure (M.closure X ∪ Y) = M.closure (X ∪ Y)
-- Matroid.closure_insert_closure_eq_closure_insert
@[simp] lemma closure_insert_closure_eq_closure_insert (M : Matroid α) (e : α) (X : Set α) :
    M.closure (insert e (M.closure X)) = M.closure (insert e X) 
Arguments: {α : Type u_2} (M : Matroid α) (e : α) (X : Set α)
Goal: M.closure (insert e (M.closure X)) = M.closure (insert e X)
-- Matroid.closure_union_closure_empty_eq
@[simp] lemma closure_union_closure_empty_eq (M : Matroid α) (X : Set α) :
    M.closure X ∪ M.closure ∅ = M.closure X 
Arguments: {α : Type u_2} (M : Matroid α) (X : Set α)
Goal: M.closure X ∪ M.closure ∅ = M.closure X
-- Matroid.closure_empty_union_closure_eq
@[simp] lemma closure_empty_union_closure_eq (M : Matroid α) (X : Set α) :
    M.closure ∅ ∪ M.closure X = M.closure X 
Arguments: {α : Type u_2} (M : Matroid α) (X : Set α)
Goal: M.closure ∅ ∪ M.closure X = M.closure X
-- Matroid.closure_insert_eq_of_mem_closure
lemma closure_insert_eq_of_mem_closure (he : e ∈ M.closure X) :
    M.closure (insert e X) = M.closure X 
Arguments: {α : Type u_2} {M : Matroid α} {X : Set α} {e : α} (he : e ∈ M.closure X)
Goal: M.closure (insert e X) = M.closure X
-- Matroid.mem_closure_self
lemma mem_closure_self (M : Matroid α) (e : α) (he : e ∈ M.E := by aesop_mat) : e ∈ M.closure {e} 
Arguments: {α : Type u_2} (M : Matroid α) (e : α) (he : e ∈ M.E := by aesop_mat)
Goal: e ∈ M.closure {e}
-- Matroid.Indep.closure_eq_setOf_basis_insert
lemma Indep.closure_eq_setOf_basis_insert (hI : M.Indep I) :
    M.closure I = {x | M.Basis I (insert x I)} 
Arguments: {α : Type u_2} {M : Matroid α} {I : Set α} (hI : M.Indep I)
Goal: M.closure I = {x | M.Basis I (insert x I)}
-- Matroid.Indep.insert_basis_iff_mem_closure
lemma Indep.insert_basis_iff_mem_closure (hI : M.Indep I) :
    M.Basis I (insert e I) ↔ e ∈ M.closure I 
Arguments: {α : Type u_2} {M : Matroid α} {e : α} {I : Set α} (hI : M.Indep I)
Goal: M.Basis I (insert e I) ↔ e ∈ M.closure I
-- Matroid.Indep.basis_closure
lemma Indep.basis_closure (hI : M.Indep I) : M.Basis I (M.closure I) 
Arguments: {α : Type u_2} {M : Matroid α} {I : Set α} (hI : M.Indep I)
Goal: M.Basis I (M.closure I)
-- Matroid.Basis.closure_eq_closure
lemma Basis.closure_eq_closure (h : M.Basis I X) : M.closure I = M.closure X 
Arguments: {α : Type u_2} {M : Matroid α} {X I : Set α} (h : M.Basis I X)
Goal: M.closure I = M.closure X
-- Matroid.Basis.closure_eq_right
lemma Basis.closure_eq_right (h : M.Basis I (M.closure X)) : M.closure I = M.closure X 
Arguments: {α : Type u_2} {M : Matroid α} {X I : Set α} (h : M.Basis I (M.closure X))
Goal: M.closure I = M.closure X
-- Matroid.Basis'.closure_eq_closure
lemma Basis'.closure_eq_closure (h : M.Basis' I X) : M.closure I = M.closure X 
Arguments: {α : Type u_2} {M : Matroid α} {X I : Set α} (h : M.Basis' I X)
Goal: M.closure I = M.closure X
-- Matroid.Basis.subset_closure
lemma Basis.subset_closure (h : M.Basis I X) : X ⊆ M.closure I 
Arguments: {α : Type u_2} {M : Matroid α} {X I : Set α} (h : M.Basis I X)
Goal: X ⊆ M.closure I
-- Matroid.Basis'.basis_closure_right
lemma Basis'.basis_closure_right (h : M.Basis' I X) : M.Basis I (M.closure X) 
Arguments: {α : Type u_2} {M : Matroid α} {X I : Set α} (h : M.Basis' I X)
Goal: M.Basis I (M.closure X)
-- Matroid.Basis.basis_closure_right
lemma Basis.basis_closure_right (h : M.Basis I X) : M.Basis I (M.closure X) 
Arguments: {α : Type u_2} {M : Matroid α} {X I : Set α} (h : M.Basis I X)
Goal: M.Basis I (M.closure X)
-- Matroid.Indep.mem_closure_iff
lemma Indep.mem_closure_iff (hI : M.Indep I) :
    x ∈ M.closure I ↔ M.Dep (insert x I) ∨ x ∈ I 
Arguments: {α : Type u_2} {M : Matroid α} {I : Set α} {x : α} (hI : M.Indep I)
Goal: x ∈ M.closure I ↔ M.Dep (insert x I) ∨ x ∈ I
-- Matroid.Indep.mem_closure_iff'
lemma Indep.mem_closure_iff' (hI : M.Indep I) :
    x ∈ M.closure I ↔ x ∈ M.E ∧ (M.Indep (insert x I) → x ∈ I) 
Arguments: {α : Type u_2} {M : Matroid α} {I : Set α} {x : α} (hI : M.Indep I)
Goal: x ∈ M.closure I ↔ x ∈ M.E ∧ (M.Indep (insert x I) → x ∈ I)
-- Matroid.Indep.insert_dep_iff
lemma Indep.insert_dep_iff (hI : M.Indep I) : M.Dep (insert e I) ↔ e ∈ M.closure I \ I 
Arguments: {α : Type u_2} {M : Matroid α} {e : α} {I : Set α} (hI : M.Indep I)
Goal: M.Dep (insert e I) ↔ e ∈ M.closure I \ I
-- Matroid.Indep.mem_closure_iff_of_not_mem
lemma Indep.mem_closure_iff_of_not_mem (hI : M.Indep I) (heI : e ∉ I) :
    e ∈ M.closure I ↔ M.Dep (insert e I) 
Arguments: {α : Type u_2} {M : Matroid α} {e : α} {I : Set α} (hI : M.Indep I) (heI : e ∉ I)
Goal: e ∈ M.closure I ↔ M.Dep (insert e I)
-- Matroid.Indep.not_mem_closure_iff
lemma Indep.not_mem_closure_iff (hI : M.Indep I) (he : e ∈ M.E := by aesop_mat) :
    e ∉ M.closure I ↔ M.Indep (insert e I) ∧ e ∉ I 
Arguments: {α : Type u_2} {M : Matroid α} {e : α} {I : Set α} (hI : M.Indep I) (he : e ∈ M.E := by aesop_mat)
Goal: e ∉ M.closure I ↔ M.Indep (insert e I) ∧ e ∉ I
-- Matroid.Indep.not_mem_closure_iff_of_not_mem
lemma Indep.not_mem_closure_iff_of_not_mem (hI : M.Indep I) (heI : e ∉ I)
    (he : e ∈ M.E := by aesop_mat) : e ∉ M.closure I ↔ M.Indep (insert e I) 
Arguments: {α : Type u_2} {M : Matroid α} {e : α} {I : Set α} (hI : M.Indep I) (heI : e ∉ I) (he : e ∈ M.E := by aesop_mat)
Goal: e ∉ M.closure I ↔ M.Indep (insert e I)
-- Matroid.Indep.insert_indep_iff_of_not_mem
lemma Indep.insert_indep_iff_of_not_mem (hI : M.Indep I) (heI : e ∉ I) :
    M.Indep (insert e I) ↔ e ∈ M.E \ M.closure I 
Arguments: {α : Type u_2} {M : Matroid α} {e : α} {I : Set α} (hI : M.Indep I) (heI : e ∉ I)
Goal: M.Indep (insert e I) ↔ e ∈ M.E \ M.closure I
-- Matroid.Indep.insert_indep_iff
lemma Indep.insert_indep_iff (hI : M.Indep I) :
    M.Indep (insert e I) ↔ e ∈ M.E \ M.closure I ∨ e ∈ I 
Arguments: {α : Type u_2} {M : Matroid α} {e : α} {I : Set α} (hI : M.Indep I)
Goal: M.Indep (insert e I) ↔ e ∈ M.E \ M.closure I ∨ e ∈ I
-- Matroid.insert_indep_iff
lemma insert_indep_iff : M.Indep (insert e I) ↔ M.Indep I ∧ (e ∉ I → e ∈ M.E \ M.closure I) 
Arguments: {α : Type u_2} {M : Matroid α} {e : α} {I : Set α}
Goal: M.Indep (insert e I) ↔ M.Indep I ∧ (e ∉ I → e ∈ M.E \ M.closure I)
-- Matroid.Indep.insert_diff_indep_iff
lemma Indep.insert_diff_indep_iff (hI : M.Indep (I \ {e})) (heI : e ∈ I) :
    M.Indep (insert f I \ {e}) ↔ f ∈ M.E \ M.closure (I \ {e}) ∨ f ∈ I 
Arguments: {α : Type u_2} {M : Matroid α} {e : α} {I : Set α} {f : α} (hI : M.Indep (I \ {e})) (heI : e ∈ I)
Goal: M.Indep (insert f I \ {e}) ↔ f ∈ M.E \ M.closure (I \ {e}) ∨ f ∈ I
-- Matroid.Indep.basis_of_subset_of_subset_closure
lemma Indep.basis_of_subset_of_subset_closure (hI : M.Indep I) (hIX : I ⊆ X)
    (hXI : X ⊆ M.closure I) : M.Basis I X 
Arguments: {α : Type u_2} {M : Matroid α} {X I : Set α} (hI : M.Indep I) (hIX : I ⊆ X) (hXI : X ⊆ M.closure I)
Goal: M.Basis I X
-- Matroid.basis_iff_indep_subset_closure
lemma basis_iff_indep_subset_closure : M.Basis I X ↔ M.Indep I ∧ I ⊆ X ∧ X ⊆ M.closure I 
Arguments: {α : Type u_2} {M : Matroid α} {X I : Set α}
Goal: M.Basis I X ↔ M.Indep I ∧ I ⊆ X ∧ X ⊆ M.closure I
-- Matroid.Indep.base_of_ground_subset_closure
lemma Indep.base_of_ground_subset_closure (hI : M.Indep I) (h : M.E ⊆ M.closure I) : M.Base I 
Arguments: {α : Type u_2} {M : Matroid α} {I : Set α} (hI : M.Indep I) (h : M.E ⊆ M.closure I)
Goal: M.Base I
-- Matroid.Base.closure_eq
lemma Base.closure_eq (hB : M.Base B) : M.closure B = M.E 
Arguments: {α : Type u_2} {M : Matroid α} {B : Set α} (hB : M.Base B)
Goal: M.closure B = M.E
-- Matroid.Base.closure_of_superset
lemma Base.closure_of_superset (hB : M.Base B) (hBX : B ⊆ X) : M.closure X = M.E 
Arguments: {α : Type u_2} {M : Matroid α} {X B : Set α} (hB : M.Base B) (hBX : B ⊆ X)
Goal: M.closure X = M.E
-- Matroid.base_iff_indep_closure_eq
lemma base_iff_indep_closure_eq : M.Base B ↔ M.Indep B ∧ M.closure B = M.E 
Arguments: {α : Type u_2} {M : Matroid α} {B : Set α}
Goal: M.Base B ↔ M.Indep B ∧ M.closure B = M.E
-- Matroid.Indep.base_iff_ground_subset_closure
lemma Indep.base_iff_ground_subset_closure (hI : M.Indep I) : M.Base I ↔ M.E ⊆ M.closure I 
Arguments: {α : Type u_2} {M : Matroid α} {I : Set α} (hI : M.Indep I)
Goal: M.Base I ↔ M.E ⊆ M.closure I
-- Matroid.Indep.closure_inter_eq_self_of_subset
lemma Indep.closure_inter_eq_self_of_subset (hI : M.Indep I) (hJI : J ⊆ I) :
    M.closure J ∩ I = J 
Arguments: {α : Type u_2} {M : Matroid α} {I J : Set α} (hI : M.Indep I) (hJI : J ⊆ I)
Goal: M.closure J ∩ I = J
-- Matroid.Indep.closure_sInter_eq_biInter_closure_of_forall_subset
lemma Indep.closure_sInter_eq_biInter_closure_of_forall_subset {Js : Set (Set α)} (hI : M.Indep I)
    (hne : Js.Nonempty) (hIs : ∀ J ∈ Js, J ⊆ I) : M.closure (⋂₀ Js) = (⋂ J ∈ Js, M.closure J)  
Arguments: {α : Type u_2} {M : Matroid α} {I : Set α} {Js : Set (Set α)} (hI : M.Indep I) (hne : Js.Nonempty) (hIs : ∀ J ∈ Js, J ⊆ I)
Goal: M.closure (⋂₀ Js) = ⋂ J ∈ Js, M.closure J
-- Matroid.closure_iInter_eq_iInter_closure_of_iUnion_indep
lemma closure_iInter_eq_iInter_closure_of_iUnion_indep [hι : Nonempty ι] (Is : ι → Set α)
    (h : M.Indep (⋃ i, Is i)) : M.closure (⋂ i, Is i) = (⋂ i, M.closure (Is i)) 
Arguments: {α : Type u_2} {M : Matroid α} {ι : Sort u_3} [hι : Nonempty ι] (Is : ι → Set α) (h : M.Indep (⋃ i, Is i))
Goal: M.closure (⋂ i, Is i) = ⋂ i, M.closure (Is i)
-- Matroid.closure_sInter_eq_biInter_closure_of_sUnion_indep
lemma closure_sInter_eq_biInter_closure_of_sUnion_indep (Is : Set (Set α)) (hIs : Is.Nonempty)
    (h : M.Indep (⋃₀ Is)) :  M.closure (⋂₀ Is) = (⋂ I ∈ Is, M.closure I) 
Arguments: {α : Type u_2} {M : Matroid α} (Is : Set (Set α)) (hIs : Is.Nonempty) (h : M.Indep (⋃₀ Is))
Goal: M.closure (⋂₀ Is) = ⋂ I ∈ Is, M.closure I
-- Matroid.closure_biInter_eq_biInter_closure_of_biUnion_indep
lemma closure_biInter_eq_biInter_closure_of_biUnion_indep {ι : Type*} {A : Set ι} (hA : A.Nonempty)
    {I : ι → Set α} (h : M.Indep (⋃ i ∈ A, I i)) :
    M.closure (⋂ i ∈ A, I i) = ⋂ i ∈ A, M.closure (I i) 
Arguments: {α : Type u_2} {M : Matroid α} {ι : Type u_4} {A : Set ι} (hA : A.Nonempty) {I : ι → Set α} (h : M.Indep (⋃ i ∈ A, I i))
Goal: M.closure (⋂ i ∈ A, I i) = ⋂ i ∈ A, M.closure (I i)
-- Matroid.Indep.closure_iInter_eq_biInter_closure_of_forall_subset
lemma Indep.closure_iInter_eq_biInter_closure_of_forall_subset [hι : Nonempty ι] {Js : ι → Set α}
    (hI : M.Indep I) (hJs : ∀ i, Js i ⊆ I) : M.closure (⋂ i, Js i) = ⋂ i, M.closure (Js i) 
Arguments: {α : Type u_2} {M : Matroid α} {ι : Sort u_3} {I : Set α} [hι : Nonempty ι] {Js : ι → Set α} (hI : M.Indep I) (hJs : ∀ (i : ι), Js i ⊆ I)
Goal: M.closure (⋂ i, Js i) = ⋂ i, M.closure (Js i)
-- Matroid.Indep.closure_inter_eq_inter_closure
lemma Indep.closure_inter_eq_inter_closure (h : M.Indep (I ∪ J)) :
    M.closure (I ∩ J) = M.closure I ∩ M.closure J 
Arguments: {α : Type u_2} {M : Matroid α} {I J : Set α} (h : M.Indep (I ∪ J))
Goal: M.closure (I ∩ J) = M.closure I ∩ M.closure J
-- Matroid.basis_iff_basis_closure_of_subset
lemma basis_iff_basis_closure_of_subset (hIX : I ⊆ X) (hX : X ⊆ M.E := by aesop_mat) :
    M.Basis I X ↔ M.Basis I (M.closure X) 
Arguments: {α : Type u_2} {M : Matroid α} {X I : Set α} (hIX : I ⊆ X) (hX : X ⊆ M.E := by aesop_mat)
Goal: M.Basis I X ↔ M.Basis I (M.closure X)
-- Matroid.basis_iff_basis_closure_of_subset'
lemma basis_iff_basis_closure_of_subset' (hIX : I ⊆ X) :
    M.Basis I X ↔ M.Basis I (M.closure X) ∧ X ⊆ M.E 
Arguments: {α : Type u_2} {M : Matroid α} {X I : Set α} (hIX : I ⊆ X)
Goal: M.Basis I X ↔ M.Basis I (M.closure X) ∧ X ⊆ M.E
-- Matroid.basis'_iff_basis_closure
lemma basis'_iff_basis_closure : M.Basis' I X ↔ M.Basis I (M.closure X) ∧ I ⊆ X 
Arguments: {α : Type u_2} {M : Matroid α} {X I : Set α}
Goal: M.Basis' I X ↔ M.Basis I (M.closure X) ∧ I ⊆ X
-- Matroid.exists_basis_inter_ground_basis_closure
lemma exists_basis_inter_ground_basis_closure (M : Matroid α) (X : Set α) :
    ∃ I, M.Basis I (X ∩ M.E) ∧ M.Basis I (M.closure X) 
Arguments: {α : Type u_2} (M : Matroid α) (X : Set α)
Goal: ∃ I, M.Basis I (X ∩ M.E) ∧ M.Basis I (M.closure X)
-- Matroid.Basis.basis_of_closure_eq_closure
lemma Basis.basis_of_closure_eq_closure (hI : M.Basis I X) (hY : I ⊆ Y)
    (h : M.closure X = M.closure Y) (hYE : Y ⊆ M.E := by aesop_mat) : M.Basis I Y 
Arguments: {α : Type u_2} {M : Matroid α} {X Y I : Set α} (hI : M.Basis I X) (hY : I ⊆ Y) (h : M.closure X = M.closure Y) (hYE : Y ⊆ M.E := by aesop_mat)
Goal: M.Basis I Y
-- Matroid.basis_union_iff_indep_closure
lemma basis_union_iff_indep_closure : M.Basis I (I ∪ X) ↔ M.Indep I ∧ X ⊆ M.closure I 
Arguments: {α : Type u_2} {M : Matroid α} {X I : Set α}
Goal: M.Basis I (I ∪ X) ↔ M.Indep I ∧ X ⊆ M.closure I
-- Matroid.basis_iff_indep_closure
lemma basis_iff_indep_closure : M.Basis I X ↔ M.Indep I ∧ X ⊆ M.closure I ∧ I ⊆ X 
Arguments: {α : Type u_2} {M : Matroid α} {X I : Set α}
Goal: M.Basis I X ↔ M.Indep I ∧ X ⊆ M.closure I ∧ I ⊆ X
-- Matroid.Basis.eq_of_closure_subset
lemma Basis.eq_of_closure_subset (hI : M.Basis I X) (hJI : J ⊆ I) (hJ : X ⊆ M.closure J) :
    J = I 
Arguments: {α : Type u_2} {M : Matroid α} {X I J : Set α} (hI : M.Basis I X) (hJI : J ⊆ I) (hJ : X ⊆ M.closure J)
Goal: J = I
-- Matroid.empty_basis_iff
@[simp] lemma empty_basis_iff : M.Basis ∅ X ↔ X ⊆ M.closure ∅ 
Arguments: {α : Type u_2} {M : Matroid α} {X : Set α}
Goal: M.Basis ∅ X ↔ X ⊆ M.closure ∅
-- Bool.univ_eq
@[simp]
theorem univ_eq : (univ : Set Bool) = {false, true} 
Goal: Set.univ = {false, true}
-- Bool.range_eq
@[simp]
theorem range_eq {α : Type*} (f : Bool → α) : range f = {f false, f true} 
Arguments: {α : Type u_1} (f : Bool → α)
Goal: Set.range f = {f false, f true}
-- Bool.compl_singleton
@[simp] theorem compl_singleton (b : Bool) : ({b}ᶜ : Set Bool) = {!b} 
Arguments: (b : Bool)
Goal: {b}ᶜ = {!b}
-- Bool.true_eq_false_eq_False
theorem true_eq_false_eq_False : ¬true = false 
Goal: ¬true = false
-- Bool.false_eq_true_eq_False
theorem false_eq_true_eq_False : ¬false = true 
Goal: ¬false = true
-- Bool.eq_false_eq_not_eq_true
theorem eq_false_eq_not_eq_true (b : Bool) : (¬b = true) = (b = false) 
Arguments: (b : Bool)
Goal: (¬b = true) = (b = false)
-- Bool.eq_true_eq_not_eq_false
theorem eq_true_eq_not_eq_false (b : Bool) : (¬b = false) = (b = true) 
Arguments: (b : Bool)
Goal: (¬b = false) = (b = true)
-- Bool.eq_false_of_not_eq_true
theorem eq_false_of_not_eq_true {b : Bool} : ¬b = true → b = false 
Arguments: {b : Bool}
Goal: ¬b = true → b = false
-- Bool.eq_true_of_not_eq_false
theorem eq_true_of_not_eq_false {b : Bool} : ¬b = false → b = true 
Arguments: {b : Bool}
Goal: ¬b = false → b = true
-- Bool.and_eq_true_eq_eq_true_and_eq_true
theorem and_eq_true_eq_eq_true_and_eq_true (a b : Bool) :
    ((a && b) = true) = (a = true ∧ b = true) 
Arguments: (a b : Bool)
Goal: ((a && b) = true) = (a = true ∧ b = true)
-- Bool.or_eq_true_eq_eq_true_or_eq_true
theorem or_eq_true_eq_eq_true_or_eq_true (a b : Bool) :
    ((a || b) = true) = (a = true ∨ b = true) 
Arguments: (a b : Bool)
Goal: ((a || b) = true) = (a = true ∨ b = true)
-- Bool.not_eq_true_eq_eq_false
theorem not_eq_true_eq_eq_false (a : Bool) : (not a = true) = (a = false) 
Arguments: (a : Bool)
Goal: ((!a) = true) = (a = false)
-- Bool.and_eq_false_eq_eq_false_or_eq_false
theorem and_eq_false_eq_eq_false_or_eq_false (a b : Bool) :
    ((a && b) = false) = (a = false ∨ b = false) 
Arguments: (a b : Bool)
Goal: ((a && b) = false) = (a = false ∨ b = false)
-- Bool.or_eq_false_eq_eq_false_and_eq_false
theorem or_eq_false_eq_eq_false_and_eq_false (a b : Bool) :
    ((a || b) = false) = (a = false ∧ b = false) 
Arguments: (a b : Bool)
Goal: ((a || b) = false) = (a = false ∧ b = false)
-- Bool.not_eq_false_eq_eq_true
theorem not_eq_false_eq_eq_true (a : Bool) : (not a = false) = (a = true) 
Arguments: (a : Bool)
Goal: ((!a) = false) = (a = true)
-- Bool.coe_false
theorem coe_false : ↑false = False 
Goal: (false = true) = False
-- Bool.coe_true
theorem coe_true : ↑true = True 
Goal: (true = true) = True
-- Bool.coe_sort_false
theorem coe_sort_false : (false : Prop) = False 
Goal: (false = true) = False
-- Bool.coe_sort_true
theorem coe_sort_true : (true : Prop) = True 
Goal: (true = true) = True
-- Bool.decide_iff
theorem decide_iff (p : Prop) [d : Decidable p] : decide p = true ↔ p 
Arguments: (p : Prop) [d : Decidable p]
Goal: decide p = true ↔ p
-- Bool.decide_true
theorem decide_true {p : Prop} [Decidable p] : p → decide p 
Arguments: {p : Prop} [Decidable p]
Goal: p → decide p = true