Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] Definition as opaque as Qed

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] Definition as opaque as Qed


Chronological Thread 
  • From: Li-yao Xia <lysxia AT gmail.com>
  • To: coq-club AT inria.fr
  • Subject: Re: [Coq-Club] Definition as opaque as Qed
  • Date: Thu, 2 Jun 2022 09:37:59 -0400
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=lysxia AT gmail.com; spf=Pass smtp.mailfrom=lysxia AT gmail.com; spf=None smtp.helo=postmaster AT mail-qv1-f52.google.com
  • Ironport-data: A9a23:8fR0RKiOXF/rKY8g2ahDSFBOX161SxYKZh0ujC45NGQN5FlHY01je htvX22GbK6JMDP9c9twOY3n/E0FuMeAz4VgQVFopCo2EnljpJueD7x1DG+gZnLIdpWroGFPt phFNIGYdKjYaleG+39B55C49SEUOZmgH+a6UKieUsxIbVcMpB0J0HqPoMZkxN8x6TSFK1nV4 4mq/ZWFYAbNNwNcawr41YrT8HuDg9yp4Fv0jnRmDRyclAK2e9E9VfrzFInpR5fKatE88t2SG 44v+IqEElbxpH/BPD8KfoHTKSXmSpaKVeSHZ+E/t6KK2nCurQRquko32WZ1hUp/0120c95NJ NplqZrvQxYwYJ32wekyUQcbGnshBq1e5+qSSZS/mZT7I0zudnLtx7B3EhhzM9BCvOlwBm5K+ LoTLzVlghKr3brnhuLmDLM114J+dqEHP6tH0p1k5TXIFuYnSLjMRqzL4ZlT2zJYasVmRKuBO pNAOWQHgBLoQwNWCA8IGrIEs9yEjWTHbREEtQK+qv9ii4TU5FUpjOKF3MDuUteNXIBemluSj nnX+nzwRBAcLt2WjzSfmk9AncfKlCL/HZsMTfi2q6Qsj1qUyWgeThYRUDNXvMVVlGaiXY1VO lVKyhB3oIcw6g+iFIbGXwWn9SvsUgEnZ/JcFOgz6Qeow6XS4hqECmVsctKnQIx23CPRbWx6v mJlj+8FFhQ07+LIESP1GqO86GLtaXJMfAfucAddFVNdi+QPtr3fmf4mczqOOKu8j9mwAC+ph j7X9m4xgLIcicNN3KK+lbwmv95OjsiSJuLWzl+PNo5A0u+fTNP0D2BPwQWKhcus1K7DEjG8U IEswqByFtwmA5CXjzCqS+4QBryv7PvtGGSC3AI2R8l7rGzzpy7LkWVsDNdWdBcB3iEsKW+BX aMvkV45CGJ7ZybwPfAtOepd9ex7kPS7fTgaahwkRoMWPsIZmP6v8yZpakqdt10BY2B9+ZzTz ayzKJ72ZV5DUfoP5GPvG481jOF2rghjmju7bc2ql3yPjOvFDFbIGOdtGAXUMogRsvjfyC2Lq IY3Cid/408AOAEISnKHr9B7wJFjBSRTOK0aXOQMKrXSeVA+RDlwYxITqJt4E7FYc21uvr+g1 hmAtoVwkTITXFXLdleHbG5NcrTqUcotpH43J31+MlOh2nxlaoGqtf9Ne5wydLgh1epi0f8kF 6lfK5vcWqxCGmbd5jAQTZjht4g9JhmmgAS5OSD6MjUyephXQRPEp43/dQz1+ShSVSe67JNso 7Cp2g7Bb4AEQgBuUJTfZP61ngG+uHEcnKR5WE6Reotff0Dl8Y5LLS3tj69vc5tcd0mbnjbDj lSYGxYVo+XJsrQZytiRiPDWtZqtHst/AlFeQDvW4LOwAi/QoTiuzIpGZ+CXJGyPWW7x/pKiU uVb1fTLNvMKwQRRuI1mHrc3lK8z6oe9p7JeyQg4TnzHY07xUeFlK3iCmNBR7+hDm+UftgyxV UaCvNJdPOzRas/iFVcQIisjb/iCha5IwGiMtaxtLRWo/jJz8ZqGTV5WY0uGhhtbIeYnK4gi2 +og5JMb5lDtkBYsKdra3ClY+37WdS4FWqQj84gEWcrl11BtxVZFbpjRTCTx5cjXOdlLN0ArJ B6ShbbD1+sAnBucKyJrGCifx/dZiLQPpAtOkA0IKWOPl4eXnfQwxhBQrWk6Qwk9Is+rCA6v1 rWH9nGZJJliOx9tjclHGnmyQkRPWUff9Uv2xF8E0mbeSiFEk4ALwHIVYY6wEIIxqgqwvQS3O JmXzW/kVXDhe8SZMu4aRxt+s/K6JTBu3lSqpS1kdvhp27E1ZDPkhumlYm9gR94Lxy8urBWvm NSGN9qcpUE22eD8bkH750SnOWwsdS25
  • Ironport-hdrordr: A9a23:LBjgiKiwnkvZ43fC8jA+O/8pDXBQXvcji2hC6mlwRA09TyXqrb HWoB17726WtN91YhsdcL+7Scy9qB/nhORICMwqTMqftWrdyQ+VxeNZnOnfKlTbckWUltK1l5 0QCJSWYOeQMbEQt7ed3ODXKadZ/DDKytHOuQ4c9RtQpMNRBp2IIz0XNu9TKCNLeDU=
  • Ironport-phdr: A9a23:mi2BQhbVEflifqCaYySZsd3/LTEi2oqcDmcuAnoPtbtCf+yZ8oj4O wSHvLMx1gSPDN+QtakMotGVmpioYXYH75eFvSJKW713fDhBt/8rmRc9CtWOE0zxIa2iRSU7G MNfSA0tpCnjYgBaF8nkelLdvGC54yIMFRXjLwp1Ifn+FpLPg8it2O2+5ZPebx9MiTajbr9/L Ru7phjNu8cLhodvNrw/wQbTrHtSfORWy2JoJVaNkBv5+8y94p1t/TlOtvw478JPXrn0cKo+T bxDETQpKHs169HxtRnCVgSA+H0RWXgLnxVSAgjF6Bb6Xortsib/q+Fw1jWWMdHwQLspXzmp8 qVlRwLyiCofKzE382/ZhcN+g6xGvhyhqRxxzIzPbY6PKPZzZLnQcc8USGdDWMtaSixPApm7b 4sKF+cPO+dYo5D9plQUqhu1GAijBOL1xTRVgXL22a070/8uEAHHxgMtBN0OsHHOo9X0MKceS /y6zK7NzTjaaf5dxDjy5pTSfB87vfGMQax/cdDXyUQ3GA7LgFuep4zlMj6b2OkDs3WX4utuW O+ri2Artx18riSuy8ooiYTEhoMYxkzA+Clkz4g7K9m1RU11b9O6DJZcqieXPJZ4TMMlRmFno ic6yrsetJ60fSgK1JQnxwPEZPCdb4eI5RfjWP6QITd+nnJleaiwiwy88Ui6zOD3S8q60E5So yZbjtXBsmoB2h/T58SdVPdx40Os1SyP2gzN8u1IP0E5mbbZJpMkzL49mZgevVjGEyL3nUj7g 7Oaelk59uWt7+nrf67pqoGZOoJ2jgz+PKojl8mlDugmNgUDX22W9fqz2bH+/UD0RqhBgOcsn anDqp/aINwWpq6nDA9R1YYu8xO/AC2n0NQchHUHNUxFdA+eg4jnO1zCPur0Dfi4g1Srnzdrw +7JMqf9DZXKK3jPiLbhfbBj5E5A0Ac/08xT6pZOBrwCIP//QFH9uMHcAxMjMwG43f7rCNBn2 YMfXWKPDLWZMKTXsVKQ4uIuI/KMZYAUuDnnMPUl6PvugmU4mV8ZZ6WmwZwXaHWgEvRgOEqWe WDsjcsZEWcWogo+S/TnhECaXT5Je3myR7485i08CI++EYjDQZmtjKWd0ye/A51ZfXtLCkuME Hftb4WLQe0AaCOUIs97kzwLT6KtS4E71ULmiAivwL1+a+HQ5ycwtJT51dEz6feAuws18GlQD oGM2mbFf2B91jcMViQm3alXrkl0y1PF2q991a8LXedP7u9EB19pfaXXyPZ3XoiasmPpe96IT A3jWdC6GXQqScp3xdYSYkF7EtHkjxbZ3iPsDaVG36eTCskS9aTRl2P0O94702zPga0wlEknS +NAMGSnguh08A2AT5XRnRChnr2xPb8ZwDaL8W6CyWSUu0QNVB9rQaTMdX8ab0rS69/+4xCKV KegXJIgNAYJ0sueMu1KZ9nu2E1BX+vmMc/CbniZnm6xAVOR2OrJYtewPWoa2yrZBQ4PlAV7E W+uEw84C2/hpmvfCGcrDlfzewb39vE4rnqnT0gyxgXMbkt71rPz9ARHzfqbA+ge2L4JokJD4 319AUq90tTKCtGBuxspfaNSZsk46UtG0mSRvhJ0P5ipJaRvzlAEdAE/s0Tr3hRxQoJO9Kpi5 Hc71xpzIIqX1VpAc3WT2pWxcrzbJ2/u/Qy+PrbM0wKW29KX96ETrfUg/g+77Uf5Swx4qiQhj oMGthnUro/HBwcTT5/rB0M+9hwh4qrffjF4/ITMk3tlLaiztDbGndMvHuosjBi6LLI9eOuJE hH/F8oCCo2gMusvzhKtfwkUPel6+6s9PsfgfPyDkv3OXq4ojHe9gGJL7ZoomEad7Dp9Q8bH2 p8Ex7eT2Q7NBH/syVymtM7wg4VNYzofS3G+xSbTD4lUfqRufIwPBA9COuWPz85lz97oUn9cr xu4Ak8endSuYVyUZkD82gtZ0QIWp2amkG221W48nzYsp6uZlCvApoaqPB4WIX5KTUFtiF7tJ c6/iNVSUEWzbgcvnQeo/g6gn/kd9Pk5dTCCBxoSNyHtZ3lvSK6xqqaPb6stoNszvCNbXf79K VGWR7jhogcLhibqHm9Q3jc+JHmhvpT0mQA/iXrIdi4i6iqEP5splFGCvo+5J7YZxDcNSShmh COCA1G9O4Ls5tCIj9LYtfj4UWu9V5pVeC2tzIWatSL963c5ZH/31/21hNDjFhA3lCHh0Nw/H yHZtwb9a6Hk0q27NaRseUwiVzqeo4JqX5pzlIc9nsRa3WkBlpSc1XUCmGb3d95c3OitJGpIT jkNzdnP5QHj00A2NXOFybXyUXCFy9dgbd23MQZ0kmotqtpHA6CO4PlYjDN49xCm+BnJb6E3z X8NjOEj43kAj6QVtRoxm2+DV6sKExA9X2SklgzUvYvj6vwGPCD1Lef2jA0kwZigFO3Q/F0aA i2iPM58RWkoqZwueFPUjC+ttMe9IIOWNZRL8UfM9nWIx+lNdMBvyLxQ2XshaTq75Tp/k6Y6l UA8gsv85dTBcjQ3uvr+W04QNyWpNZxPvGi30OAG2J7Rht7KfN0pGy1XDsKwHbTxT21U5bK/c FzXWDwk9iXCRuGZRF7Drh8g9zWWTdiqLy3FfiFIi4U/AkDHdAoHx1lLOVdy1p8hSlLwnZKnL Rc/v2FLoAa/80oEy/o0ZUOmDCGF/1buMW1yEN/GfVJA5wVGrS85KOS46eR+V2Fd95yl90mWL 3CDIh9PFScPU1CFAFbqOv+v48PB+q6WHLj2KfyGeriIpeFEMpXAjZuyzotr+SqNPcSTLzFjC fM8wE9KQXF+HYzQhTwOTyUdky+FYdScoV+w/Sh+r8b39/qOOkqn/YyUF75bKsli4TiziKaHc veO3WN3dGwe2ZQLynvFjrMY2R9aii1jcSWsDaVVtSPJS/G1+OcfBBoaZiVvccpQuvhkj08dZ IiB04Kzi+Qr65x9Q01IXlHghMyzMMkDImXmcUjCGF7OL7OeYzvC38DwZ6q4D7xWluRd8ROq6 lP5WwfuOCqOkz7xWlWhK+ZJ2WufLQdOuYiVfRNkCGylR9XjIE7eUpc/nXgtzLs4i2mff3YbK iR5elhRo6e46CpZhrBmBTUE4Cc/a+aDnCmd4q/TLZNc4p4JSmxk0uld5no90b5c6ipJEed0l CXlpdlru1i6k+OLx1KPvzJBrz9KgMSAukAwYM0xF7FFUHfAuQsTtCCeVk5MqNxiBdni/atXz 4qX/EoWADhH+tPQu8AbApqMQP8=
  • Ironport-sdr: qAuGA9TccjzOhOBG8Mph4v6p55dag9Sy+NQ9tuYFfBkJd4VqHdlc1sBSHNQ1IjT3kaaF3EFJJG aTVLZwp/qZM5aFjuJeTg6tNegKbHgHQq+wxuD0UqMEBlkvn90QiaJnK5946sArUVUTYnSXnGqj VdS6lu0sE+VMp23HJX+HHs8oZQvAAgzb+fXQ0RMa5IiB+ZNRswGQ7pSVd9/ycMv3RwgquRG/BL 2cFOz/aPakH64WKbwy0hFNDrbIXbChBaq8uObcc6QBdV2jsHqLkPj916xp1hl0BjyKaJpIsKXJ WbW/HCDmThlL26GevUWsbzJY

There could be an attribute for this.

One hacky solution is to start from the normal, transparent definition, and use it in a separate Qed-ed Definition which also extracts the type from it. The initial definition can be erased by making it local to a section:


Notation type_of x := ltac:(let t := type of x in exact t) (only parsing).

Section FOO.
Let foo_ := 3.
Definition foo : type_of foo_.
Proof. exact foo_. Qed.
End FOO.


Cheers,
Li-yao

On 2022-06-02 1:19 AM, mukesh tiwari wrote:
Hi Qinshi,

I am not sure if it's exactly going to solve your problem, but have a look at the locking and unlocking mechanism in math-comp [1, 2, 3]. 

Best,
Mukesh

[1] https://github.com/math-comp/hierarchy-builder/wiki/Locking
[2] https://github.com/math-comp/math-comp/blob/master/mathcomp/algebra/matrix.v#L282-L283
[3] https://coq.inria.fr/distrib/V8.14.0/stdlib//Coq.ssr.ssreflect.html#locked_with

On Wed, 1 Jun 2022 at 22:11, Qinshi Wang <qinshiw AT cs.princeton.edu> wrote:
Hi everyone,

Is there any way to make a "Definition" as opaque as a proof ended with "Qed"? My use case is I want to specialize a lemma and define
Definition foo := lem (* a lot of paramters *).
I want to omit its type, which is long. So I cannot start a "Proof." in a normal way.

Thanks,
Qinshi



Archive powered by MHonArc 2.6.19+.

Top of Page