isabelle


Isabelle HOLCF doesn't understand fixrec


Here is a very simple theory:
theory Test
imports HOLCF
begin
fixrec down :: "'a u → 'a"
where "down (up x) = x"
end
It gives the following error:
Type unification failed: Clash of types "_ ⇒ _" and "_ → _"
Type error in application: operator not of function type
Operator: up :: ??'a → ??'a⇩⊥
Operand: x :: ??'b
I have tried to declare different functions but I always get a similar error. What's a problem and how to fix it?
I tried to replace → by ⇒, but it doesn't help.
The single arrow → is the space of continuous functions whereas the double arrow ⇒ represents the space of all total functions. All packages in HOLCF only work with continuous functions. This is why ⇒ will not work for most of HOLCF. Function application for continuous functions, however, must be written explicitly using the ASCII infix operator $ or \<cdot>. So the following works:
fixrec down :: "'a u → 'a"
where "down $ (up $ x) = x"
Similarly, lambda abstractions for continuous functions use a capital Λ instead of a small λ.

Related Links

Using the ordering locale with partial maps
Avoiding assumption with sledgehammer
Discriminant with Inequalities
Instances in locale declaration for Isabelle
How to interactively simplify a formula in a relational theory in Isabelle
Nonnegative Interval Integration
Widening the domain of a partial function
Automatically unfolding a record definition when accessor is used
Creating a datatype with inequalities in Isabelle
Isabelle Logic simple natural deduction test
Instantiating variables ending in a digit using where-attribute (Isabelle)
Using an existing definition in Isabelle/ Hol
Pending sort hypotheses
How can I use proved goals of locale interpretation to prove the remaining ones
Isabelle class obligation prove blue
Type declaration in Isabelle

Categories

HOME
keras
c#-4.0
tinymce
view
hp-exstream
session
paw-app
wamp
convolution
adobe-analytics
handsontable
apache-cayenne
django-admin
pc
propel
oxyplot
crystal-reports-2008
karma-jasmine
emulator
jtextfield
cx-freeze
wpfdatagrid
user-interaction
gsmcomm
gsoap
r-raster
geopositioning
unobtrusive-validation
dism
email-templates
sql-server-agent
rainbowtable
xml-documentation
strptime
rdfs
statsd
nativeapplication
python-cryptography
arrow-keys
iso8601
blacklist
yt-project
httplistener
url-masking
trash
nsfilemanager
ubuntu-10.04
make-install
rvest
oauth2client
rhino-servicebus
pervasive-sql
reactive-banana
t4mvc
computer-algebra-systems
angular-leaflet-directive
method-parameters
event-bubbling
system32
remobjects
graph-api-explorer
formatjs
tween
ng-animate
android-nested-fragment
preferences
dml
navigationservice
funcunit
picturefill
transcoding
fmod
gridfs
dotnetnuke-5
excel-2003
chronoforms
comaddin
jquery-knob
online-compilation
jquery-ui-layout
removeclass
stage
doh
mod-auth
f#-powerpack
appender
self-extracting
mysql-error-1005
.nettiers
web-architecture
brewmp
putchar
scripting-languages
dbisam

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