Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] Sequent calculus for full First Order Logic in Coq

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] Sequent calculus for full First Order Logic in Coq


Chronological Thread 
  • From: Dominik Kirst <kirst AT ps.uni-saarland.de>
  • To: coq-club AT inria.fr
  • Subject: Re: [Coq-Club] Sequent calculus for full First Order Logic in Coq
  • Date: Thu, 19 Sep 2019 13:07:19 +0200
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=kirst AT ps.uni-saarland.de; spf=Pass smtp.mailfrom=kirst AT ps.uni-saarland.de; spf=None smtp.helo=postmaster AT thyone.hiz-saarland.de
  • Ironport-phdr: 9a23:iuKZkxESYJOCSaIre5R2hZ1GYnF86YWxBRYc798ds5kLTJ7ypM+wAkXT6L1XgUPTWs2DsrQY0rGQ6firAjNIoc7Y9ixbKtoUD15NoP5VtjRoONSCB0z/IayiRA0BN+MGamVY+WqmO1NeAsf0ag6aiHSz6TkPBke3blItdaz6FYHIksu4yf259YHNbAVUnjq9Zq55IAmroQnLucQanIVvJrwvxhfVrXdFdeZbzn5sKV6Pghrw/Mi98IN9/yhKp/4t68tMWrjmcqolSrBVEC4oOH0v6s3xshnDQwqP5n8CXWgTjxFFHQvL4gzkU5noqif1ufZz1yecPc3tULA7Qi+i4LtxSB/pkygIKTg0+3zKh8NqjaJbpBWhpwFjw4PRfYqYOuZycr/bcNgHQ2dKQ8RfWDFbAo6kb4UAE+UOM/tWoYnzuVUBrxiwCw63CePg1jNIg2X73a0m3+g/FwzNwQwuH8gJsHTRtNj7OqASUeW0zKnOzDXDbO5d1zL86IjSaRAhveyHULVzccrQ00kvDB/Fg06IqYz+JT+Vy+INs2mC4+p7T+2gkXQnqwVrrTip28ggkJTGiZwMx13C6C53zoE1JdiiR056Z96pCIFftzuVNot3XMMuWWZouDw1yrEeuJ67ejIKyJU9yBLFZfyHaZCE4gn/W+aQPzh4gm9qeLWlixmu9kigz/XwVtSy0FZLtyZFicPDuWoX1xzX8MeHTOZy8l281jmRzwzT8f1LIUEqmqrdN5Eu3KM/lpsJsUvdAiD2hF/6g7ORdkUh/OWj9ufpYq3+q5OBOYJ5hRvyP6Avl8ClA+k0KBYCUmaF9eikybHu80L0TK9Og/A3iKXVrZPXKMUBqqKkHwNZz4Au4AulATi8ytQXh3wHIUpFeB2Zi4jpPEnDIOz4Dfa/hFSslilky+rGPr3gA5TBN2PDn637crZn705T0gwzws1F651JFL4NOPPzWknvu9zEFhI1LgK5zun9BNh5144SQ2CCDrWHPK7cr1OE/ucvLPONZI8Rtjb9Mf8l5/v2gH86mF8dZ7Kp3YcMZXCgBfRqOViZYXztgtsYCmcFpBAxTPbuiFKYVz5cemy+UL8i6T0jEoKpEZ/DRpyxgLyGxCq0AppWZnlfBl+QFXfoap6LVuwXaCOSJ89hiiYLWaKgS48nzxGutRX1x6BpLurOqWUkssfo08Ew7OnOnzkz8yZ1BoKTyTKjVWZxy08PQj4w3aM3gk1n0UvLhat5medEPcRIoe5PU0IhPJfGy+V8B5b+V1SSLZ+yVF+6T4D+UnkKRdUrzopWOhcvK5CZlhnGmhGSLfoQnr2PCoYz9/iEjWDqYdt7yjPd3aA7i1AgTo1DOD//3/Mtx03oH4fM1n6hueOqeKAbhnKf6GeSymyD+kFZQktrWKzfWXkZag3aoIahvx+Qf/qVEb0idzB554uaMKIQMo/xlhNbQvamI93XeWa4nWv2CRvanr4=

Hi Alex,

Herbelin and Lee have formalised the first-order sequent calculus LJT in Coq (https://hal.inria.fr/inria-00381554/document). In a current draft (http://www.ps.uni-saarland.de/~kirst/drafts/paper.pdf) we report on Coq formalisations of the completeness of LJT as well as a more conventional first-order sequent calculus LJ. Both are deep embeddings in the sense of the first article you mentioned and we have used a de Bruijn encoding of binders. 

Hope this helps,
Dominik
-----------------------------------------
Programming Systems Lab
Saarland University
http://www.ps.uni-saarland.de/~kirst/



On 8. Sep 2019, at 16:22, Alex Meyer <alex153 AT outlook.lv> wrote:

Hi!

I am a bit confused about doing logic in Coq and about availability of the sequent calculus (Gentzen or Hilber, anyway) for full first order logic in Coq. Google gives articles about sequent calculus for porpositional logic in Coq, but I have not managed to find one for first order.

There are two notes:
/1. Sequent calculus for other logics (with variables - first order) have already be done e.g. in https://www.sciencedirect.com/science/article/pii/S157106611830080X "Mechanizing Focused Linear Logic in Coq" - in that article the set of rules is formalized as inductive type with constructor for each rule (for sequents). So, it is not easy, but it can be done - one should simply transfer this approach for the sequent rules that have been written on the paper for already decades of years. Well, such approach involves handling of variables and binding and HOAS - higher order (parametric) abstract syntax. Maybe that has prohibited to develop FOL sequent calculus in Coq so far?

/2. Article https://arxiv.org/abs/1905.09381 "Learning to Prove Theorems via Interacting with Proof Assistants" gives high level overview of Coq approach: every theorem can be proved in low level manner - by encoding it in logical statement and solving the SAT problem for the negation of that statement. Coq, it is said in that article, is higher level approach that does not try to cast everything in the logical level, but that tries to use higher level notions, concepts (that, of course can be expressed in the low level logical definitions) and theorems in higher level reasoning. So, such viewpoint can invalidate the need for sequent calculus in Coq.

But, I guess, there are lot of tasks that requires doing logic in low level manner. E.g. almost all knowledge bases, knowledge graphs in exper systems are expressed as logical formulas, so, one is eager to apply Coq in such expert systems as well and that is why sequent calculus may be needed.

This my question is connected with the previous question https://sympa.inria.fr/sympa/arc/coq-club/2019-09/msg00027.html about use of Coq for forward chaining/reasoning/inference. Formalization of sequent calculus for FOL is requirement, I guess, for doing such forward inference.

https://content.sciendo.com/view/journals/ausi/8/1/article-p41.xml "Contralog: a Prolog conform forward-chaining environment and its application for dynamic programming and natural language parsing" is example how forward inference is being enabled in Prolog, that is as backward inference intended systams as Coq is. Maybe that can give some inspiration.

Thanks,
Alex

Attachment: signature.asc
Description: Message signed with OpenPGP




Archive powered by MHonArc 2.6.18.

Top of Page