theorem
classical.indefinite_description
{α : Sort u}
(p : α → Prop) :
(∃ (x : α), p x) → {x // p x}
Equations
theorem
classical.some_spec
{α : Sort u}
{p : α → Prop}
(h : ∃ (x : α), p x) :
p (classical.some h)
Equations
Equations
Equations
Equations
Equations
- classical.type_decidable_eq α = λ (x y : α), classical.prop_decidable (x = y)
Equations
- classical.type_decidable α = classical.type_decidable._match_1 α (classical.prop_decidable (nonempty α))
- classical.type_decidable._match_1 α (decidable.is_true hp) = psum.inl (inhabited.default α)
- classical.type_decidable._match_1 α (decidable.is_false hn) = psum.inr _
theorem
classical.strong_indefinite_description
{α : Sort u}
(p : α → Prop) :
nonempty α → {x // (∃ (y : α), p y) → p x}
Equations
theorem
classical.epsilon_spec_aux
{α : Sort u}
(h : nonempty α)
(p : α → Prop) :
(∃ (y : α), p y) → p (classical.epsilon p)
theorem
classical.epsilon_spec
{α : Sort u}
{p : α → Prop}
(hex : ∃ (y : α), p y) :
p (classical.epsilon p)
theorem
classical.epsilon_singleton
{α : Sort u}
(x : α) :
classical.epsilon (λ (y : α), y = x) = x
theorem
classical.axiom_of_choice
{α : Sort u}
{β : α → Sort v}
{r : Π (x : α), β x → Prop} :
(∀ (x : α), ∃ (y : β x), r x y) → (∃ (f : Π (x : α), β x), ∀ (x : α), r x (f x))
theorem
classical.skolem
{α : Sort u}
{b : α → Sort v}
{p : Π (x : α), b x → Prop} :
(∀ (x : α), ∃ (y : b x), p x y) ↔ ∃ (f : Π (x : α), b x), ∀ (x : α), p x (f x)