@[implicit_reducible]
instance
instDecidablePredComp_batteries
{α : Sort u_1}
{β : Sort u_2}
{p : β → Prop}
{f : α → β}
[DecidablePred p]
:
DecidablePred (p ∘ f)
id #
decidable #
theorem
Decidable.exists_not_of_not_forall
{α : Sort u_1}
{p : α → Prop}
[Decidable (∃ (x : α), ¬p x)]
[(x : α) → Decidable (p x)]
:
(¬∀ (x : α), p x) → ∃ (x : α), ¬p x
Alias of the forward direction of Decidable.not_forall.
classical logic #
theorem
Classical.exists_not_of_not_forall
{α : Sort u_1}
{p : α → Prop}
:
(¬∀ (x : α), p x) → ∃ (x : α), ¬p x
Alias of the forward direction of Classical.not_forall.
equality #
@[simp]
theorem
cast_eq_iff_heq
{a✝ a✝¹ : Sort u_1}
{e : a✝ = a✝¹}
{a : a✝}
{a' : a✝¹}
:
cast e a = a' ↔ a ≍ a'
theorem
eqRec_eq_cast
{α : Sort u_1}
{a : α}
{motive : (a' : α) → a = a' → Sort u_2}
(x : motive a ⋯)
{a' : α}
(e : a = a')
:
e ▸ x = cast ⋯ x
theorem
eqRec_heq_self
{α : Sort u_1}
{a : α}
{motive : (a' : α) → a = a' → Sort u_2}
(x : motive a ⋯)
{a' : α}
(e : a = a')
:
e ▸ x ≍ x
@[simp]
theorem
eqRec_heq_iff_heq
{α : Sort u_1}
{a : α}
{motive : (a' : α) → a = a' → Sort u_2}
{x : motive a ⋯}
{a' : α}
{e : a = a'}
{β : Sort u_2}
{y : β}
:
e ▸ x ≍ y ↔ x ≍ y
@[simp]
theorem
heq_eqRec_iff_heq
{α : Sort u_1}
{a : α}
{motive : (a' : α) → a = a' → Sort u_2}
{x : motive a ⋯}
{a' : α}
{e : a = a'}
{β : Sort u_2}
{y : β}
:
y ≍ e ▸ x ↔ y ≍ x
miscellaneous #
If all points are equal to a given point x, then α is a subsingleton.
theorem
congr_eqRec
{α : Sort u_1}
{γ : Sort u_2}
{x x' : α}
{β : α → Sort u_3}
(f : (x : α) → β x → γ)
(h : x = x')
(y : β x)
:
f x' (h ▸ y) = f x y