aboutsummaryrefslogtreecommitdiff
path: root/contrib
diff options
context:
space:
mode:
authorsacerdot2004-04-06 19:52:03 +0000
committersacerdot2004-04-06 19:52:03 +0000
commitcd902906499c85cf8af69ecb44f4960750de2771 (patch)
treef843e0e13765628637b26cf2f72652519a557115 /contrib
parent18f2ca25ad33c4a0b44cea290d99b158703a1703 (diff)
Fake dependent products in inductive definition types are no longer replaced
with non dependent products. The main motivation is that inductive definition parameters often occurs as non-dependent products in the product types, but the binder names are still necessary to render the definition in the usual Coq way. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@5646 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'contrib')
-rw-r--r--contrib/xml/cic2acic.ml8
1 files changed, 6 insertions, 2 deletions
diff --git a/contrib/xml/cic2acic.ml b/contrib/xml/cic2acic.ml
index 22e9670d50..4a7c0c8adf 100644
--- a/contrib/xml/cic2acic.ml
+++ b/contrib/xml/cic2acic.ml
@@ -846,7 +846,8 @@ let acic_object_of_cic_object pvars sigma obj =
(*CSC: either in the environment or in the named context (in the case *)
(*CSC: of variables. Is this a problem? *)
let env = Global.env () in
- let acic_term_of_cic_term' = acic_term_of_cic_term_context' env [] sigma in
+ let acic_term_of_cic_term' ?fake_dependent_products =
+ acic_term_of_cic_term_context' ?fake_dependent_products env [] sigma in
(*CSC: the fresh_id is not stored anywhere. This _MUST_ be fixed using *)
(*CSC: a modified version of the already existent fresh_id function *)
let fresh_id () =
@@ -943,7 +944,10 @@ let acic_object_of_cic_object pvars sigma obj =
env' idrefs Evd.empty ty None)
) cons
in
- (id,name,inductive,acic_term_of_cic_term' ty None,acons)
+ let aty =
+ acic_term_of_cic_term' ~fake_dependent_products:true ty None
+ in
+ (id,name,inductive,aty,acons)
) (List.rev idrefs) tys
in
A.AInductiveDefinition (fresh_id (),atys,params,paramsno)