ExistsUnique
#
This file defines the ExistsUnique
predicate, notated as ∃!
, and proves some of its
basic properties.
For p : α → Prop
, ExistsUnique p
means that there exists a unique x : α
with p x
.
Equations
- ExistsUnique p = ∃ (x : α), p x ∧ ∀ (y : α), p y → y = x
Instances For
Checks to see that xs
has only one binder.
Equations
- One or more equations did not get rendered due to their size.
Instances For
∃! x : α, p x
means that there exists a unique x
in α
such that p x
.
This is notation for ExistsUnique (fun (x : α) ↦ p x)
.
This notation does not allow multiple binders like ∃! (x : α) (y : β), p x y
as a shorthand for ∃! (x : α), ∃! (y : β), p x y
since it is liable to be misunderstood.
Often, the intended meaning is instead ∃! q : α × β, p q.1 q.2
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Pretty-printing for ExistsUnique
, following the same pattern as pretty printing for Exists
.
However, it does not merge binders.
Equations
- One or more equations did not get rendered due to their size.
Instances For
∃! x ∈ s, p x
means ∃! x, x ∈ s ∧ p x
, which is to say that there exists a unique x ∈ s
such that p x
.
Similarly, notations such as ∃! x ≤ n, p n
are supported,
using any relation defined using the binder_predicate
command.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Alias of existsUnique_of_exists_of_unique
.
Alias of existsUnique_iff_exists
.
Alias of existsUnique_const
.
Alias of existsUnique_eq
.
The difference with existsUnique_eq
is that the equality is reversed.
Alias of existsUnique_eq'
.
The difference with existsUnique_eq
is that the equality is reversed.
Alias of existsUnique_prop
.
Alias of existsUnique_false
.
Alias of existsUnique_prop_of_true
.