-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathsearch.mli
More file actions
41 lines (37 loc) · 1.06 KB
/
search.mli
File metadata and controls
41 lines (37 loc) · 1.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
(*
* Searching for ornamental promotions between inductive types
*)
open Constr
open Environ
open Evd
open Names
open Promotion
open Stateutils
(* --- Top-level search --- *)
(*
* Search for an ornamental promotion between two types
*)
val search_orn :
env ->
evar_map ->
Id.t option -> (* name to assign the indexer function, if relevant *)
int option -> (* offset of swap map, if relevant *)
types -> (* old type *)
types -> (* new type *)
promotion state (* ornamental promotion *)
(*
* Try to invert a single component of an ornamental promotion isomorphism
* (Like search, but only in one direction)
*
* Exactly one of promote and forget must be present, otherwise this fails
*)
val invert_orn :
env ->
evar_map ->
Id.t option -> (* name to assign the indexer function, if relevant *)
int option -> (* offset of swap map, if relevant *)
types -> (* old type *)
types -> (* new type *)
constr option -> (* optional promotion function *)
constr option -> (* optional forgetful function *)
promotion state (* ornamental promotion *)