X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Flambda-delta%2Fautomath%2Fgrundlagen.aut;h=186ebdbcc79eaecee9c05ade652d9c60ee73e74f;hb=11e495dda047bcdfa4267c06cad2d074fcffe3e3;hp=af671cfb374d1773c4daa5bfe4186e41e302cdc4;hpb=9b4286fdc2d88b0d8018e5718ef055804f5cf7ac;p=helm.git diff --git a/helm/software/lambda-delta/automath/grundlagen.aut b/helm/software/lambda-delta/automath/grundlagen.aut index af671cfb3..186ebdbcc 100644 --- a/helm/software/lambda-delta/automath/grundlagen.aut +++ b/helm/software/lambda-delta/automath/grundlagen.aut @@ -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:=i:b +%modification by Guidi to avoid prop inclusion +%mp:=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]<i>j:imp(a,c) @@ -10,7 +23,7 @@ trimp:=[x:a]<i>j:imp(a,c) a@not:=imp(con):'prop' wel:=not(not(a)):'prop' [a1:a] -weli:=[x:not(a)]x:wel(a) +weli:=[x:not(a)]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]p:'prop' %suggestion by van Daalen to remove eta-reduction +all:='prim':'prop' +%end of modification [a1:all(sigma,p)][s:sigma] -alle:=a1:p +%modification by Guidi to remove prop inclusion +%alle:=a1:p %original line +alle:='prim':p +p@[f:[s:sigma]p] % we define modus tollens +alli:='prim':all(sigma,p) +%end of modification +all p@[s:sigma][n:not(p)] th1:=[x:all(sigma,p)]<x>n:not(all(sigma,p)) -all p@non:=[x:sigma]not(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:p] somei:=th1".all"(non(p),s,weli(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]b:'prop' +%end of suggestion [a1:a][i:imp(a,b)] mp:=i:b +imp