Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] Is there a micromega or omega tactic for axiomatic Z?

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] Is there a micromega or omega tactic for axiomatic Z?


Chronological Thread 
  • From: Théo Zimmermann <theo.zimmi AT gmail.com>
  • To: coq-club AT inria.fr
  • Subject: Re: [Coq-Club] Is there a micromega or omega tactic for axiomatic Z?
  • Date: Tue, 22 May 2018 13:06:46 +0200
  • Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=theo.zimmi AT gmail.com; spf=Pass smtp.mailfrom=theo.zimmi AT gmail.com; spf=None smtp.helo=postmaster AT mail-vk0-f41.google.com
  • Ironport-phdr: 9a23:LiokwBIq1dglNqKygNmcpTZWNBhigK39O0sv0rFitYgRL/TxwZ3uMQTl6Ol3ixeRBMOHs6kC07KempujcFRI2YyGvnEGfc4EfD4+ouJSoTYdBtWYA1bwNv/gYn9yNs1DUFh44yPzahANS47xaFLIv3K98yMZFAnhOgppPOT1HZPZg9iq2+yo9JDffwtFiCChbb9uMR67sRjfus4KjIV4N60/0AHJonxGe+RXwWNnO1eelAvi68mz4ZBu7T1et+ou+MBcX6r6eb84TaFDAzQ9L281/szrugLdQgaJ+3ART38ZkhtMAwjC8RH6QpL8uTb0u+ZhxCWXO9D9QLYpUjqg8qhrUgflhygJNzE78G/ZhM9+gr9Frh29vBFw2ZLYbZuPOfZiYq/Qf9UXTndBUMZLUCxBB5uxYZUPD+0bOuZXt4ryp1oLrRu7GwasHubvxSVOhn/wwKY31PghEQHY0wwnBd4PsXXUrNDwNKcTSu21w6zIwi/Cb/NSwzvy9I/IchU4rPyKQLl+f83RyUw1GAPEiFWdsYPlPzSS1uQCt2iU8fBsWv6oi24isw1xoz6vxtsyhYnNnI4a107L+CNky4g2Pd21UFB3bcKgHZdKtCyXN5F6Tt0/T2xmoio3xaAKtJimdyYQ0psn3QTQa/mffoiI/B3jUOGRLC99hH1/ebK/gw++8VajyuHgT8W03llHojdfntnDsXAN0BPT6syZRfdn4kih3jOP2xjS6uFCP080ibLWJ4A9zrM0jJYeskTOEjXolEnrgqKabEop9vWw5+TieLrmp5ucN4FuigH5N6QjgtC/AeQmPQgJRWSa+OW81Ljm/U34W7hKgfg2nbPYsJDeP8gUuqm5AwpN3oY59xm/Fyum0MgfnXQfMF1FfwuHg5H1NFHKPfD3Fuyyg0+skTdu3/DJJKftApTLLnjZkbfuZ6xx60BGyFl78dcK7JVNT7oFPfjbW0nrtdWeAAVqHRazxrPbCFR64bEfXGeCGKqQNqWa5UOI6+VpMeiJYY49tzP0Kvxj7Pnr2yxq0WQBdLWkiMNEIEuzGe5rdh3AMCjcx+wZGGJPhTIQCenjiVmMSzlWPi/gUKc15zV9A4WjX96aGtKdxYeZ1SL+JaV4I3hcAwnVQ3jtfoSAHfwLbXDKe5Izonk/TbGkDrQZ+1SuuQv9kec1K+PV/mgGtsqm2oQsoeLUkh42+Hp/CMHPi2w=

Dear Michael,

Actually, the method described by Nicolas in this paper does not require writing a gallina function mapping axiomatic Z to concrete Z. All you need is to provide a relation between the two types. When you have a function, then this relation can be defined in terms of the function but the technique is much more general than this. You also need to prove a few "transfer lemmas" but they don't need to compute.

Pierre Letouzey and I planned to look at how this technique could apply to the standard library (precisely between axiomatic and concrete representations) as an alternative to the current module based solution to avoid duplication of proofs. But we didn't get started yet...

Cheers,
Théo

Le lun. 21 mai 2018 à 15:20, Soegtrop, Michael <michael.soegtrop AT intel.com> a écrit :
Dear Nicholas,

thanks for the pointer, very interesting!

Just I am not sure if it would be possible to write a gallina function mapping axiomatic Z to concrete Z. In axiomatic Z, the number 2 would be succ(succ(zero)), where succ is a function from ZAxioms.t to ZAxioms.t, not a constructor. What I could do is:

1.) write an Ltac function
2.) define an inductive prop, which relates axiomatic and concrete Z
3.) write such a function assuming a more Church numeral like definition of the axiomatic Z

But as far as I can see none of this would help me to use the techniques you describe with the axiomatic Z from the standard library.

Any suggestions welcome!

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



Archive powered by MHonArc 2.6.18.

Top of Page