@@ -138,6 +138,10 @@ Lemma map_dbody {A B} (f : A -> B) (g : A -> B) (d : def A) :
138138 g (dbody d) = dbody (map_def f g d).
139139Proof . destruct d; reflexivity. Qed .
140140
141+ Lemma map_dname {A B} (f : A -> B) (g : A -> B) (d : def A) :
142+ dname d = dname (map_def f g d).
143+ Proof . destruct d; reflexivity. Qed .
144+
141145Definition mfixpoint term := list (def term).
142146
143147Definition test_def {A} (tyf bodyf : A -> bool) (d : def A) :=
@@ -217,13 +221,13 @@ Record judgment_ {universe Term} := Judge {
217221 j_term : option Term ;
218222 j_typ : Term ;
219223 j_univ : option universe;
220- (* j_rel : option relevance; *)
224+ j_rel : option relevance;
221225}.
222226Arguments judgment_ : clear implicits.
223227Arguments Judge {universe Term } _ _ _.
224228
225229Definition judgment_map {univ T A} (f: T -> A) (j : judgment_ univ T) :=
226- Judge (option_map f (j_term j)) (f (j_typ j)) (j_univ j) (* ( j_rel j) * ) .
230+ Judge (option_map f (j_term j)) (f (j_typ j)) (j_univ j) (j_rel j).
227231
228232Section Contexts.
229233 Context {term : Type}.
@@ -239,17 +243,21 @@ End Contexts.
239243
240244Arguments context_decl : clear implicits.
241245
242- Notation Typ typ := (Judge None typ None).
243- Notation TermTyp tm ty := (Judge (Some tm) ty None).
244- Notation TermoptTyp tm typ := (Judge tm typ None).
245- Notation TypUniv ty u := (Judge None ty (Some u)).
246- Notation TermTypUniv tm ty u := (Judge (Some tm) ty (Some u)).
247-
248- Notation j_vass na ty := (Typ ty (* na.(binder_relevance) *)) (only parsing).
249- Notation j_vass_s na ty s := (TypUniv ty s (* na.(binder_relevance) *)) (only parsing).
250- Notation j_vdef na b ty := (TermTyp b ty (* na.(binder_relevance) *)) (only parsing).
251- Notation j_decl d := (TermoptTyp (decl_body d) (decl_type d) (* (decl_name d).(binder_relevance) *)).
252- Notation j_decl_s d s := (Judge (decl_body d) (decl_type d) s (* (decl_name d).(binder_relevance) *)).
246+ Notation Typ typ := (Judge None typ None None).
247+ Notation TypRel typ rel := (Judge None typ None (Some rel)).
248+ Notation TermTyp tm ty := (Judge (Some tm) ty None None).
249+ Notation TermTypRel tm ty rel := (Judge (Some tm) ty None (Some rel)).
250+ Notation TermoptTyp tm typ := (Judge tm typ None None).
251+ Notation TermoptTypRel tm typ rel := (Judge tm typ None (Some rel)).
252+ Notation TypUniv ty u := (Judge None ty (Some u) None).
253+ Notation TypUnivRel ty u rel := (Judge None ty (Some u) (Some rel)).
254+ Notation TermTypUniv tm ty u := (Judge (Some tm) ty (Some u) None).
255+
256+ Notation j_vass na ty := (TypRel ty na.(binder_relevance)).
257+ Notation j_vass_s na ty s := (TypUnivRel ty s na.(binder_relevance)).
258+ Notation j_vdef na b ty := (TermTypRel b ty na.(binder_relevance)).
259+ Notation j_decl d := (TermoptTypRel (decl_body d) (decl_type d) (decl_name d).(binder_relevance)).
260+ Notation j_decl_s d s := (Judge (decl_body d) (decl_type d) s (Some (decl_name d).(binder_relevance))).
253261
254262Definition map_decl {term term'} (f : term -> term') (d : context_decl term) : context_decl term' :=
255263 {| decl_name := d.(decl_name);
0 commit comments