It is a better solution for issues #1361 and #1279, and it was on the to-do list for a while.
13 lines
554 B
Text
13 lines
554 B
Text
def Multiset (α: Type) : Type := sorry
|
||
def Multiset.ndinsert [DecidableEq α](a : α): Multiset α → Multiset α := sorry
|
||
def Finset (α : Type _) : Type := @Subtype (Multiset α) sorry
|
||
def Finset.insert [DecidableEq α](a : α): Finset α → Finset α
|
||
| ⟨ms, prop⟩ => ⟨ms.ndinsert a, sorry⟩
|
||
|
||
inductive Bar : Finset Nat → Type
|
||
| insert : Bar (Finset.insert n Γ)
|
||
| empty : Bar Γ
|
||
|
||
example {Γ: Finset Nat}: ∀ (p: Bar Γ), Nat
|
||
| Bar.empty => 1 -- missing cases: (@Bar.insert _ (Subtype.mk _ _))
|
||
| _ => 2 -- redundant alternative
|