aboutsummaryrefslogtreecommitdiffhomepage
path: root/toplevel
diff options
context:
space:
mode:
authorGravatar letouzey <letouzey@85f007b7-540e-0410-9357-904b9bb8a0f7>2004-06-25 00:00:12 +0000
committerGravatar letouzey <letouzey@85f007b7-540e-0410-9357-904b9bb8a0f7>2004-06-25 00:00:12 +0000
commit4a602e4d159c68eaa127e636df0d3445bfe998a2 (patch)
tree6d93fbfdeb31a62e4d9e7f44909768b18acf3307 /toplevel
parent31c8ed3ac64af0792401e13d086b13833e818c08 (diff)
correspondance des records et noms de champs de records entre un module et sa signature
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@5823 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'toplevel')
-rw-r--r--toplevel/command.ml4
-rw-r--r--toplevel/discharge.ml4
-rw-r--r--toplevel/record.ml3
3 files changed, 8 insertions, 3 deletions
diff --git a/toplevel/command.ml b/toplevel/command.ml
index fc2c2cb29..411d42df5 100644
--- a/toplevel/command.ml
+++ b/toplevel/command.ml
@@ -358,7 +358,9 @@ let interp_mutual lparams lnamearconstrs finite =
(List.rev arityl) lnamearconstrs
in
States.unfreeze fs;
- notations, { mind_entry_finite = finite; mind_entry_inds = mispecvec }
+ notations, { mind_entry_record = false;
+ mind_entry_finite = finite;
+ mind_entry_inds = mispecvec }
with e -> States.unfreeze fs; raise e
let declare_mutual_with_eliminations isrecord mie =
diff --git a/toplevel/discharge.ml b/toplevel/discharge.ml
index 5f2c068fd..12c5056ee 100644
--- a/toplevel/discharge.ml
+++ b/toplevel/discharge.ml
@@ -118,6 +118,7 @@ let abstract_inductive sec_sp ids_to_abs hyps inds =
let process_inductive sec_sp osecsp nsecsp oldenv (ids_to_discard,modlist) mib =
assert (Array.length mib.mind_packets > 0);
+ let record = mib.mind_record in
let finite = mib.mind_finite in
let inds =
array_map_to_list
@@ -153,7 +154,8 @@ let process_inductive sec_sp osecsp nsecsp oldenv (ids_to_discard,modlist) mib =
in
let indmodifs,cstrmodifs =
List.split (list_tabulate lmodif_one_mind mib.mind_ntypes) in
- ({ mind_entry_finite = finite;
+ ({ mind_entry_record = record;
+ mind_entry_finite = finite;
mind_entry_inds = inds' },
indmodifs,
List.flatten cstrmodifs,
diff --git a/toplevel/record.ml b/toplevel/record.ml
index acddd2e61..843e4e074 100644
--- a/toplevel/record.ml
+++ b/toplevel/record.ml
@@ -226,7 +226,8 @@ let definition_structure ((is_coe,(_,idstruc)),ps,cfs,idbuild,s) =
mind_entry_consnames = [idbuild];
mind_entry_lc = [type_constructor] } in
let mie =
- { mind_entry_finite = true;
+ { mind_entry_record = true;
+ mind_entry_finite = true;
mind_entry_inds = [mie_ind] } in
let sp = declare_mutual_with_eliminations true mie in
let rsp = (sp,0) in (* This is ind path of idstruc *)