coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Fabian Kunze <kunze AT ps.uni-saarland.de>
- To: coq-club AT inria.fr
- Subject: Re: [Coq-Club] "Opaquify operator" to simplify work with dependent types
- Date: Wed, 16 May 2018 16:15:22 +0200
- Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=kunze AT ps.uni-saarland.de; spf=Pass smtp.mailfrom=kunze AT ps.uni-saarland.de; spf=None smtp.helo=postmaster AT thyone.hiz-saarland.de
- Ironport-phdr: 9a23:LN5GKR2O3+BqQ0j7smDT+DRfVm0co7zxezQtwd8Zse0fK/ad9pjvdHbS+e9qxAeQG9mDsLQc06L/iOPJYSQ4+5GPsXQPItRndiQuroEopTEmG9OPEkbhLfTnPGQQFcVGU0J5rTngaRAGUMnxaEfPrXKs8DUcBgvwNRZvJuTyB4Xek9m72/q99pHPbQhEniaxba9vJxiqsAvdsdUbj5F/Iagr0BvJpXVIe+VSxWx2IF+Yggjx6MSt8pN96ipco/0u+dJOXqX8ZKQ4UKdXDC86PGAv5c3krgfMQA2S7XYBSGoWkx5IAw/Y7BHmW5r6ryX3uvZh1CScIMb7S60/Vza/4KdxUBLnhykHODw5/m/ZicJ+kbxVrw66qhNl34LZepuYOOZicq7fe94RWGpPXtxWVyxEGo6yb5EAAPEAPelCqYn2ul4ArQa4BQitGuzk1zhFhnzr3a080uUuDxrL3BQ7H94UrXTUqtT1OL4JUe+v1qbI1zHDYOlQ2Tjg8oTHbw4urOiKULltf8TRzkwvGBnEjlWWsYHlMDSV1uMCs2if8eVsT/6gi2kiqw1pozivwNsshZfNho4P11/L6yN0y5s2K92gUEN3fNCpHZRKuyyeNoZ6WMEvT3t2tCs01LEKoYC3cDQOxZg9xBPSa+aLf5aV7h/sTuqcLil0iXR4c7ylnRmy61KvyujkW8m0zllKqi1Fn8HQtnAN1x3T7c6HReVn8keh2DaO1hnf6vpeLk8uj6rbL4QuwrgtmZYJrEvMADf6mETwjKCIakUp4vWk5urob7n8opKRNpV4hwPkPqgwlMGzH/w0Mg0UUGia/eS82qfj/Ur8QLhSjf02j6/ZsZHEKskAvq65GBVZ0psl6xa+Fjumy84XkmMdLFJBYh2HiZXmN0vTL//mFfu/mUijkC93x/DaOb3sGonCLn/akLv4Ybl971NcxxEowNBE55NUD6kBL+jpVk/wstzYFB45PBauz+bpEtUunr8ZDGmIG+qSNL7YmV6O/OMmZeeWN6EPvzOoBfEv5vfoxVwkn00QNf2qwJ0FZVigBbJ7JUTcenPlmNMIF2tMsgdoH7+is0GLTTMGPyX6ZKk7/DxuUNv3X7eGfZikhfm65An+G5RXYm5cDVXWSSXwbMOZXfZJcyubOMtolDBCWbXzEtZ9hyHrjxfzzv9cFsSR4jcR78qxzMMz+uvS0Ao7/CZwBsKRlW2AHTktwzE4AgQu1aU6mnRTj1eO1a8i365EFc1U4f4PUgYocIXVxvZ+Atb+HA7MLI+E
Dear Jason,
I attached a minimal example.
It contains the definition of a dependently defined cyclic type with two implementations for add.
The second (more efficient) definition actually uses the information that the inputs are within bounds to derive that the result is in bounds. But because this way the proofs of the inputs are parameters of the proof for the result, the (expanded) proof term grows exponentially with computation depth. The first definition of add, which doesn’t use the boundedness of the inputs, does not have this problem.
The idea of opaquify is to make the proof term opaque, since its inner structure should never be of interest. Automation would likely profit from this in terms of performance.
@all: is there a smarter way to define add' which would avoid this issue?
Best regards,
Michael
Intel Deutschland GmbH
Registered Address: Am Campeon 10-12, 85579 Neubiberg, Germany
Tel: +49 89 99 8853-0, www.intel.de
Managing Directors: Christin Eisenschmid, Christian Lamprechter
Chairperson of the Supervisory Board: Nicole Lau
Registered Office: Munich
Commercial Register: Amtsgericht Muenchen HRB 186928
- [Coq-Club] "Opaquify operator" to simplify work with dependent types, Soegtrop, Michael, 05/15/2018
- RE: [Coq-Club] "Opaquify operator" to simplify work with dependent types, Jason -Zhong Sheng- Hu, 05/15/2018
- RE: [Coq-Club] "Opaquify operator" to simplify work with dependent types, Soegtrop, Michael, 05/16/2018
- Re: [Coq-Club] "Opaquify operator" to simplify work with dependent types, Fabian Kunze, 05/16/2018
- RE: [Coq-Club] "Opaquify operator" to simplify work with dependent types, Soegtrop, Michael, 05/16/2018
- Re: [Coq-Club] "Opaquify operator" to simplify work with dependent types, Fabian Kunze, 05/16/2018
- RE: [Coq-Club] "Opaquify operator" to simplify work with dependent types, Soegtrop, Michael, 05/16/2018
- Re: [Coq-Club] "Opaquify operator" to simplify work with dependent types, Maximilian Wuttke, 05/15/2018
- RE: [Coq-Club] "Opaquify operator" to simplify work with dependent types, Soegtrop, Michael, 05/15/2018
- RE: [Coq-Club] "Opaquify operator" to simplify work with dependent types, Jason -Zhong Sheng- Hu, 05/15/2018
Archive powered by MHonArc 2.6.18.