From b0065fea071bf41ebac861c1c69061cd31540724 Mon Sep 17 00:00:00 2001 From: Jan-Oliver Kaiser <janno@bedrocksystems.com> Date: Mon, 16 May 2022 16:46:55 +0200 Subject: [PATCH] Move universe-related telescope tests closer together. --- tests/telescopes.v | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/tests/telescopes.v b/tests/telescopes.v index 30027fb5..7388dfb3 100644 --- a/tests/telescopes.v +++ b/tests/telescopes.v @@ -2,11 +2,28 @@ From stdpp Require Import tactics telescopes. Local Unset Mangle Names. (* for stable goal printing *) +Section universes. (** This test would fail without [Unset Universe Minimization ToSet] in [telescopes.v]. *) Lemma texist_exist_universes (X : Type) (P : TeleS (λ _ : X, TeleO) → Prop) : texist P ↔ ex P. Proof. by rewrite texist_exist. Qed. +(** [tele_arg t] should live at the same universe +as the types inside of [t] because [tele_arg t] +is essentially just a (dependent) product. + *) +Definition no_bump@{u} (t : tele@{u}) : Type@{u} := tele_arg@{u} t. + +(* Assert that telescopes are cumulatively universe polymorphic. + See https://gitlab.mpi-sws.org/iris/iris/-/issues/461 + *) +Section cumulativity. +Monomorphic Universes Quant local. +Monomorphic Constraint local < Quant. +Example cumul (t : tele@{local}) : tele@{Quant} := t. +End cumulativity. +End universes. + Section accessor. (* This is like Iris' accessors, but in Prop. Just to play with telescopes. *) Definition accessor {X : tele} (α β γ : X → Prop) : Prop := @@ -47,12 +64,6 @@ Notation "'[TEST' x .. z , P ']'" := (x binder, z binder). Check [TEST (x y : nat), x = y]. -(** [tele_arg t] should live at the same universe -as the types inside of [t] because [tele_arg t] -is essentially just a (dependent) product. - *) -Definition no_bump@{u} (t : tele@{u}) : Type@{u} := tele_arg@{u} t. - (** [tele_arg ..] notation tests. These tests mainly test type annotations and casts in the [tele_arg] notations. @@ -79,12 +90,3 @@ Example tele_arg_notation_2_dep : [tele (b : bool) (_ : if b then nat else False assert_succeeds exact [tele_arg true; 0]. assert_succeeds refine [tele_arg true; 0]. Abort. - -(* Assert that telescopes are cumulatively universe polymorphic. - See https://gitlab.mpi-sws.org/iris/iris/-/issues/461 - *) -Section Cumulativity. - Monomorphic Universes Quant local. - Monomorphic Constraint local < Quant. - Example cumul (t : tele@{local}) : tele@{Quant} := t. -End Cumulativity. -- GitLab