aboutsummaryrefslogtreecommitdiff
path: root/vendor/Ltac2/theories/Fresh.v
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/Ltac2/theories/Fresh.v')
-rw-r--r--vendor/Ltac2/theories/Fresh.v26
1 files changed, 26 insertions, 0 deletions
diff --git a/vendor/Ltac2/theories/Fresh.v b/vendor/Ltac2/theories/Fresh.v
new file mode 100644
index 0000000000..5e876bb077
--- /dev/null
+++ b/vendor/Ltac2/theories/Fresh.v
@@ -0,0 +1,26 @@
+(************************************************************************)
+(* v * The Coq Proof Assistant / The Coq Development Team *)
+(* <O___,, * INRIA - CNRS - LIX - LRI - PPS - Copyright 1999-2016 *)
+(* \VV/ **************************************************************)
+(* // * This file is distributed under the terms of the *)
+(* * GNU Lesser General Public License Version 2.1 *)
+(************************************************************************)
+
+Require Import Ltac2.Init.
+
+Module Free.
+
+Ltac2 Type t.
+(** Type of sets of free variables *)
+
+Ltac2 @ external union : t -> t -> t := "ltac2" "fresh_free_union".
+
+Ltac2 @ external of_ids : ident list -> t := "ltac2" "fresh_free_of_ids".
+
+Ltac2 @ external of_constr : constr -> t := "ltac2" "fresh_free_of_constr".
+
+End Free.
+
+Ltac2 @ external fresh : Free.t -> ident -> ident := "ltac2" "fresh_fresh".
+(** Generate a fresh identifier with the given base name which is not a
+ member of the provided set of free variables. *)