Skip to content

Commit 4666c4b

Browse files
committed
Mild progress on cumulative inductives
1 parent 9161725 commit 4666c4b

5 files changed

Lines changed: 11 additions & 8 deletions

File tree

theories/Algebra/Universal/Homomorphism.v

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ Section is_homomorphism.
3636
Qed.
3737
End is_homomorphism.
3838

39-
(* We make this NonCumulative so that the proof of [homomorphism_id] goes through smoothly. *)
39+
(* We make this NonCumulative so that the proof of [homomorphism_id] goes through smoothly. TODO: remove this. *)
4040
NonCumulative Record Homomorphism {σ} {A B : Algebra σ} : Type := Build_Homomorphism
4141
{ def_homomorphism : forall (s : Sort σ), A s -> B s
4242
; is_homomorphism : IsHomomorphism def_homomorphism }.

theories/HIT/quotient.v

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ Section Equiv.
8484
intros. eapply concat;[apply transport_const|].
8585
apply path_forall. intro z. apply path_hprop; simpl.
8686
apply @equiv_iff_hprop; eauto.
87+
(** Some universe annotations needed above for typeclass instance istrunc_trunctype. *)
8788
Defined.
8889

8990
Context {Hrefl : Reflexive R}.

theories/Modalities/Accessible.v

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@ Coercion lgenerator : LocalGenerators >-> Funclass.
2727

2828
(** We put this definition in a module so that no one outside of this file will use it accidentally. It will be redefined in [Localization] to refer to the localization reflective subuniverse, which is judgmentally the same but will also pick up typeclass inference for [In]. *)
2929
Module Import IsLocal_Internal.
30-
Definition IsLocal f X :=
30+
(* TODO: reorder these universe variables; make it land in v. Currently done this way for backwards compatibility, to keep diff small. *)
31+
Definition IsLocal@{u v a | u <= v, a <= v} (f : LocalGenerators@{a}) (X : Type@{u}) :=
3132
(forall (i : lgen_indices f), ooExtendableAlong (f i) (fun _ => X)).
3233
End IsLocal_Internal.
3334

theories/Modalities/Localization.v

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -337,7 +337,7 @@ Section Localization.
337337

338338
End Localization.
339339

340-
Definition Loc@{a i} (f : LocalGenerators@{a}) : ReflectiveSubuniverse@{i}.
340+
Definition Loc@{a i | a <= i} (f : LocalGenerators@{a}) : ReflectiveSubuniverse@{i}.
341341
Proof.
342342
snrefine (Build_ReflectiveSubuniverse
343343
(Build_Subuniverse (IsLocal f) _ _)
@@ -422,7 +422,7 @@ Proof.
422422
Defined.
423423

424424
(** Conversely, if a subuniverse is accessible, then the corresponding localization subuniverse is equivalent to it, and moreover exists at every universe level and satisfies its computation rules judgmentally. This is called [lift_accrsu] but in fact it works equally well to *lower* the universe level, as long as both levels are no smaller than the size [a] of the generators. *)
425-
Definition lift_accrsu@{a i j} (O : Subuniverse@{i}) `{IsAccRSU@{a i} O}
425+
Definition lift_accrsu@{a i j | a <= i, a <= j} (O : Subuniverse@{i}) `{IsAccRSU@{a i} O}
426426
: ReflectiveSubuniverse@{j}
427427
:= Loc@{a j} (acc_lgen O).
428428

theories/TruncType.v

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,9 @@ Section TruncType.
3838
: (A <~> B) <~> (A = B :> TruncType n)
3939
:= equiv_path_trunctype' _ _ oE equiv_path_universe _ _.
4040

41-
Definition path_trunctype@{a b} {n : trunc_index} {A B : TruncType n}
41+
Definition path_trunctype {n : trunc_index} {A B : TruncType n}
4242
: A <~> B -> (A = B :> TruncType n)
43-
:= equiv_path_trunctype@{a b} A B.
43+
:= equiv_path_trunctype A B.
4444

4545
Global Instance isequiv_path_trunctype {n : trunc_index} {A B : TruncType n}
4646
: IsEquiv (@path_trunctype n A B) := _.
@@ -99,7 +99,7 @@ Section TruncType.
9999
Proof.
100100
apply istrunc_S.
101101
intros A B.
102-
refine (istrunc_equiv_istrunc _ (equiv_path_trunctype@{i j} A B)).
102+
refine (istrunc_equiv_istrunc _ (equiv_path_trunctype A B)).
103103
case n as [ | n'].
104104
- apply contr_equiv_contr_contr. (* The reason is different in this case. *)
105105
- apply istrunc_equiv.
@@ -110,7 +110,8 @@ Section TruncType.
110110
Global Instance istrunc_sig_istrunc : forall n, IsTrunc n.+1 { A : Type & IsTrunc n A } | 0.
111111
Proof.
112112
intro n.
113-
apply (istrunc_equiv_istrunc _ issig_trunctype^-1).
113+
nrefine (istrunc_equiv_istrunc _ issig_trunctype^-1).
114+
exact istrunc_trunctype. (* To get universe variables to match, we do this as a separate step. *)
114115
Defined.
115116

116117
(** ** Some standard inhabitants *)

0 commit comments

Comments
 (0)