Skip to content

Commit

Permalink
chore(data/set/constructions): Make has_finite_inter Prop-valued (#…
Browse files Browse the repository at this point in the history
…17824)

`has_finite_inter` was accidentally defined to be Type-valued, despite only having propositional fields.
  • Loading branch information
YaelDillies committed Dec 6, 2022
1 parent 77314cc commit a95b16c
Showing 1 changed file with 2 additions and 7 deletions.
9 changes: 2 additions & 7 deletions src/data/set/constructions.lean
Expand Up @@ -24,24 +24,19 @@ set of subsets of `α` which is closed under finite intersections.
variables {α : Type*} (S : set (set α))

/-- A structure encapsulating the fact that a set of sets is closed under finite intersection. -/
structure has_finite_inter :=
structure has_finite_inter : Prop :=
(univ_mem : set.univ ∈ S)
(inter_mem : ∀ ⦃s⦄, s ∈ S → ∀ ⦃t⦄, t ∈ S → s ∩ t ∈ S)

namespace has_finite_inter

-- Satisfying the inhabited linter...
instance : inhabited (has_finite_inter ({set.univ} : set (set α))) :=
⟨⟨by tauto, λ _ h1 _ h2, by simp [set.mem_singleton_iff.1 h1, set.mem_singleton_iff.1 h2]⟩⟩

/-- The smallest set of sets containing `S` which is closed under finite intersections. -/
inductive finite_inter_closure : set (set α)
| basic {s} : s ∈ S → finite_inter_closure s
| univ : finite_inter_closure set.univ
| inter {s t} : finite_inter_closure s → finite_inter_closure t → finite_inter_closure (s ∩ t)

/-- Defines `has_finite_inter` for `finite_inter_closure S`. -/
def finite_inter_closure_has_finite_inter : has_finite_inter (finite_inter_closure S) :=
lemma finite_inter_closure_has_finite_inter : has_finite_inter (finite_inter_closure S) :=
{ univ_mem := finite_inter_closure.univ,
inter_mem := λ _ h _, finite_inter_closure.inter h }

Expand Down

0 comments on commit a95b16c

Please sign in to comment.