diff options
| author | Yves Bertot | 2013-03-02 14:00:46 -0500 |
|---|---|---|
| committer | Matthieu Sozeau | 2014-05-06 09:58:57 +0200 |
| commit | 8a905458039b631165d068bbf62f88e11eb36eb1 (patch) | |
| tree | f4f96ea7b7d482fc79acb6edb3b1c96aec2555a5 /intf | |
| parent | 29794b8acf407518716f8c02c2ed20729f8802e5 (diff) | |
Adapt Y. Bertot's path on private inductives (now the keyword is "Private").
A quick and dirty approach to private inductive types
Types for which computable functions are provided, but pattern-matching is disallowed.
This kind of type can be used to simulate simple forms of higher inductive types, with
convertibility for applications of the inductive principle to 0-constructors
Conflicts:
intf/vernacexpr.mli
kernel/declarations.ml
kernel/declarations.mli
kernel/entries.mli
kernel/indtypes.ml
library/declare.ml
parsing/g_vernac.ml4
plugins/funind/glob_term_to_relation.ml
pretyping/indrec.ml
pretyping/tacred.mli
printing/ppvernac.ml
toplevel/vernacentries.ml
Conflicts:
kernel/declarations.mli
kernel/declareops.ml
kernel/indtypes.ml
kernel/modops.ml
Diffstat (limited to 'intf')
| -rw-r--r-- | intf/decl_kinds.mli | 2 | ||||
| -rw-r--r-- | intf/vernacexpr.mli | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/intf/decl_kinds.mli b/intf/decl_kinds.mli index 2ed776c2d6..ff77d718bc 100644 --- a/intf/decl_kinds.mli +++ b/intf/decl_kinds.mli @@ -14,6 +14,8 @@ type binding_kind = Explicit | Implicit type polymorphic = bool +type private_flag = bool + type theorem_kind = | Theorem | Lemma diff --git a/intf/vernacexpr.mli b/intf/vernacexpr.mli index ed6ded8e19..0b2e55941a 100644 --- a/intf/vernacexpr.mli +++ b/intf/vernacexpr.mli @@ -296,7 +296,7 @@ type vernac_expr = | VernacExactProof of constr_expr | VernacAssumption of (locality option * assumption_object_kind) * inline * simple_binder with_coercion list - | VernacInductive of inductive_flag * infer_flag * (inductive_expr * decl_notation list) list + | VernacInductive of private_flag * inductive_flag * infer_flag * (inductive_expr * decl_notation list) list | VernacFixpoint of locality option * (fixpoint_expr * decl_notation list) list | VernacCoFixpoint of |
