coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Sylvain Salvati <sylvain.salvati AT univ-lille.fr>
- To: coq-club AT inria.fr
- Subject: [Coq-Club] Type checking in the Vector library
- Date: Fri, 11 Mar 2022 08:59:09 +0100
- Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=sylvain.salvati AT univ-lille.fr; spf=Pass smtp.mailfrom=sylvain.salvati AT univ-lille.fr; spf=None smtp.helo=postmaster AT smtp-out-1.univ-lille.fr
- Ironport-data: A9a23:9AKt4aDLJAherBVW//vlw5YqxClBgxIJ4kV8jS/XYbTApDkh0DZRm DAWWWrXPfyNMGvzLd4nOY6y80sF7ZPczdY1OVdlrnsFo1Bi+ZOUX4zBRqvTF3rPdZObFBoPA +E2MISowBUcFyeEzvuVGuG96yE6jMlkf5KkYAL+EnkZqTRMFWFw0XqPp8Zj2tQy2YPgWlvU0 T/Pi5S31GGNi2Yc3l08sPrrRCNH5JwebxtF1rCWTakjUG72zxH5PrpHTU2CByeQrr1vIwKPb 72rIIdVUY/u10xF5tuNyt4Xe6CRK1LYFVDmZnF+A8BOjvXez8A/+v5TCRYSVatYoxC1lY9e8 Y4djJWfZV82B7POnsZDCiANRkmSPYUekFPGCWO6rdTWyFDaNiKq3vNvEgQyPIkc96B5Gwmi9 9RBeWxLNE3fwbvskfTrEIGAhex7RCXvFJgOvm9pzDefFv8iX5nfQo3X495GmTMxgsRDW/jED yYcQWo1MUyePkwn1lE/EL4nn9ain3jEXX59j1m2j48V4VfM01kkuFTqGIOJK43VFZo9clyjj mnB5iHyBgwQHMeOzCKMtHOqnO7G2y3hML/+D5Wj8+JyxVqO2ilKTgAQVEX+pfi9jkP4Vcg3x 1EoFjQGiJQ4q2OSFYnEVjKU+GG9oBwaeYQJKrhvgO2S8Zb87wGcD2kCazdObt06qcM7LQDGM HfVxrsF4hQz6NWopWKhGqS88WLjYXBLRYMWTXVeHFVaizX2iNtr5i8jWOqPB4abtLUZ8xnZx jGHqjNWa1473ZZTj/3TEbzvozuxuoOMQgNwyB/eWGmohj6Viaa+YpCwrF/G8bMZapufT0fEu HkAn8XY4vpm4XCxeM6lHrxl8FKBvqft3NjgbbhHRMhJG9OFoC7LQGyoyGsiTHqFy+5dEdMTX GfduBlK+LhYN2awYKl8buqZUpp2k/m7Soy9DqyKNbKih6SdkifZoEmCgmbOhQjQfLQEyvhkU XtmWZv0USdKVPoPIMSeHr1Gi+FDKt8CKZP7HMyqnkv3jtJylVaPRLEMLFaUBt3VH4vayDg5B +13bpPQoz0GCbWWSnCOoeY7cA5WRVBmW8Geg5EHJ4arf1s9cEl8Wq+56e16IeRNwf8K/tokC 1nmBye0PnKk2SaYQehLA1g/AI7SsWFX9itqY3ZzYQ72hxDOo++Htc8iSnf+RpF/nMQL8BK+Z 6BtlxyoDqsdRzLZ1S4aaJWh/oVueA7y3lCTOSu7JTw+e5ptAQLTo4e2cgzq/SgILyy2qcpn+ ubwh1OAGMFTSlQwFtvSZdKu00i14SoXltV0UhaaOdJUYkjtrNVnJnWp3P86Ks0BMzvZwT6e2 1rECBsUv7CW8ZIz8ceMgaGAq4rvHfEnRhhWGGzS7LCXMyjG/zP6mt8RAL3RJmDQDTqm9r+ja ONZy+DHHMcGxFsa4ZBhF7tLzL4l44e9rbFtyAk5Tm7AaE6mC+89L3SLgZtPu6lKyuMLsAe6Q BjTqMJfJa3MP975VQdXOQwkcKGH1PUQl3/c961tckn94SZ2+puBUFlTZkDX2H0Nd+IuYI51k /08vMM26hCkjkZ4ONixiC0JpX+HKWYNUvl6u5xGUpXnjBEnlgNLbZDGUHOk+5STc5BLL1Vve 3mJgqvcwrBdwk7PNXQpTCCf0e1YjJUImRZL0F5bfg/Zy4qe36Rn0U0D6ykzQyRU0g5Dj7B5N F9tOhAnPq6J5Tpp2JVOUm3E99ut3/FFFpEdCmfllVE1i2GzU3DVaWogJaPUul0f8nwZejlf+ LzexnyNvfMGui3u9nNaZKKng6WLoR9NGsnqhcamAYGBHp0+bHzrmMdCoEIW/gD/D5pZaFLv/ IFXESUZVUE/HTMWorN+D4ie0blWRgrsyKmuhx1+1PthIFwwsw1eFdRDx45dty+NyzH3HZeEN vFT
- Ironport-hdrordr: A9a23:+kJoLawbKVL6hptF6DRKKrPwO71zdoMgy1knxilNoH1uA6mlfq WV9sjzuiWVtN98Yh4dcLO7Scu9qBHnhP1ICOAqVN/IMTUO01HIEGgN1+Xf6gH7Fza7/uBQ0r oIScRDNOE=
- Ironport-phdr: A9a23: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
- Ironport-sdr: aazRQi4WHXd6asxvwXz+cEF+pbt7DPdpVCwcPe16KB2vIXLsr+spWF130sdt7uifQoh1mJhByF Gub70taT8uLyPv8c6KQCxoNjXcOLY/k+HHYhW9QNMO77UTnpFx4SBAOVsWIqrkjfN29FVb+vWH ZVk0fNVh7SneeCvrf02NX7I2jYikhsbp7sPMyYc3yZKFsZbbVfdan7pQxjggYO7AmG0vu1o63z EUZACYDnQpw/I64DdNcZxTgl91hNw32F442DHEhhns5Hz1bp/VnLBuGtfMIK6qHoCp6i+VfWJS esDNTQPfWi5EdbgUnSFOYQ1x
Dear Coq-Club,
Can anyone explain why the following term defined in the standard
library (c.f. Coq.Vectors.VectorDef) does type-check:
Definition case0 {A} (P:Vector.t A 0 -> Type) (H:P (Vector.nil A)) v:P v :=
match v with
|[] => H
|_ => fun devil => False_ind (@IDProp) devil
end.
I moreover checked that the following term also type-check:
Definition my_case0 {A} (P:Vector.t A 0 -> Type) (H:P (Vector.nil A)) v:P v :=
match v with
|[] => H
end.
So it seems to me that in the first term coq is able to see that the
second branch of the match cannot be executed and thus one can put any
phony term. Is it correct? If so why does the standard library use the
first term instead of the second one?
I checked the mailing list and found that a similar question has been
asked 7 years ago but did not receive any answer.
Thanks for your help,
S.
- [Coq-Club] Type checking in the Vector library, Sylvain Salvati, 03/11/2022
- Re: [Coq-Club] Type checking in the Vector library, Meven LENNON-BERTRAND, 03/11/2022
- Re: [Coq-Club] Type checking in the Vector library, Dominique Larchey-Wendling, 03/11/2022
Archive powered by MHonArc 2.6.19+.