feat: add Classical.ofNonempty
This commit is contained in:
parent
83b69bc340
commit
f1adedb2de
2 changed files with 7 additions and 0 deletions
|
|
@ -207,6 +207,9 @@ protected def Nonempty.elim {α : Sort u} {p : Prop} (h₁ : Nonempty α) (h₂
|
|||
instance {α : Sort u} [Inhabited α] : Nonempty α :=
|
||||
⟨Inhabited.default⟩
|
||||
|
||||
noncomputable def Classical.ofNonempty {α : Sort u} [Nonempty α] : α :=
|
||||
Classical.choice inferInstance
|
||||
|
||||
constant arbitrary [Inhabited α] : α :=
|
||||
Inhabited.default
|
||||
|
||||
|
|
|
|||
|
|
@ -437,6 +437,10 @@ def mkLe (a b : Expr) : MetaM Expr :=
|
|||
def mkArbitrary (α : Expr) : MetaM Expr :=
|
||||
mkAppOptM ``arbitrary #[α, none]
|
||||
|
||||
/-- Return `@Classical.ofNonempty α _` -/
|
||||
def mkOfNonempty (α : Expr) : MetaM Expr := do
|
||||
mkAppOptM ``Classical.ofNonempty #[α, none]
|
||||
|
||||
/-- Return `sorryAx type` -/
|
||||
def mkSyntheticSorry (type : Expr) : MetaM Expr :=
|
||||
return mkApp2 (mkConst ``sorryAx [← getLevel type]) type (mkConst ``Bool.true)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue