instance
instDecidablePredComp_batteries
{α : Sort u_1}
{β : Sort u_2}
{p : β → Prop}
{f : α → β}
[DecidablePred p]
:
DecidablePred (p ∘ f)
Equations
- instDecidablePredComp_batteries = inferInstanceAs (DecidablePred fun (x : α) => p (f x))
@[deprecated proof_irrel]
Alias of proof_irrel.
id #
exists and forall #
Alias of the forward direction of not_exists.
Alias of the reverse direction of not_exists.
decidable #
theorem
Decidable.exists_not_of_not_forall
{α : Sort u_1}
{p : α → Prop}
[Decidable (∃ (x : α), ¬p x)]
[(x : α) → Decidable (p x)]
:
Alias of the forward direction of Decidable.not_forall.
classical logic #
Alias of the forward direction of Classical.not_forall.
equality #
theorem
congr_arg
{α : Sort u}
{β : Sort v}
{a₁ : α}
{a₂ : α}
(f : α → β)
(h : a₁ = a₂)
:
f a₁ = f a₂
Alias of congrArg.
Congruence in the function argument: if a₁ = a₂ then f a₁ = f a₂ for
any (nondependent) function f. This is more powerful than it might look at first, because
you can also use a lambda expression for f to prove that
<something containing a₁> = <something containing a₂>. This function is used
internally by tactics like congr and simp to apply equalities inside
subterms.
For more information: Equality
theorem
congr_fun₃
{α : Sort u_1}
{β : α → Sort u_2}
{γ : (a : α) → β a → Sort u_3}
{δ : (a : α) → (b : β a) → γ a b → Sort u_4}
{f : (a : α) → (b : β a) → (c : γ a b) → δ a b c}
{g : (a : α) → (b : β a) → (c : γ a b) → δ a b c}
(h : f = g)
(a : α)
(b : β a)
(c : γ a b)
:
f a b c = g a b c
Alias of congrFun₃.
membership #
theorem
ne_of_mem_of_not_mem
{α : Type u_1}
{β : Type u_2}
[Membership α β]
{s : β}
{a : α}
{b : α}
(h : a ∈ s)
:
theorem
ne_of_mem_of_not_mem'
{α : Type u_1}
{β : Type u_2}
[Membership α β]
{s : β}
{t : β}
{a : α}
(h : a ∈ s)
:
miscellaneous #
If all points are equal to a given point x, then α is a subsingleton.