positivity
core extensions #
This file sets up the basic positivity
extensions tagged with the @[positivity]
attribute.
The positivity
extension which identifies expressions of the form ite p a b
,
such that positivity
successfully recognises both a
and b
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The positivity
extension which identifies expressions of the form min a b
,
such that positivity
successfully recognises both a
and b
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Extension for the max
operator. The max
of two numbers is nonnegative if at least one
is nonnegative, strictly positive if at least one is positive, and nonzero if both are nonzero.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The positivity
extension which identifies expressions of the form a + b
,
such that positivity
successfully recognises both a
and b
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The positivity
extension which identifies expressions of the form a * b
,
such that positivity
successfully recognises both a
and b
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The positivity
extension which identifies expressions of the form a / b
,
where a
and b
are integers.
Instances For
The positivity
extension which identifies expressions of the form a ^ (0:ℕ)
.
This extension is run in addition to the general a ^ b
extension (they are overlapping).
Equations
- One or more equations did not get rendered due to their size.
Instances For
The positivity
extension which identifies expressions of the form a ^ (b : ℕ)
,
such that positivity
successfully recognises both a
and b
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The positivity
extension which identifies expressions of the form |a|
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Extension for the positivity
tactic: Int.natAbs
is positive when its input is.
Since the output type of Int.natAbs
is ℕ
, the nonnegative case is handled by the default
positivity
tactic.
Instances For
Extension for the positivity
tactic: Nat.cast
is always non-negative,
and positive when its input is.
Instances For
Extension for the positivity
tactic: Int.cast
is positive (resp. non-negative)
if its input is.
Instances For
Extension for Nat.succ
.
Instances For
Extension for PNat.val
.
Instances For
Extension for Nat.factorial
.
Instances For
Extension for Nat.ascFactorial
.
Instances For
The positivity
extension which identifies expressions of the form NNRat.num q
,
such that positivity
successfully recognises q
.
Instances For
The positivity
extension which identifies expressions of the form Rat.den a
.
Instances For
The positivity
extension which identifies expressions of the form Rat.num a
,
such that positivity
successfully recognises a
.
Instances For
The positivity
extension which identifies expressions of the form Rat.den a
.
Instances For
Extension for posPart
. a⁺
is always nonegative, and positive if a
is.
Instances For
Extension for negPart
. a⁻
is always nonegative.