Adds Mathlib specific instances to the UIntX
data types. #
The CommRing
instances (and the NatCast
and IntCast
instances from which they is built) are
scoped in the UIntX.CommRing
namespace, rather than available globally. As a result, the ring
tactic will not work on UIntX
types without open scoped UIntX.Ring
.
This is because the presence of these casting operations contradicts assumptions made by the expression tree elaborator, namely that coercions do not form a cycle.
The UInt version also interferes more with software-verification use-cases, which is reason to be more cautious here.
To use this instance, use open scoped UInt32.CommRing
.
See the module docstring for an explanation
Equations
Instances For
To use this instance, use open scoped UInt64.CommRing
.
See the module docstring for an explanation
Equations
Instances For
To use this instance, use open scoped UInt8.CommRing
.
See the module docstring for an explanation
Equations
Instances For
To use this instance, use open scoped UInt16.CommRing
.
See the module docstring for an explanation
Equations
Instances For
To use this instance, use open scoped USize.CommRing
.
See the module docstring for an explanation
Equations
Instances For
Is this an uppercase ASCII letter?
Equations
Instances For
Is this a lowercase ASCII letter?
Equations
Instances For
Is this an alphabetic ASCII character?
Equations
Instances For
Is this an ASCII digit character?
Equations
Instances For
Is this an alphanumeric ASCII character?
Equations
Instances For
The numbers from 0 to 256 are all valid UTF-8 characters, so we can embed one in the other.