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 USize.CommRing.
See the module docstring for an explanation
Equations
Instances For
To use this instance, use open scoped UInt32.CommRing.
See the module docstring for an explanation
Equations
- One or more equations did not get rendered due to their size.
Instances For
To use this instance, use open scoped UInt64.CommRing.
See the module docstring for an explanation
Equations
- One or more equations did not get rendered due to their size.
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
- One or more equations did not get rendered due to their size.
Instances For
Is this an alphabetic ASCII character?
Equations
- c.isASCIIAlpha = (c.isASCIIUpper || c.isASCIILower)
Instances For
Is this an alphanumeric ASCII character?
Equations
- c.isASCIIAlphanum = (c.isASCIIAlpha || c.isASCIIDigit)