package rocq-metarocq-quotation
  Gallina quotation functions for Template Rocq
Install
Dune Dependency
Authors
- 
  
    
    AAbhishek Anand <aa755@cs.cornell.edu>
- 
  
    
    DDanil Annenkov <danil.v.annenkov@gmail.com>
- 
  
    
    SSimon Boulier <simon.boulier@inria.fr>
- 
  
    
    CCyril Cohen <cyril.cohen@inria.fr>
- 
  
    
    YYannick Forster <forster@ps.uni-saarland.de>
- 
  
    
    JJason Gross <jgross@mit.edu>
- 
  
    
    FFabian Kunze <fkunze@fakusb.de>
- 
  
    
    MMeven Lennon-Bertrand <Meven.Bertrand@univ-nantes.fr>
- 
  
    
    KKenji Maillard <kenji.maillard@inria.fr>
- 
  
    
    GGregory Malecha <gmalecha@gmail.com>
- 
  
    
    JJakob Botsch Nielsen <Jakob.botsch.nielsen@gmail.com>
- 
  
    
    MMatthieu Sozeau <matthieu.sozeau@inria.fr>
- 
  
    
    NNicolas Tabareau <nicolas.tabareau@inria.fr>
- 
  
    
    TThéo Winterhalter <theo.winterhalter@inria.fr>
Maintainers
Sources
  
    
      v1.4-9.0.tar.gz
    
    
        
    
  
  
  
    
  
        sha512=47adfad51b4abaa91bc7875848516e2870b6258ff0c4376ce7afb9d7e3ba209b6501c2506c952f369ec5061d786a474990abb26033a98305b4e3264329f3a1e9
    
    
  Description
MetaRocq is a meta-programming framework for Rocq.
The Quotation module is geared at providing functions □T → □□T for
□T := Ast.term (currently implemented) and for □T := { t : Ast.term & Σ ;;; [] |- t : T } (still in the works).  Currently Ast.term → Ast.term and (Σ ;;; [] |- t : T) → Ast.term functions are provided
for Template and PCUIC terms, in MetaRocq.Quotation.ToTemplate.All
and MetaRocq.Quotation.ToPCUIC.All.  Proving well-typedness is still
a work in progress.
Ultimately the goal of this development is to prove that □ is a lax monoidal
semicomonad (a functor with cojoin : □T → □□T that codistributes over unit
and ×), which is sufficient for proving Löb's theorem.
Published: 26 Mar 2025
Dependencies (3)
- 
  
    rocq-metarocq-template-pcuic
  
  
    = version
- 
  
    rocq-metarocq-pcuic
  
  
    = version
- 
  
    rocq-metarocq-template
  
  
    = version
Dev Dependencies
None
Used by (1)
Conflicts
None
 sectionYPositions = computeSectionYPositions($el), 10)"
  x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
  >
  
  
On This Page