Skip to content

Commit 07a2c66

Browse files
authored
Merge pull request #935 from MetaCoq/rename-Level-and-Var
Rename level and var
2 parents 9f7bc13 + 23aaee7 commit 07a2c66

File tree

17 files changed

+190
-188
lines changed

17 files changed

+190
-188
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ Makefile.coq.conf
2121
.merlin
2222
html/*.html
2323
.lia.cache
24+
*/.nia.cache
2425
.hidden
2526
_opam/
2627
.vscode/settings.json
@@ -362,6 +363,7 @@ test-suite/plugin-demo/src/META.coq-metacoq-demo-plugin
362363
pcuic/src/META.coq-metacoq-pcuic
363364
examples/_CoqProject
364365
test-suite/_CoqProject
366+
quotation/metacoq-config
365367
examples/metacoq-config
366368
test-suite/metacoq-config
367369
test-suite/plugin-demo/_CoqProject

common/theories/EnvironmentTyping.v

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -909,8 +909,8 @@ Module GlobalMaps (T: Term) (E: EnvironmentSig T) (TU : TermUtils T E) (ET: EnvT
909909

910910
Definition lift_level n l :=
911911
match l with
912-
| Level.lzero | Level.Level _ => l
913-
| Level.Var k => Level.Var (n + k)
912+
| Level.lzero | Level.level _ => l
913+
| Level.lvar k => Level.lvar (n + k)
914914
end.
915915

916916
Definition lift_instance n l :=
@@ -925,7 +925,7 @@ Module GlobalMaps (T: Term) (E: EnvironmentSig T) (TU : TermUtils T E) (ET: EnvT
925925
cstrs ConstraintSet.empty.
926926

927927
Definition level_var_instance n (inst : list name) :=
928-
mapi_rec (fun i _ => Level.Var i) inst n.
928+
mapi_rec (fun i _ => Level.lvar i) inst n.
929929

930930
Fixpoint variance_cstrs (v : list Variance.t) (u u' : Instance.t) :=
931931
match v, u, u' with

common/theories/Universes.v

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ Hint Extern 10 => absurd : core.
2525
(** * Valuations *)
2626

2727
(** A valuation is a universe level (nat) given for each
28-
universe variable (Level.t).
28+
universe lvariable (Level.t).
2929
It is >= for polymorphic concreteUniverses and > 0 for monomorphic concreteUniverses. *)
3030
Record valuation :=
3131
{ valuation_mono : string -> positive ;
@@ -34,12 +34,12 @@ Record valuation :=
3434
Class Evaluable (A : Type) := val : valuation -> A -> nat.
3535

3636

37-
(** Levels are Set or Level or Var *)
37+
(** Levels are Set or Level or lvar *)
3838
Module Level.
3939
Inductive t_ : Set :=
4040
| lzero
41-
| Level (_ : string)
42-
| Var (_ : nat) (* these are debruijn indices *).
41+
| level (_ : string)
42+
| lvar (_ : nat) (* these are debruijn indices *).
4343
Derive NoConfusion for t_.
4444

4545
Definition t := t_.
@@ -52,15 +52,15 @@ Module Level.
5252

5353
Definition is_var (l : t) :=
5454
match l with
55-
| Var _ => true
55+
| lvar _ => true
5656
| _ => false
5757
end.
5858

5959
Global Instance Evaluable : Evaluable t
6060
:= fun v l => match l with
6161
| lzero => (0%nat)
62-
| Level s => (Pos.to_nat (v.(valuation_mono) s))
63-
| Var x => (v.(valuation_poly) x)
62+
| level s => (Pos.to_nat (v.(valuation_mono) s))
63+
| lvar x => (v.(valuation_poly) x)
6464
end.
6565

6666

@@ -69,21 +69,21 @@ Module Level.
6969
| lzero, lzero => Eq
7070
| lzero, _ => Lt
7171
| _, lzero => Gt
72-
| Level s1, Level s2 => string_compare s1 s2
73-
| Level _, _ => Lt
74-
| _, Level _ => Gt
75-
| Var n, Var m => Nat.compare n m
72+
| level s1, level s2 => string_compare s1 s2
73+
| level _, _ => Lt
74+
| _, level _ => Gt
75+
| lvar n, lvar m => Nat.compare n m
7676
end.
7777

7878
Definition eq : t -> t -> Prop := eq.
7979
Definition eq_equiv : Equivalence eq := _.
8080

8181
Inductive lt_ : t -> t -> Prop :=
82-
| ltSetLevel s : lt_ lzero (Level s)
83-
| ltSetVar n : lt_ lzero (Var n)
84-
| ltLevelLevel s s' : StringOT.lt s s' -> lt_ (Level s) (Level s')
85-
| ltLevelVar s n : lt_ (Level s) (Var n)
86-
| ltVarVar n n' : Nat.lt n n' -> lt_ (Var n) (Var n').
82+
| ltSetLevel s : lt_ lzero (level s)
83+
| ltSetlvar n : lt_ lzero (lvar n)
84+
| ltLevelLevel s s' : StringOT.lt s s' -> lt_ (level s) (level s')
85+
| ltLevellvar s n : lt_ (level s) (lvar n)
86+
| ltlvarlvar n n' : Nat.lt n n' -> lt_ (lvar n) (lvar n').
8787
Derive Signature for lt_.
8888

8989
Definition lt := lt_.
@@ -122,8 +122,8 @@ Module Level.
122122
Definition eq_level l1 l2 :=
123123
match l1, l2 with
124124
| Level.lzero, Level.lzero => true
125-
| Level.Level s1, Level.Level s2 => ReflectEq.eqb s1 s2
126-
| Level.Var n1, Level.Var n2 => ReflectEq.eqb n1 n2
125+
| Level.level s1, Level.level s2 => ReflectEq.eqb s1 s2
126+
| Level.lvar n1, Level.lvar n2 => ReflectEq.eqb n1 n2
127127
| _, _ => false
128128
end.
129129

@@ -967,7 +967,7 @@ End ConcreteUniverses.
967967

968968

969969
(** This inductive classifies which eliminations are allowed for inductive types
970-
in various sorts. *)
970+
in lvarious sorts. *)
971971
Inductive allowed_eliminations : Set :=
972972
| IntoSProp
973973
| IntoPropSProp
@@ -1575,7 +1575,7 @@ Module AUContext.
15751575
Definition make (ids : list name) (ctrs : ConstraintSet.t) : t := (ids, ctrs).
15761576
Definition repr (x : t) : UContext.t :=
15771577
let (u, cst) := x in
1578-
(u, (mapi (fun i _ => Level.Var i) u, cst)).
1578+
(u, (mapi (fun i _ => Level.lvar i) u, cst)).
15791579

15801580
Definition levels (uctx : t) : LevelSet.t :=
15811581
LevelSetProp.of_list (fst (snd (repr uctx))).
@@ -1584,7 +1584,7 @@ Module AUContext.
15841584
Existing Instance EqDec_ReflectEq.
15851585
Definition inter (au av : AUContext.t) : AUContext.t :=
15861586
let prefix := (split_prefix au.1 av.1).1.1 in
1587-
let lvls := fold_left_i (fun s i _ => LevelSet.add (Level.Var i) s) prefix LevelSet.empty in
1587+
let lvls := fold_left_i (fun s i _ => LevelSet.add (Level.lvar i) s) prefix LevelSet.empty in
15881588
let filter := ConstraintSet.filter (is_declared_cstr_levels lvls) in
15891589
make prefix (ConstraintSet.union (filter au.2) (filter av.2)).
15901590
End AUContext.
@@ -1660,7 +1660,7 @@ Qed.
16601660
(* Variance info is needed to do full universe polymorphism *)
16611661
Module Variance.
16621662
(** A universe position in the instance given to a cumulative
1663-
inductive can be the following. Note there is no Contravariant
1663+
inductive can be the following. Note there is no Contralvariant
16641664
case because [forall x : A, B <= forall x : A', B'] requires [A =
16651665
A'] as opposed to [A' <= A]. *)
16661666
Inductive t :=
@@ -2436,13 +2436,13 @@ End no_prop_leq_type.
24362436

24372437

24382438
(* This level is a hack used in plugings to generate fresh levels *)
2439-
Definition fresh_level : Level.t := Level.Level "__metacoq_fresh_level__".
2439+
Definition fresh_level : Level.t := Level.level "__metacoq_fresh_level__".
24402440
(* This universe is a hack used in plugins to generate fresh concreteUniverses *)
24412441
Definition fresh_universe : Universe.t := Universe.make fresh_level.
24422442

24432443
(** * Universe substitution
24442444
2445-
Substitution of universe levels for universe level variables, used to
2445+
Substitution of universe levels for universe level lvariables, used to
24462446
implement universe polymorphism. *)
24472447

24482448

@@ -2455,8 +2455,8 @@ Notation "x @[ u ]" := (subst_instance u x) (at level 3,
24552455

24562456
#[global] Instance subst_instance_level : UnivSubst Level.t :=
24572457
fun u l => match l with
2458-
Level.lzero | Level.Level _ => l
2459-
| Level.Var n => List.nth n u Level.lzero
2458+
Level.lzero | Level.level _ => l
2459+
| Level.lvar n => List.nth n u Level.lzero
24602460
end.
24612461

24622462
#[global] Instance subst_instance_cstr : UnivSubst UnivConstraint.t :=
@@ -2469,8 +2469,8 @@ Notation "x @[ u ]" := (subst_instance u x) (at level 3,
24692469
#[global] Instance subst_instance_level_expr : UnivSubst LevelExpr.t :=
24702470
fun u e => match e with
24712471
| (Level.lzero, _)
2472-
| (Level.Level _, _) => e
2473-
| (Level.Var n, b) =>
2472+
| (Level.level _, _) => e
2473+
| (Level.lvar n, b) =>
24742474
match nth_error u n with
24752475
| Some l => (l,b)
24762476
| None => (Level.lzero, b)
@@ -2489,13 +2489,13 @@ Notation "x @[ u ]" := (subst_instance u x) (at level 3,
24892489
#[global] Instance subst_instance_instance : UnivSubst Instance.t :=
24902490
fun u u' => List.map (subst_instance_level u) u'.
24912491

2492-
(** Tests that the term is closed over [k] universe variables *)
2492+
(** Tests that the term is closed over [k] universe lvariables *)
24932493
Section Closedu.
24942494
Context (k : nat).
24952495

24962496
Definition closedu_level (l : Level.t) :=
24972497
match l with
2498-
| Level.Var n => (n <? k)%nat
2498+
| Level.lvar n => (n <? k)%nat
24992499
| _ => true
25002500
end.
25012501

@@ -2620,8 +2620,8 @@ Hint Resolve subst_instance_level_closedu subst_instance_level_expr_closedu
26202620
Definition string_of_level (l : Level.t) : string :=
26212621
match l with
26222622
| Level.lzero => "Set"
2623-
| Level.Level s => s
2624-
| Level.Var n => "Var" ^ string_of_nat n
2623+
| Level.level s => s
2624+
| Level.lvar n => "lvar" ^ string_of_nat n
26252625
end.
26262626

26272627
Definition string_of_level_expr (e : LevelExpr.t) : string :=

common/theories/UniversesDec.v

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ Qed.
121121
*)
122122
Definition uniquify_level_level (shared_levels : LevelSet.t) (shared_prefix : Byte.byte) (prefix : Byte.byte) (x : string) : string
123123
:= (String.String
124-
(if LevelSet.mem (Level.Level x) shared_levels
124+
(if LevelSet.mem (Level.level x) shared_levels
125125
then shared_prefix
126126
else prefix)
127127
x).
@@ -131,22 +131,22 @@ Definition ununiquify_level_level (x : string) : string
131131
| String.String _ x => x
132132
end.
133133
Definition uniquify_level_var (shared_levels : LevelSet.t) (total_sets : nat) (offset : nat) (x : nat) : nat
134-
:= x * S total_sets + (if LevelSet.mem (Level.Var x) shared_levels
134+
:= x * S total_sets + (if LevelSet.mem (Level.lvar x) shared_levels
135135
then O
136136
else S offset).
137137
Definition ununiquify_level_var (total_sets : nat) (x : nat) : nat
138138
:= Z.to_nat (Z.of_nat x / Z.of_nat (S total_sets)).
139139
Definition uniquify_level (shared_levels : LevelSet.t) (shared_prefix : Byte.byte) (total_sets : nat) (prefix : Byte.byte) (offset : nat) (lvl : Level.t) : Level.t
140140
:= match lvl with
141141
| Level.lzero => Level.lzero
142-
| Level.Level x => Level.Level (uniquify_level_level shared_levels shared_prefix prefix x)
143-
| Level.Var x => Level.Var (uniquify_level_var shared_levels total_sets offset x)
142+
| Level.level x => Level.level (uniquify_level_level shared_levels shared_prefix prefix x)
143+
| Level.lvar x => Level.lvar (uniquify_level_var shared_levels total_sets offset x)
144144
end.
145145
Definition ununiquify_level (total_sets : nat) (lvl : Level.t) : Level.t
146146
:= match lvl with
147147
| Level.lzero => Level.lzero
148-
| Level.Level x => Level.Level (ununiquify_level_level x)
149-
| Level.Var x => Level.Var (ununiquify_level_var total_sets x)
148+
| Level.level x => Level.level (ununiquify_level_level x)
149+
| Level.lvar x => Level.lvar (ununiquify_level_var total_sets x)
150150
end.
151151
Definition uniquify_constraint (shared_levels : LevelSet.t) (shared_prefix : Byte.byte) (total_sets : nat) (prefix : Byte.byte) (offset : nat) (c : ConstraintSet.elt) : ConstraintSet.elt
152152
:= let '((l1, c), l2) := c in
@@ -482,8 +482,8 @@ Proof.
482482
| lia
483483
| progress subst
484484
| match goal with
485-
| [ H : Level.Var _ = Level.Var _ |- _ ] => inversion H; clear H
486-
| [ H : Level.Level _ = Level.Level _ |- _ ] => inversion H; clear H
485+
| [ H : Level.lvar _ = Level.lvar _ |- _ ] => inversion H; clear H
486+
| [ H : Level.level _ = Level.level _ |- _ ] => inversion H; clear H
487487
| [ H : (@eqb ?T ?R ?x ?y) = true |- _ ]
488488
=> destruct (@eqb_spec T R x y)
489489
| [ H : (@eqb ?T ?R ?x ?y) = false |- _ ]

0 commit comments

Comments
 (0)