Skip to Content.
Sympa Menu

coq-club - [Coq-Club] Does Coq support higher-order rewrite of lambda terms?

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

[Coq-Club] Does Coq support higher-order rewrite of lambda terms?


Chronological Thread 
  • From: Alex Meyer <alex153 AT outlook.lv>
  • To: "coq-club AT inria.fr" <coq-club AT inria.fr>
  • Subject: [Coq-Club] Does Coq support higher-order rewrite of lambda terms?
  • Date: Thu, 23 Aug 2018 20:17:39 +0000
  • Accept-language: lv-LV, en-US
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=alex153 AT outlook.lv; spf=Pass smtp.mailfrom=alex153 AT outlook.lv; spf=Pass smtp.helo=postmaster AT EUR01-VE1-obe.outbound.protection.outlook.com
  • Ironport-phdr: 9a23:Qcx3AxdybLeUGSjRSJ003D6ClGMj4u6mDksu8pMizoh2WeGdxcS5YR7h7PlgxGXEQZ/co6odzbaO7Oa4ASQp2tWoiDg6aptCVhsI2409vjcLJ4q7M3D9N+PgdCcgHc5PBxdP9nC/NlVJSo6lPwWB6nK94iQPFRrhKAF7Ovr6GpLIj8Swyuu+54Dfbx9HiTahY75+Ngm6oRnMvcQKnIVuLbo8xAHUqXVSYeRWwm1oJVOXnxni48q74YBu/SdNtf8/7sBMSar1cbg2QrxeFzQmLns65Nb3uhnZTAuA/WUTX2MLmRdVGQfF7RX6XpDssivms+d2xSeXMdHqQb0yRD+v6bpgRh31hycdLzM38H/ZhNFsjKxVoxyuuxNwzpXOb42JKPZzZL/Rcc8ESWdHQ81fVzZBAoS5b4YXE+cBOfhXrobgrFUJsxS/BRejBPnywTJPnHD22bM10us8HQzG0gEtBNUOsGnIrNXxM6cSVuO1wLPMzTXddv5b3yr25obPchAku/6MXLRwfNLKyUkzDQzKklaQppLqPjyJ1uQCqW6b7+V+Wu61l2EnrARxrz6yzckvkonEno0Yxkze+Sh93oo5P9y1RU9hbdK6FJZcry+aOJV1T88+RmxlvSQ3xqAatZO5eSUHyI4oyhHaZvOabYeH/w7vWeOQLDp2mH5oeLSyjAuo/0e60O3zTMy03U5KriVbltnMsWgA2RPd5cabVvdx416t1jmA2QzO8+1EJls7mrTBJ54m374wioEcsUPeHi/whUr6lreWdl8j+ui09evofqnmpp6bN49ykA3+NbkumtC7AeQ/NQgOXHKX9vi71L3m5UH5QbNKgeMqkqTBv53WOd4Xq6qnDwNP04su6gyzAymi3dgAmHkINlNFeBaJj4jzPFHOJej1Au27g1uynzZn2vDLM7P6D5XKM3jDjLPhfbF6605f0gYzyc5f64pOCr4dOPLzRlPxtNvAAxAlNAy02v/rB8l51oMDQm2CGbSZMaPXsV+Q/O0jOeiMZIkPuDb8Mfcp/fDujWVq0WMaKOOi2oJSY3SlFNxnJV+YaDzimJ1JRWwNp081SPHgoFyESz9aIXioCfES/DY+XauiAJeLY428jabJiC6/E40POztuDU2QFXDvdMOARaFfO2qpPsZ9n2lcBvCaQIg72ET27V6o+/9cNuPRvxYgm9fm3dlx6ffUkEhopztpE8Ca1GLLS38mxzpUFQ9z57h2pAlG8nnGybJx2qYKEsFP4/ROUUE+K8yElrEoO5XJQgvEO+yxZhOmT9GhXW5jY+8Lm4ZLXWskXtKog1bEwjagBKITm/qTHpso/6nA3n/3YcFg13LB06pnhF4jEJJC

Hello!

I have 2 questions that are based on the problem mentioned in my stackexchage question https://cs.stackexchange.com/questions/96533/how-to-transform-lambda-function-to-multi-argument-lambda-function-and-how-to-re which tries to implement in Coq the formal semantics of the natural language.

1) I have two functions with types is:(e->t)->(e->t) and IS:e->(e->t)->t and I wanted to know how can I rewrite lambda terms that uses 'is' into lambda terms, that uses 'IS'. The first reply to my stackexchange question gave answer that it is just re-currying. But I have great doubts that simple recurrying can change the type of functions in so important manner how it is required if one goes from 'is' to 'IS'. So - the question is - do I need there full higher-order rewrite of just currying is sufficient?

2) And the second question is - does Coq have some facilities to do such term rewrite as was mentioned in my first questions? As far as I know Coq, then Coq just compiles and confirms the proofs (terms) that were written by users, no code generation happens, at least in CoqIDE. But maybe there are some tools for higher-order term rewrite in Coq? Of course, the example (e.g. involving 'is' and 'IS') would be helpful.

Alex



Archive powered by MHonArc 2.6.18.

Top of Page