]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/lambda-delta/automath/grundlagen.aut
-ng implemented
[helm.git] / helm / software / lambda-delta / automath / grundlagen.aut
index af671cfb374d1773c4daa5bfe4186e41e302cdc4..186ebdbcc79eaecee9c05ade652d9c60ee73e74f 100644 (file)
@@ -1,8 +1,21 @@
+# Landau's "Grundlagen der Analysis", formal specification in AUTOMATH
+# Copyright (C) 1977, L.S. van Benthem Jutting
+#               1992, revised by F. Wiedijk (http://www.cs.ru.nl/~freek/aut/)
+#               2008, revised by F. Guidi to remove the eta-reductions
+
 +l
 @[a:'prop'][b:'prop']
-imp:=[x:a]b:'prop'
+%modification by Guidi to avoid prop inclusion
+%imp:=[x:a]b:'prop' %original line
+imp:='prim':'prop'
+%end of modification
 [a1:a][i:imp(a,b)]
-mp:=<a1>i:b
+%modification by Guidi to avoid prop inclusion
+%mp:=<a1>i:b %original line
+mp:='prim':b
+b@[f:[x:a]b] % we define modus tollens
+mt:='prim':imp(a,b)
+%end of modification
 a@refimp:=[x:a]x:imp(a,a)
 b@[c:'prop'][i:imp(a,b)][j:imp(b,c)]
 trimp:=[x:a]<<x>i>j:imp(a,c)
@@ -10,7 +23,7 @@ trimp:=[x:a]<<x>i>j:imp(a,c)
 a@not:=imp(con):'prop'
 wel:=not(not(a)):'prop'
 [a1:a]
-weli:=[x:not(a)]<a1>x:wel(a)
+weli:=[x:not(a)]<a1>x:wel(a) %original line
 a@[w:wel(a)]
 et:='prim':a
 a@[c1:con]
@@ -220,14 +233,26 @@ i@[o:orec(c,a)]
 thorec2:=oreci(c,b,thor2(orece1(c,a,o)),thec2(orece2(c,a,o))):orec(c,b)
 -iff
 @[sigma:'type'][p:[x:sigma]'prop']
-all:=p:'prop'
+%modification by Guidi to remove prop inclusion
+%all:=p:'prop' %original line
+%all:=[x:sigma]<x>p:'prop' %suggestion by van Daalen to remove eta-reduction 
+all:='prim':'prop'
+%end of modification
 [a1:all(sigma,p)][s:sigma]
-alle:=<s>a1:<s>p
+%modification by Guidi to remove prop inclusion
+%alle:=<s>a1:<s>p %original line
+alle:='prim':<s>p
+p@[f:[s:sigma]<s>p] % we define modus tollens
+alli:='prim':all(sigma,p)
+%end of modification
 +all
 p@[s:sigma][n:not(<s>p)]
 th1:=[x:all(sigma,p)]<<s>x>n:not(all(sigma,p))
 -all
 p@non:=[x:sigma]not(<x>p):[x:sigma]'prop'
+%modification by Guidi to remove prop inclusion
+p@lppc0:='prim':'prop'
+%end of modification
 some:=not(non(p)):'prop'
 [s:sigma][sp:<s>p]
 somei:=th1".all"(non(p),s,weli(<s>p,sp)):some(sigma,p)
@@ -658,7 +683,10 @@ th6:=th1"e.bij"(sigma,sigma,tau,wissel(s0,t0),f,th3(s0,t0),b):bijective(changef)
 -e
 +r
 a@[b:[x:a]'prop']
-imp:=b:'prop'
+%suggestion by van Daalen to remove the second eta-reduction
+%imp:=b:'prop' %original line
+imp:=[x:a]<x>b:'prop'
+%end of suggestion
 [a1:a][i:imp(a,b)]
 mp:=<a1>i:<a1>b
 +imp