package coq-core

  1. Overview
  2. Docs
The Coq Proof Assistant -- Core Binaries and Tools

Install

Dune Dependency

Authors

Maintainers

Sources

coq-8.17.0.tar.gz
sha512=2f77bcb5211018b5d46320fd39fd34450eeb654aca44551b28bb50a2364398c4b34587630b6558db867ecfb63b246fd3e29dc2375f99967ff62bc002db9c3250

doc/coq-core.pretyping/Structures/CanonicalSolution/index.html

Module Structures.CanonicalSolutionSource

The canonical solution of a problem (proj,val) is a global constant = fun abs : abstractions_ty => body and body = RecodConstructor params canon_values and the canonical value corresponding to val is val cvalue_arguments. It is possible that val is one of the abs abstractions, eg Default_cs, and in that case cvalue_abstraction = Some i

Sourcetype t = {
  1. constant : EConstr.t;
  2. abstractions_ty : EConstr.t list;
  3. body : EConstr.t;
  4. nparams : int;
  5. params : EConstr.t list;
  6. cvalue_abstraction : int option;
  7. cvalue_arguments : EConstr.t list;
}

find (p,v) returns a s such that p s = v. The solution s gets a fresh universe instance and is decomposed into bits for consumption by evarconv. Can raise Not_found on failure

Sourceval is_open_canonical_projection : Environ.env -> Evd.evar_map -> EConstr.t -> bool

is_open_canonical_projection env sigma t is true if t is a FieldName applied to term which is not a constructor. Used by evarconv not to unfold too much and lose a projection too early

OCaml

Innovation. Community. Security.