coq


Mix-up of bool and Datatypes.bool after Require Import Omega


I'm going through software foundations and ran into an error.
ERROR : The term "true" has type "bool" while it is expected to have type "Datatypes.bool"
for the proof below.
Theorem beq_nat_true : forall n m,
beq_nat n m = true -> n = m.
I found out that this is happening when I use Require Import Omega.
Any tips, suggestions or explanations of what Omega introduces into the environment?
The Omega module indirectly imports many definitions of the standard library that manipulate natural numbers, some of which end up shadowing parts of Software Foundations. The beq_nat function is one of them. The problem arises because the version of the standard library for beq_nat returns standard booleans, whereas the one of SF returns its redefined booleans.
We noticed this problem a while ago, and have already fixed it in the current version. If you don't want to redownload everything (or if you have imported Omega yourself), you can also just qualify beq_nat to use the right version. My guess is that Basics.beq_nat should work.

Related Links

Unfold anonymous function in Coq proof
Declaring implicit arguments in Coq: how many underscores are needed?
How to instantiate a variable (?8758) with a local variable?
Composition of n-ary functions on natural numbers in Coq
Eval compute is incomplete when own decidability is used in Coq
Inductive predicate with type parameters in Isabelle
How to do “negative” match in Ltac?
How to match a “match” expression?
Inverting an obviously untrue hypothesis does not prove falsehood
COQ gets wrong by proving “forall n:nat, ( n <= 0) -> n=0”
How can I do intros in a different order without using generalize dependent in Coq?
Defining isomorphism classes in Coq
How to prove (forall n m : nat, (n <? m) = false -> m <= n) in Coq?
How to do pseudo polynomial divisions in Coq/Ssreflect
How to prove functions equal, knowing their bodies are equal?
Using dependent types in Coq (safe nth function)

Categories

HOME
osgi
testng
zeromq
appx
raspberry-pi
objectgears
graphql
rubygems
installshield
wamp
upload
paradox
pheatmap
here-api
etl
google-apps-marketplace
dtrace
fallback
visual-studio-cordova
quickfix
try-catch
transformation
aurigma
django-cms
visual-composer
swingx
plunker
riot.js
physics-engine
excel-2007
kudan
language-agnostic
icloud-api
dxf
opennlp
javacv
spark-jobserver
dynamic-featured-image
fgetcsv
typo3-6.2.x
instant-messaging
uiswipegesturerecognizer
fusionpbx
host
restlet
jquery-bootgrid
uft-api
trim
grid.mvc
reportingservices-2005
executenonquery
osx-mavericks
jquery-nestable
rails-routing
elgg
jxcore
boost-preprocessor
lync-client-sdk
messenger
spring-android
bonobo
sts-springsourcetoolsuite
trash
disque
lua-5.1
hover-over
bgp
vhd
wso2cloud
intel-fortran
collapse
ios9.1
sailfish-os
network-interface
gui-test-framework
android-imagebutton
rdtsc
java-metro-framework
preferences
onactivityresult
system.net.webexception
oracle-warehouse-builder
multiprocessor
dir
dataadapter
word-processor
qtkit
jquery-ui-layout
gnu-prolog
libc++
android-sdk-2.1
floating
datareader
wise
gamma
routedevent
substrings
adrotator
premature-optimization
port-number
scripting-languages
ubuntu-9.04
django-notification
ajax-forms

Resources

Database Users
RDBMS discuss
Database Dev&Adm
javascript
java
csharp
php
android
javascript
java
csharp
php
python
android
jquery
ruby
ios
html
Mobile App
Mobile App
Mobile App