-- Module: Mathlib.Data.Analysis.Filter
Goal:
α : Type u_1
β : Type u_2
σ : Type u_3
τ : Type u_4
m : α → Filter β
G : (i : α) → Realizer.{u_2, u_6} (m i)
x : Set β
σ_1 : Type u_5
F : CFilter.{u_1, u_5} (Set α) σ_1
simp :
  Membership.mem (γ := Set (Set β))
      {a : Set β |
        ∃ (a_1 : σ_1) (b : (i : α) → i ∈ F.f a_1 → (G i).σ), ∀ (i : α) (i_1 : i ∈ F.f a_1), (G i).F.f (b i i_1) ⊆ a}
      x ↔
    ∃
      t ∈
        { sets := {a : Set α | ∃ (b : σ_1), F.f b ⊆ a}, univ_sets := ⋯, sets_of_superset := ⋯, inter_sets := ⋯ :
          Filter α },
      ∀ x_1 ∈ t, x ∈ m x_1
⊢ Membership.mem (γ := Set (Set β))
      (sets
        (CFilter.toFilter (σ :=
          (s : { σ := σ_1, F := F, eq := ⋯ : Realizer.{u_1, u_5} F.toFilter }.σ) ×
            ((i : α) → i ∈ { σ := σ_1, F := F, eq := ⋯ : Realizer.{u_1, u_5} F.toFilter }.F.f s → (G i).σ))
          {
            f :=
              fun
                (x :
                  (s : { σ := σ_1, F := F, eq := ⋯ : Realizer.{u_1, u_5} F.toFilter }.σ) ×
                    ((i : α) → i ∈ { σ := σ_1, F := F, eq := ⋯ : Realizer.{u_1, u_5} F.toFilter }.F.f s → (G i).σ)) ↦
              match (motive :=
                (s : { σ := σ_1, F := F, eq := ⋯ : Realizer.{u_1, u_5} F.toFilter }.σ) ×
                    ((i : α) → i ∈ { σ := σ_1, F := F, eq := ⋯ : Realizer.{u_1, u_5} F.toFilter }.F.f s → (G i).σ) →
                  Set β)
                x with
              | ⟨s, f⟩ =>
                ⋃ (i : α),
                  ⋃ (h : i ∈ { σ := σ_1, F := F, eq := ⋯ : Realizer.{u_1, u_5} F.toFilter }.F.f s), (G i).F.f (f i h),
            pt :=
              Sigma.mk (β := fun (s : { σ := σ_1, F := F, eq := ⋯ : Realizer.{u_1, u_5} F.toFilter }.σ) ↦
                (i : α) → i ∈ { σ := σ_1, F := F, eq := ⋯ : Realizer.{u_1, u_5} F.toFilter }.F.f s → (G i).σ)
                { σ := σ_1, F := F, eq := ⋯ : Realizer.{u_1, u_5} F.toFilter }.F.pt
                fun (i : α)
                  (x :
                    i ∈
                      { σ := σ_1, F := F, eq := ⋯ : Realizer.{u_1, u_5} F.toFilter }.F.f
                        { σ := σ_1, F := F, eq := ⋯ : Realizer.{u_1, u_5} F.toFilter }.F.pt) ↦
                (G i).F.pt,
            inf :=
              fun
                (x x_1 :
                  (s : { σ := σ_1, F := F, eq := ⋯ : Realizer.{u_1, u_5} F.toFilter }.σ) ×
                    ((i : α) → i ∈ { σ := σ_1, F := F, eq := ⋯ : Realizer.{u_1, u_5} F.toFilter }.F.f s → (G i).σ)) ↦
              match (motive :=
                (s : { σ := σ_1, F := F, eq := ⋯ : Realizer.{u_1, u_5} F.toFilter }.σ) ×
                    ((i : α) → i ∈ { σ := σ_1, F := F, eq := ⋯ : Realizer.{u_1, u_5} F.toFilter }.F.f s → (G i).σ) →
                  (s : { σ := σ_1, F := F, eq := ⋯ : Realizer.{u_1, u_5} F.toFilter }.σ) ×
                    ((i : α) → i ∈ { σ := σ_1, F := F, eq := ⋯ : Realizer.{u_1, u_5} F.toFilter }.F.f s → (G i).σ))
                x with
              | ⟨a, f⟩ =>
                match (motive :=
                  (s : { σ := σ_1, F := F, eq := ⋯ : Realizer.{u_1, u_5} F.toFilter }.σ) ×
                      ((i : α) → i ∈ { σ := σ_1, F := F, eq := ⋯ : Realizer.{u_1, u_5} F.toFilter }.F.f s → (G i).σ) →
                    (s : { σ := σ_1, F := F, eq := ⋯ : Realizer.{u_1, u_5} F.toFilter }.σ) ×
                      ((i : α) → i ∈ { σ := σ_1, F := F, eq := ⋯ : Realizer.{u_1, u_5} F.toFilter }.F.f s → (G i).σ))
                  x_1 with
                | ⟨b, f'⟩ =>
                  Sigma.mk (β := fun (s : { σ := σ_1, F := F, eq := ⋯ : Realizer.{u_1, u_5} F.toFilter }.σ) ↦
                    (i : α) → i ∈ { σ := σ_1, F := F, eq := ⋯ : Realizer.{u_1, u_5} F.toFilter }.F.f s → (G i).σ)
                    ({ σ := σ_1, F := F, eq := ⋯ : Realizer.{u_1, u_5} F.toFilter }.F.inf a b)
                    fun (i : α)
                      (h :
                        i ∈
                          { σ := σ_1, F := F, eq := ⋯ : Realizer.{u_1, u_5} F.toFilter }.F.f
                            ({ σ := σ_1, F := F, eq := ⋯ : Realizer.{u_1, u_5} F.toFilter }.F.inf a b)) ↦
                    (G i).F.inf (f i ⋯) (f' i ⋯),
            inf_le_left := ⋯, inf_le_right := ⋯ }))
      x ↔
    x ∈ (F.toFilter.bind m).sets

Tactic:
simp only [CFilter.toFilter, iUnion_subset_iff, Sigma.exists, Filter.mem_sets, mem_bind]

Premises used: CFilter.toFilter, Filter.mem_sets, Set.iUnion_subset_iff, Sigma.exists, Filter.mem_bind