coq


Coq: freeing universes


Is there a way to Reset (or more generally, free) universes in Coq?
Universe M.
Print Sorted Universes. (*M = Type.2*)
Fail Print M. (*Error: M not a defined object.*)
Reset M.
Print Sorted Universes. (*M = Type.2*)
Definition M := Type#{M}.
Print M. (*M = Type: Type*)
Print Sorted Universes. (*M = Type.2*)
Reset M.
Fail Print M. (*Error: M not a defined object.*)
Print Sorted Universes. (*M = Type.2*)
Whatever I do, M = Type.2. I'm in Coq 8.5
I've found 2 ways. Reset Initial destroys the entire environment (which is usually more than one would want). Another way is to mask universes w/ modules
Universe M R. Constraint M < R.
Definition M := Type#{M}. Definition R := Type#{R}.
Check M:R. Fail Check R:M. (*the hierarchy holds*)
(*1. w/ modules:*)
Module i.
Universe M R. Constraint R < M.
Check M:R. Fail Check R:M. (*still holds*)
Definition M := Type#{M}. Definition R := Type#{R}. (*but now..*)
Fail Check M:R. Check R:M. (*not any more*)
Print Sorted Universes. (*2 Rs and Ms, w/ the old hierarchy masked by the new one*)
End i.
(*outside the module the old hierarchy holds*)
Check M:R. Fail Check R:M.
(*2. w/ Reset Initial:*)
Reset Initial. Fail Check M:R. Fail Check R:M.
Print Sorted Universes. (*the def-d univ-s are gone*)

Related Links

How to prove the arithmetic equality `3 * S (i + j) + 1 = S (3 * i + 1) + S (3 * j + 1)` in Coq?
How to apply a rewrite to the right side of a conditional without splitting on it?
All-quantified type variable in (value) constructor cannot be explicitly typed as wanted
Coq: Remove all (nested) parentheses from a sum
How to prove binary commutavity with a different definition of bin?
Coq's mathematical proof language: Rewriting in if condition
Unfolding a proof term in Coq
Is it possible to rewrite the silly2 example from the Tactics chapter of the SF book using 'rewrite' instead of 'apply'?
How do Structures with Inheritance (:>) work in Coq?
How to understand Setoid definition of category?
Compatibility of impredicative Set and function extensionality
Combining two Coq hypotheses
Relationship between existential and universal quantifier in an inductive Coq definition
Simple inversion using custom inversion
forward_call with local variables
How can I rewrite “+ 1” (plus one) to “S” (succ) in Coq?

Categories

HOME
log4j
gerrit
webpack
image-processing
plot
q
jsp-tags
rsync
constraint-programming
upload
communication
modelica
remote-access
messages
event-handling
windows-server-2012
hapi
iolanguage
serilog
reactive-cocoa
beyondcompare
django-cms
immutable.js
sox
pass-by-reference
bootstrap-tour
microsoft-sync-framework
status
url-scheme
brunch
traffic
web-api-testing
elasticsearch-net
file-rename
skia
preg-match
windows-dev-center
geopositioning
language-concepts
http-referer
bytecode-manipulation
stacked
devextreme
restlet
xcode-extension
retina-display
vapor
hilbert-curve
quadratic-programming
nand2tetris
node-sass
thin
google-datalayer
powercli
orthogonal
smart-table
setuptools
nxt
passport-google-oauth
savon
azure-virtual-network
underscore.js-templating
holder.js
moveit
hill-climbing
bgp
suffix-tree
system.management
execute
intellij-14
coveralls
dukescript
embedded-code
responsive-images
graph-drawing
typekit
angularjs-ng-click
nsbutton
castle
mesa
aapt
wp-query
comexception
didselectrowatindexpath
srs
qt-faststart
random-seed
jelly
ticoredatasync
qtkit
dotnethighcharts
nsdatecomponents
xmemcached
xdomainrequest
servicehost
celltable
sql-server-profiler
mongomapper
xsdobjectgen
firefox-5
backcolor
yagni
zend-decorators

Resources

Mobile Apps Dev
Database Users
javascript
java
csharp
php
android
MS Developer
developer works
python
ios
c
html
jquery
RDBMS discuss
Cloud Virtualization
Database Dev&Adm
javascript
java
csharp
php
python
android
jquery
ruby
ios
html
Mobile App
Mobile App
Mobile App