File: bug_9201.v

package info (click to toggle)
rocq-stdlib 9.0.0-3
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 11,828 kB
  • sloc: python: 2,928; sh: 444; makefile: 319; javascript: 24; ml: 2
file content (22 lines) | stat: -rw-r--r-- 855 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
From Stdlib Require Import Ring.

Set Universe Polymorphism.
Inductive word : Type -> Type :=.
Axiom wzero : forall sz, word sz.
Axiom wone : forall sz, word sz.
Axiom wplus : forall sz, word sz -> word sz -> word sz.
Axiom wmult : forall sz, word sz -> word sz -> word sz.
Axiom wminus : forall sz, word sz -> word sz -> word sz.
Axiom wneg : forall sz, word sz -> word sz.
Axiom wring : forall sz, ring_theory (wzero sz) (wone sz) (@wplus sz) (@wmult sz) (@wminus sz) (@wneg sz) (@eq _).
Local Unset Universe Polymorphism.
Section foo.
  Context (sz : Type).
  Add Ring word_sz_ring : (wring sz). (* success *)
End foo.
Local Set Universe Polymorphism.
Section foo'.
  Context (sz : Type).
  Fail Add Ring word_sz_ring' : (wring sz).
  (* Error: Cannot add a universe monomorphic declaration when section polymorphic universes are present. *)
End foo'.