@@ -20,35 +20,25 @@ namespace Language
2020open Set List
2121open scoped Computability
2222
23- variable {α : Type _ } {l m : Language α}
23+ variable {α : Type * } {l m : Language α}
2424
2525@[simp, scoped grind =]
2626theorem mem_inf (x : List α) : x ∈ l ⊓ m ↔ x ∈ l ∧ x ∈ m :=
2727 Iff.rfl
2828
2929@[simp]
30- theorem mem_biInf {I : Type _ } (s : Set I) (l : I → Language α) (x : List α) :
30+ theorem mem_biInf {I : Type * } (s : Set I) (l : I → Language α) (x : List α) :
3131 (x ∈ ⨅ i ∈ s, l i) ↔ ∀ i ∈ s, x ∈ l i :=
3232 mem_iInter₂
3333
3434@[simp]
35- theorem mem_biSup {I : Type _ } (s : Set I) (l : I → Language α) (x : List α) :
35+ theorem mem_biSup {I : Type * } (s : Set I) (l : I → Language α) (x : List α) :
3636 (x ∈ ⨆ i ∈ s, l i) ↔ ∃ i ∈ s, x ∈ l i := by
37- constructor
38- · intro h
39- obtain ⟨i, h_i, h_x⟩ := mem_iUnion₂.mp h
40- use i
41- · rintro ⟨i, h_i, h_x⟩
42- apply mem_iUnion₂.mpr
43- use i
44-
45- theorem biInf_insert {I : Type _} (a : I) (s : Set I) (l : I → Language α) :
46- (⨅ i ∈ insert a s, l i) = l a ⊓ ⨅ i ∈ s, l i := by
47- apply biInter_insert
48-
49- theorem biSup_insert {I : Type _} (a : I) (s : Set I) (l : I → Language α) :
50- (⨆ i ∈ insert a s, l i) = l a ⊔ ⨆ i ∈ s, l i := by
51- apply biUnion_insert
37+ constructor <;> intro h
38+ · have := mem_iUnion₂.mp h
39+ grind
40+ · apply mem_iUnion₂.mpr
41+ grind
5242
5343-- This section will be removed once the following PR gets into mathlib:
5444-- https://github.com/leanprover-community/mathlib4/pull/30913
0 commit comments