package rocq-runtime
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=a45280ab4fbaac7540b136a6b073b4a6db15739ec1e149bded43fa6f4fc25f20
doc/rocq-runtime.pretyping/Locus/index.html
Module Locus
Locus : positions in hypotheses and goals.
'a or_var represents either a value of type 'a or a variable.
Occurrences
type occurrences_expr = int or_var occurrences_gentype 'a with_occurrences_expr = occurrences_expr * 'atype occurrences = int occurrences_gentype 'a with_occurrences = occurrences * 'aLocations
In a hypothesis, occurrences can refer to the body (if any), to the type, or to both.
Abstract clauses expressions
type 'a hyp_location_expr = 'a with_occurrences_expr * hyp_location_flagA clause_expr (and its instance clause) denotes occurrences and hypotheses in a goal in an abstract way; in particular, it can refer to the set of all hypotheses independently of the effective contents of the current goal.
Concerning the field onhyps:
Nonemeans *on every hypothesis*.Some hypsmeans on hypotheses belonging tohyps.
type clause = Names.Id.t clause_exprConcrete view of occurrence clauses
type clause_atom = | OnHyp of Names.Id.t * occurrences_expr * hyp_location_flag| OnConcl of occurrences_expr
clause_atom refers either to:
- Some occurrences in a hypothesis.
- Some occurrences in the conclusion .
type concrete_clause = clause_atom listA concrete_clause is a collection of occurrences in hypotheses and in the conclusion.
A weaker form of clause with no mention of occurrences
type hyp_location = Names.Id.t * hyp_location_flagA hyp_location is a hypothesis together with a location in this hypothesis (body, type, or both).
type goal_location = hyp_location optionA goal_location is either:
- A hypothesis (together with a location in this hypothesis).
- The conclusion (represented by
None).
Simple clauses, without occurrences nor location
type simple_clause = Names.Id.t option listA simple_clause is a set of hypotheses, possibly extended with the conclusion (conclusion is represented by None).