Skip to Content.
Sympa Menu

coq-club - RE: [Coq-Club] functor application

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

RE: [Coq-Club] functor application


Chronological Thread 
  • From: "Soegtrop, Michael" <michael.soegtrop AT intel.com>
  • To: "coq-club AT inria.fr" <coq-club AT inria.fr>
  • Subject: RE: [Coq-Club] functor application
  • Date: Fri, 28 Oct 2016 08:03:50 +0000
  • Accept-language: de-DE, en-US
  • Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=michael.soegtrop AT intel.com; spf=Pass smtp.mailfrom=michael.soegtrop AT intel.com; spf=None smtp.helo=postmaster AT mga05.intel.com
  • Ironport-phdr: 9a23:mMxu+RDX+l4MrxC/M4pkUyQJP3N1i/DPJgcQr6AfoPdwSP77oMbcNUDSrc9gkEXOFd2CrakV0ayJ6eu5AjdIoc7Y9itdINoUD15NoP5VtjJjKfbNMVf8Iv/uYn5yN+V5f3ghwUuGN1NIEt31fVzYry76xzcTHhLiKVg9fbytScaBx/iwgqq5/ISWaAFVjhK8Z6lzJVO4t0+Z4sIRmM5pLrs74hrPuHpBPepMkzBGP1WWylzH4cq/4IRk62AYnvMq98dNVe+yK6E5RrxRATBgKGc469HxsgHrTA2T639aWWITxEkbSzPZ5Q33C8+i+hDxsfBwjXGX

Dear Patricia,

 

Starting at PeanoNat bottom up we see:

 

PeanoNat.v imports NProperties.v

 

NPoperties contains this definition:

Module Type NBasicProp (N:NAxiomsMiniSig) := NMaxMinProp N.

Which aliases the module functor NMaxMinProp as module type functor NBasicProp.

Mixing of modules and module types is possible within certain limits. I didn’t check why this is done in this special case.

 

PeanoNat defines module Nat, which contains

Include NBasicProp <+ UsualMinMaxLogicalProperties <+ UsualMinMaxDecProperties.

This instantiates the module type functor NBasicProp = module functor NMaxMinProp.

 

 

Now starting at NOrderProp top down we see:

 

NOrder defines a module functor NOrderProp.

NOrderProp is included in the module functor NAddOrderProp defined in NAddOrder.v.

NAddOrderProp is included in the module functor NMulOrderProp defined in NMulOrder.v.

NMulOrderProp is included in the module functor NSubProp defined in NSub.

NSubProp is included in many module functors, e.g. NMaxMinProp defined in NMaxMin.v

 

This is the nMaxMinProp included as NBasicProp in module Nat.

 

I once tried to make a tool to automatically create graphical representations of module dependencies, but it is not so easy.

 

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