Theorem: Filter.le_cardinalGenerate_iff_of_cardinalInterFilter
File: Mathlib/Order/Filter/CardinalInter.lean

tactic: constructor <;> intro h
state_before: ι α β : Type u
c : Cardinal.{u}
l : Filter α
inst✝¹ : CardinalInterFilter l c
g : Set (Set α)
f : Filter α
inst✝ : CardinalInterFilter f c
hc : 2 < c
⊢ f ≤ cardinalGenerate g hc ↔ g ⊆ f.sets
state_after: case mp
ι α β : Type u
c : Cardinal.{u}
l : Filter α
inst✝¹ : CardinalInterFilter l c
g : Set (Set α)
f : Filter α
inst✝ : CardinalInterFilter f c
hc : 2 < c
h : f ≤ cardinalGenerate g hc
⊢ g ⊆ f.sets

case mpr
ι α β : Type u
c : Cardinal.{u}
l : Filter α
inst✝¹ : CardinalInterFilter l c
g : Set (Set α)
f : Filter α
inst✝ : CardinalInterFilter f c
hc : 2 < c
h : g ⊆ f.sets
⊢ f ≤ cardinalGenerate g hc

tactic: intro s hs
state_before: case mpr
ι α β : Type u
c : Cardinal.{u}
l : Filter α
inst✝¹ : CardinalInterFilter l c
g : Set (Set α)
f : Filter α
inst✝ : CardinalInterFilter f c
hc : 2 < c
h : g ⊆ f.sets
⊢ f ≤ cardinalGenerate g hc
state_after: case mpr
ι α β : Type u
c : Cardinal.{u}
l : Filter α
inst✝¹ : CardinalInterFilter l c
g : Set (Set α)
f : Filter α
inst✝ : CardinalInterFilter f c
hc : 2 < c
h : g ⊆ f.sets
s : Set α
hs : s ∈ cardinalGenerate g hc
⊢ s ∈ f

tactic: induction hs with
| basic hs => exact h hs
| univ => exact univ_mem
| superset _ st ih => exact mem_of_superset ih st
| sInter Sct _ ih => exact (cardinal_sInter_mem Sct).mpr ih
state_before: case mpr
ι α β : Type u
c : Cardinal.{u}
l : Filter α
inst✝¹ : CardinalInterFilter l c
g : Set (Set α)
f : Filter α
inst✝ : CardinalInterFilter f c
hc : 2 < c
h : g ⊆ f.sets
s : Set α
hs : s ∈ cardinalGenerate g hc
⊢ s ∈ f
state_after: no goals

tactic: exact subset_trans (fun s => CardinalGenerateSets.basic) h
state_before: case mp
ι α β : Type u
c : Cardinal.{u}
l : Filter α
inst✝¹ : CardinalInterFilter l c
g : Set (Set α)
f : Filter α
inst✝ : CardinalInterFilter f c
hc : 2 < c
h : f ≤ cardinalGenerate g hc
⊢ g ⊆ f.sets
state_after: no goals

tactic: exact h hs
state_before: case mpr.basic
ι α β : Type u
c : Cardinal.{u}
l : Filter α
inst✝¹ : CardinalInterFilter l c
g : Set (Set α)
f : Filter α
inst✝ : CardinalInterFilter f c
hc : 2 < c
h : g ⊆ f.sets
s s✝ : Set α
hs : s✝ ∈ g
⊢ s✝ ∈ f
state_after: no goals

tactic: exact univ_mem
state_before: case mpr.univ
ι α β : Type u
c : Cardinal.{u}
l : Filter α
inst✝¹ : CardinalInterFilter l c
g : Set (Set α)
f : Filter α
inst✝ : CardinalInterFilter f c
hc : 2 < c
h : g ⊆ f.sets
s : Set α
⊢ Set.univ ∈ f
state_after: no goals

tactic: exact mem_of_superset ih st
state_before: case mpr.superset
ι α β : Type u
c : Cardinal.{u}
l : Filter α
inst✝¹ : CardinalInterFilter l c
g : Set (Set α)
f : Filter α
inst✝ : CardinalInterFilter f c
hc : 2 < c
h : g ⊆ f.sets
s s✝ t✝ : Set α
a✝ : CardinalGenerateSets g s✝
st : s✝ ⊆ t✝
ih : s✝ ∈ f
⊢ t✝ ∈ f
state_after: no goals

tactic: exact (cardinal_sInter_mem Sct).mpr ih
state_before: case mpr.sInter
ι α β : Type u
c : Cardinal.{u}
l : Filter α
inst✝¹ : CardinalInterFilter l c
g : Set (Set α)
f : Filter α
inst✝ : CardinalInterFilter f c
hc : 2 < c
h : g ⊆ f.sets
s : Set α
S✝ : Set (Set α)
Sct : #↑S✝ < c
a✝ : ∀ s ∈ S✝, CardinalGenerateSets g s
ih : ∀ s ∈ S✝, s ∈ f
⊢ ⋂₀ S✝ ∈ f
state_after: no goals