Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] 16 Bit Unsigned Integer Library

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] 16 Bit Unsigned Integer Library


Chronological Thread 
  • From: mukesh tiwari <mukeshtiwari.iiitm AT gmail.com>
  • To: coq-club AT inria.fr
  • Subject: Re: [Coq-Club] 16 Bit Unsigned Integer Library
  • Date: Thu, 9 Dec 2021 18:11:08 +1100
  • Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=mukeshtiwari.iiitm AT gmail.com; spf=Pass smtp.mailfrom=mukeshtiwari.iiitm AT gmail.com; spf=None smtp.helo=postmaster AT mail-ed1-f42.google.com
  • Ironport-data: A9a23:yZAeJ6vTeXf8L5Isq2R9+/uQd+fnVD5fMUV32f8akzHdYEJGY0x3yjEYCmrSOveNNmagL90jO4jnpkIPvZ7cmtBgGgVprypEQiMRo6IpJ/zJdxaqZ3v6wu7rFR88sZ1GMrEsFC2FJ5Pljk/F3oPJ8D8shclkepKmULSdY3opFFc9IMscoUsLd9AR0tYAbeeRWFvlVePa+6UzCXf9s9JGGjp8B5Gr9HuDiM/PVAYw5TTSUxzkUGj2zBH5BLpHTU24wuCRroN8RoZWTM6bpF21E/+wwvsjNj+luu6TnkwiR7fTOU2DhiMTVfT4xBdFoSM23+AwM/90hUV/0W3Y2YAsjo8V5drsE2/FPYWU8AgZexxFECxlPbFH57bdID6+sM2PymXJdnLtx7NlC0Re0Ygwq7smWTARq5T0LxhUNkzZ7w6s+5qwTfApjcA+JuHwLYYHszdhyyvYBLAoW/j+rw/i8YcNhnFvkpkbRbCGc5BMMXw1PUWZd0YaYhFKHM1rtfmMrXzbXz18iVuzmbAT3Wn22FUpheGpaYDBEjCRbcBcn0Ldq26fumqlWFcVM9uQzTfD+XWp7tIjVBjTAOo6fIBUPNYw6LFS+oASNPHSfV6yoP38h0LnHtwDcQob/S0hqaV0/0uuJjU4d3VUv1bc1iPwmfIJewH51O1J4qXR6gedQGMDS1atrfQ44dQuS2VCOkChxrvU6P8GjFFRYX2Y/7aQ6zi1PED56EdqiTAsFWM43jUonG3/Yt8jgDqu/G5ZQ+AZwQ3N/g0=
  • Ironport-hdrordr: A9a23:kz72dKMuA6CjZ8BcTqajsMiBIKoaSvp037BN7SFMoH1uHPBw+Pre/8jzuSWE6gr5O0tOpTn/Asm9qBrnnPYfi7X5Vo3PYOCJggaVEL0=
  • Ironport-phdr: A9a23:aIxHsBZ0WokC2W5ttuzrllP/LTGI0IqcDmcuAnoPtbtCf+yZ8oj4OwSHvLMx1gaPAtSQsqoew8Pt8InYEVQa5piAtH1QOLdtbDQizfssogo7HcSeAlf6JvO5JwYzHcBFSUM3tyrjaRsdF8nxfUDdrWOv5jAOBBr/KRB1JuPoEYLOksi7ze+/94PObwlShjewZbx+IAiqoQnPq8IbnZZsJqEtxxXTv3BGYf5WxWRmJVKSmxbz+MK994N9/ipTpvws6ddOXb31cKokQ7NYCi8mM30u683wqRbDVwqP6WACXWgQjxFFHhLK7BD+Xpf2ryv6qu9w0zSUMMHqUbw5Xymp4qF2QxHqlSgHLSY0/27ZisNyjKxVrhGvqQFhzYHIb4+YL+Z+frrHcN8GWWZNQsRcWipcCY28dYsPCO8BMP5dr4ngpFsBswC+BQmxD+Pzyz9JiGX53bc70+88FgzG2REgH9EQv3TPrNX1KKYSUO6vw6nSzDXPdfJW2Tb86IjUdxAsuv6MXbdqfsrQzUkjDR/KjlKVqYH8OT6ey+sCvXSB4eV6SeKvl3Aoqxt3ojW3yckhiY3Ei4Abx13K+yt13oc4KN2lREN5Y9OpE5teuj+VOoZoXs8sTXxktSQkx7EbpJK2YDYGxIgoyhPBdfGKd46F6Q/tWuaWJDd3nnNleLSnihmu9kigz/X8WdWq31ZQsipJiN7MtmoC1xDL68iHTOF9/ka71jqV2QDT8OdJKl03m6rDM5Mt3KI8m54JvUnAHiL6glv6gLOVe0k+9eWk9eLqaaj8qJCGLY97kAT+P7wumsOhBeQ4NRADX22B9uS90L3v5FP2T6hXgvEvnKnUv47WKd4Upq6+BA9V3YIj5AilAzi619QYmGELLFNDeB2Zk4jkI0/CLOz8APulgFmhkC1ny+7aMrDiGJnAIWbPnK/kfbln6k5czAQzzcpY55JRErwBJe/zWkzvu9zDDh85Lw20wuj9B9Vn14MSQ2OPAq6YMKPOtF+F/e0vI+yWa48UvDbxMeQq5/nrjXMhg18SYbGp3YcLaHC/BvlpP0KZYWP1jtgdFWcKoxExQffxiFyCVD5Tf2y9U7g95jE9EoKmDJ3MSpqjgLybj2+HGchdYXkDAVSRG1/pcZ+FUrECcnG8OMhkxzkZVrW6S8c91A6nrg6yn796LefP+jEZqpv51Z505uzPkDk98DV1C4KW1GTbHDI8pX8BWzJjhPM3mkd60FrWicCQbNRXENVS47VCVQJobPY0KsR1DtnzXkTKedLbED5Oo/2jCDA1C989mpoAPxw7FNKlgRTOmSGtBu1N/4E=

Thanks for the pointer, Ana!

On Tue, Dec 7, 2021 at 11:32 PM Ana Borges <ana.agvb AT gmail.com> wrote:
>
> Hi
>
> To answer your original question, the current alternatives to Int31 are
> Uint63 (for unsigned primitive integers) and Sint63 (for signed primitive
> integers).
>
> Best,
> Ana
>
> On Thu, 2 Dec 2021 at 23:14, mukesh tiwari <mukeshtiwari.iiitm AT gmail.com>
> wrote:
>>
>> Thank you very much Pierre and Xavier. It’s very helpful.
>>
>> Best,
>> Mukesh
>>
>> On Thu, 2 Dec 2021 at 8:17 pm, Xavier Leroy
>> <xavier.leroy AT college-de-france.fr> wrote:
>>>
>>> On Thu, Dec 2, 2021 at 1:44 AM mukesh tiwari
>>> <mukeshtiwari.iiitm AT gmail.com> wrote:
>>>>
>>>> I am looking for 16 bit unsigned integer library in Coq and I found this
>>>> library [1] but at the very top it says, “This library has been
>>>> deprecated since Coq version 8.10”, so I am curious about the other
>>>> alternatives.
>>>>
>>>> One way, at the top of my head, I can do this by
>>>> Record UInt16 := mk_uint { val: N; 0 <= val < 2^16} and define all the
>>>> needed functions and proofs but before that I would like see the
>>>> existing solutions.
>>>
>>>
>>> The Integers library in CompCert implements this approach, for any number
>>> of bits: https://compcert.org/doc/html/compcert.lib.Integers.html
>>>
>>> To get your 16-bit integers:
>>>
>>> Module Wordsize_16.
>>> Definition wordsize := 16%nat.
>>> Remark wordsize_not_zero: wordsize <> 0%nat.
>>> Proof. unfold wordsize; congruence. Qed.
>>> End Wordsize_16.
>>>
>>> Module Int16 := Integers.Make(Wordsize_16).
>>>
>>> Enjoy,
>>>
>>> - Xavier Leroy
>>>
>>>
>>>>
>>>>
>>>> Best,
>>>> Mukesh
>>>>
>>>> [1] https://coq.inria.fr/library/Coq.Numbers.Cyclic.Int31.Int31.html



Archive powered by MHonArc 2.6.19+.

Top of Page