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 #
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 #
Alias of funext_iff
.
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.