From 1dd64d6c49db7dc0dc0ee39c30da4c7a043b8bde Mon Sep 17 00:00:00 2001 From: Claudio Sacerdoti Coen Date: Mon, 27 Jul 2009 10:31:40 +0000 Subject: [PATCH] setoids.ma split into setoids.ma + setoids1.ma --- helm/software/matita/nlibrary/depends | 1 + helm/software/matita/nlibrary/depends.dot | 2 + helm/software/matita/nlibrary/depends.png | Bin 44675 -> 48586 bytes .../matita/nlibrary/logic/connectives.ma | 15 ++ helm/software/matita/nlibrary/sets/setoids.ma | 222 ++---------------- .../software/matita/nlibrary/sets/setoids1.ma | 176 ++++++++++++++ 6 files changed, 219 insertions(+), 197 deletions(-) create mode 100644 helm/software/matita/nlibrary/sets/setoids1.ma diff --git a/helm/software/matita/nlibrary/depends b/helm/software/matita/nlibrary/depends index 9147636b0..c8f0287ad 100644 --- a/helm/software/matita/nlibrary/depends +++ b/helm/software/matita/nlibrary/depends @@ -1,4 +1,5 @@ sets/sets.ma logic/equality.ma +sets/setoids1.ma sets/setoids.ma sets/setoids.ma logic/connectives.ma properties/relations.ma logic/equality.ma logic/connectives.ma logic/connectives.ma logic/pts.ma diff --git a/helm/software/matita/nlibrary/depends.dot b/helm/software/matita/nlibrary/depends.dot index 53ce1f34c..6a1e65939 100644 --- a/helm/software/matita/nlibrary/depends.dot +++ b/helm/software/matita/nlibrary/depends.dot @@ -1,6 +1,8 @@ digraph g { "sets/sets.ma" []; "sets/sets.ma" -> "logic/equality.ma" []; + "sets/setoids1.ma" []; + "sets/setoids1.ma" -> "sets/setoids.ma" []; "sets/setoids.ma" []; "sets/setoids.ma" -> "logic/connectives.ma" []; "sets/setoids.ma" -> "properties/relations.ma" []; diff --git a/helm/software/matita/nlibrary/depends.png b/helm/software/matita/nlibrary/depends.png index c648df50ef7163007c53b83d624c77d22144a815..cb081dd85413594876687308c64d382bb59118d5 100644 GIT binary patch literal 48586 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ౕ@kpTDIx2v}diybSNw%+k z1)ymZnCYE4!$QGB#7^U3H+WtnXWsMYb+Bj)+iyN*L`MIhfPjEd zYy)>XKIMH~UBs37o;9zOHb;y-%=P(km7r(Zmsdx-F_UQSu_8vVjzaYi+MtSDuskg# zSecLH>7lFHA4nIp^&8sxU&~--apgaTgAS*3bhJ>#&>@kyZR8&>f2=Vgsw(up-{C%< z-Zkf;u3l{z*yCPTNWI4^`P(kOM3DRYI9uZ%5b%?eZYO)-eZ_=$Z)N%3h?}H;n&LbOFK(@%`+H{=B`3cy(I1r9pG>HV^im}|!*e;MDyT{V3(A~$GkQ#%eeZ@a0coNv?7E6t%J{xbofMPFb4T^sVQ zmi|58flZ&|QG4w0)oE9)1S*P0xoiXvZ|GC}hAhJMurL8>X=#W-0tv^}fFlrp6m>3e zJicpVBc74-zP|pZw10fN5BKv|$gG7?>JXQ5504uB?PE=l+vw;qK!UBTbnn~RVgSIB zL{{^k=<@XxJ^j?1o}L~dpc{slC*K;b;n0~WVbEDQHaHkh9-epJ)>ac5wKy^h9vDG2 zp{U1)R?2xy3j#j z+fK+F$xtdHQif8=P>4#Bgpf)ly`Lld_y4W;UH`S-wf1_R{XEir-Pd(q=Xo68>6meI z!(d8^b{DRHYXa?GI>guitY`JVP3P7or=^`D-DdZV8$&ePwR?PaO4xhak_Oo&m7eLb zv^_;=qTW55=ip$@c6OW+tn3g4*u#Nm-!(XaczG8grToIj$iIuo({TpnY^z3-=&5%2X!;C*T|J5Mt7`w+=}Hy$pV3%GMV1#ip!92WSL+UG z{|+qOz2CT%$7uT|!8d5${1oXTgT7%o@eiU8-@bW+?{6y9f70p!?aOK!>`=7W>U-Gh zmq$i=`jL6b`zHdw<>)qDyJN?W2HpTRKbmdUd9J=je@kq1}=v<1>{MOA{l=3&$N;Sa{U*Jy6Lemr%A6KKuqo{spha`IGN zxC2-4GGsh?avbY!x8A)A&5rkaQrdFB?e^4HlqjRSw8{{diSn$DDTd>6P+~14Rce%oqN zNsl7zNJooq*rQ@tS#^UQHpp-|yodYw`OS548H+1~BpA~h33D_eQIU)Yn|fXkO8ncG zFS+X%HgUJLvl~Z5Q%6e3Z{_7DY2hl&jzpRcBw&**Vb7>e^27faI@XWF4U}CmL~Zp4 zJCi02>ca%Kp{)GcAvI#Mjg2`H+D0G*yGM08CaX5VGvsl{4<@&}BwT|(7qeR(@&Mq% zn_3U=jW?ROoTEl55ur9+Tz~#pUiTx2Ci4mkHd9jNZf-lv+q`40*`P@GPcQl|ei_x2 zV`wwGwLDreF-R66zaZen-sFP+349doAu#52&Tu)DNyMT_Z_A!`hBo#mi%a}wqAU>) zk%$TrNOf$n^+&Uvj%)VO+Jbe>srdXVdSziVnnyt|Bq);nxLmXA%|me!=6KZ(zESm| zI|ePWb5aA`;#W8b(6~l5wBHt$px(2s@E{6UfqDhfA`g({Hgc^e@7kT6{%Al7JQnzu z130qiq9~sZZ>VzaF*8b)UC!U8%UiSIewr;%i;3J%VwBMH4Hz&W_uzuVx47fet$%jZ z*Teba#8D}~fHi|2W(zIwRY_DZb1tbcJ)BhBH~Z>+u0V4cdj zg|_-UZ*l*zD@cOvur96iOiWr)zk%&7*m_8F;uaNY*vX;Aro9s--GM`goQTF0og?v{ zsh+Jpc!OQ>|Fj>pMqQ$eIO#-m2bM>nq%7DaCrgfFAJyI*nF9U&)^iCj1&#}VlZ0&f z>8}=QQ%%m&K$^B6vQ9%_&@p3RO_U&0z%_TkdFUG&sAwQr6zgD1X!N0{Z4E{dnqK16SRjd5q z0{DoS5MKLr{wV?V`y5o|i3oSW8W3ve4QKP|bLSc;@QZ5;cCDgf4rs|=8u@AYp4Ne( zHgF-BY_GLXzkKOZdRCSS`<(<_U=9VAd%GbvHulo?mj|`Ql2`g}JU721EEXSvF#8sA zNQHvWCT;jrhN0tT#pCDvUvm3Di((JgF`oSRJ9iq$!$KgD`{qsk|L821Z-M^&cz*3} zC>HQph`yCK3*WsvMs^wf6VSakI4l>+p4gBWk^=`0eCbdXaci4Zqxc%LDa&5PZpIOp zi>CpOWCX_$eLYlSJve(}51QdE650q(3L&>z=gyt6?XP+g6>H@~`AYevJYvKMxvg>m z&;}4(mTH+uY1$J0}hIeehrmfO#GzxNNDc>0NBHd{a);`owqY!m-5oUt0b0`EyMk z=b)S0^8#B3j=Kr_LLao5D-uU1C|9&cY252wVIh5dl&*!=>Rvpy+hZYabGbR0e>{!Jm4CTf zTHiY+W+0MNrL}9nLQ#f|)SPf0huRnHJHG?f->l7^l_I-{G zR{C&~GYGMbzR8b0%E-7Km-^(%m63Tll@*X>C@J&Ok6J{%NcBE$au{SO}0G~3%} z3&H2hVc{hCA6Wz&mM9O9ii(O7NjZClWTV8y99$dBF{h=(LK&>pm|xsOr)mAECVhN1 zZIKW+3AeYkb?Z9g@5C{`b4p^bPv8x0)25BxZ34bHQXBRk->Jo|d-qiIcB{}!8TRS3 zY4`5tK%0&W7v6h(twa0a4K7X>8Ox|nE%?WzUq1`I-ADdQSwV_G`VH|X(RvdrFB@+( zSGc$o&)QzjNf4i!+Ki>8q}8MV%xZw!dv(lf@+wcCK3$TD(16~i{><9AUvnx;l(sQO z@A$cM0o|?s9{O8M@bpA<0|m##frAH^dr;AzOSab6*VoX}y8YxyE6TBK%T6tZb!rj# zequLHG~r?Jh4h-nYbA6qn;J4?y9txp_y>DMMMk>+b=aoM$BFSo{j3~(=fRFfblitu ze|?{{&B|{Y&DL+3s{77kr&v~FC)y&oFV2e>f6VyfSum~2v{8_H^`md9x$p&ez`)PR z6CYe>T|X^&F>a%Idf~wXH@;1+81$raa6c21?^Rc)_h{67`M|S?Ix#l!4||{8;TGEy zvj?p=>f3j{!>w19ry?W!wo6!fz-fej=qd^>XrP#>iwkE(vqHinU%r0*dcpFO<9wl~ z?8Z*>7;n4m{?!X_PmlZl%DuN0&*SKc6Nw!<{yqA}+KF7%y|TkvnwrZ;UtPKLgX_(E zH`!f^H;x-S)(1RW5=BAxF(E{J{c)iAXpi|vR$3qG)0xM+{BhzOBk$_f-|E*cS<`Lh zWEyl}AKkt8V@=xcd%QNZ$M@Lc!~Ukl*-B>@yRJSQo-*-4qsx~LU>g1WDC}&?c)i`H z$69wc{uXg;x1)j+DE{%|mT)e@pXTHRNcx~%Jd1$&Cpgb5QwSeJ7&pv$UNtJW0ko96m1MU%JG2`UZlSUe4+ z42seR5BbJocSjAl?cThrp@+vAByhe)EP8sj`TAR?Is8}z4oiupq-)QD#oMC7FY)2l zi(v(H`FOZ0k0#0BQzelW`9pi;Ps#_xefociArN#ZA}Gl^=<6x z%~<>?{|;<9d)?QDyl|Dx_HhxFYOBWU8-I8hGE|4-o|5k^zvBXHKxF$YIuOf^6#U{! zfd7|{%E$_(XXfc#jNSp`o?Fe_w!LnNH#{!QNw7j{#B9&fRmq7Fdt73`}8d! zge`K$fQMorYstZoxcW5TBD7g|t%DOkVMFr0c+rSmG-Y*{as7FrrUT5~sQtAT5LB1U z9FEQ(g+psa$blUfTi1|yQk;LtmzZzsFhbvWQS;`K+5py5VfswZc-=x57kyMtl7_*) zDRKo!s9f%YAEAi25xxf9{MnF-DbLK-&+$O>?X3e-PVb`@Mav_daf!`=dYr~}%voh& zh)f3n3YJJHj^Mh<3kMAAVG3(Q51$oj&o|lGT)s&$R;>So8kNm9d&pZTeut=~ueNa( z$N&fEPjMm8Yp8%DUa$HPM(D&wi=(+_c7Bc;k!(rxZRr(}G0lq$(BHzVCDbIrvqurf zQ!mI`+Oubmdi(aOU?{>&Q-{}VnB6PEQ1!8yEU64!E**oCFRrUxal_KF(N=^ezkXHR z)JLF0t+l4IAV}(DQ3`M*VjGp74m4)qc+&-wQD1Q=}HAoZ=qj-NI?`l^EYVR)w(H z*p7B`#Pip0Wn{EK?a-iJ!w$=!?<>ylami-JAE`FoT*t+ zOWIMPARJKQFc<_DAo1IQ(%xIn)9}k{XttOvb!^B_-ua3QY?<}#=^mEkyL)KIM=8ix+sDB5#xw}_3^Vf9bza@J{wm#{n z#*Gt3`{I(9{i3g3OF*)#v+hehn7jLRuechOXv%5n^B5OV9=S2)NK2Ilvfq-)umkz$ zzeCn*K^DqZM|UkoMKO+|G{~)cHS5WO=q4Y<9zb(YVAg7WE2+ll6TixtQ;HYw>7 zsHMf}4II0-?k;#H@=o5N0ny>igZoTf-9=R?cSAkRR;|QRcZ@<+Y*&y;7&!l+-6Pz$ zo>$f55ZB6Y^M0=;d8wNBrV(RNXI);P#`H2fGfFR{rc&Lwt)hYpeo50y}B&N3bs*@KJc*y7*Z(dZ`W3P z)vD37I&7|&U?|G1lr2#!3nw7|66q8x(NO7KNr?_H}dpN|ZlxC}|%58xo_d$`>qaNsm0>n91ovo3U8ys&lL zRv%Ski;MbQjpx*mY(fZ$L@uyDIBIu?!~0oM`>VHnL8y9(dIGW&8@l7NWjlFi^Ra)< zYuJfRwl$Ij&5KBwboY%B%NQHn0bTjb`PHwC#&;1OltJH%09p*j_ekKF%Izf)`=2T-l5uN6juWdf$DRGsMnAsZ)p1_|H~w%H;@_JKAgpyZ3j{OMi0b$c_xaW=;W6*}H+ zbEHyKen-N>l2>mDXu>%zF)?W1Tl11DykTM(;n9I3rr=#zSeP6{QH!77o_0D#<@Po! zt53+sU330DN?aM;jzqST#6CURRrlJ;e;lh^D?Z!P)QHcH5;P7f$2S@#FpIioc5PC3YwNTPg=~^Vk511& z;Lkg3^$AS+2o-)>Aw&{Tqd$i|vqn@M=c4Ui)pe`odVX(UE$_7+}zxJ=R`eN*)Km!(@J@IljP~S)U*zSew1-l{sZ*< zG}ohnq15dr8HAL#KdOo^(64P3=^ni?46F%7+@q4nyRX=m)x^I;|M)!f&ER;%W1jym zC!7?dIIpYT{NvCfq0g$iX$>VXgGeZcEuoGYNwjL*!+1DC8-`AS(n$1~XtB_O8ls+B zN5%kK&!^P`Z~pxDhaxw4^=pY9K)v3#RbJSMR38teinW@=Rc0AFrH~V3Wp%!=YLFkprZLm-(^k*zaJBFsse{8YNs!q4#s z(>nsVC;BXW>T`eFZbFEo@KbNyx*@tFxeFquTynXOuz0CzJ{LEnjp29=eI}{%1Q1*DHQCT9NF9~bj03b_g@z&NkbprxR}6p1 zTG4O;Es;!=KLoM8a){Ms5huKk~jWgSKwz;ZX^UbYRBKYRS(9x+r#Q>IW^57g$tZq zes=xC^f!*PC2>wKYvjTdq=Mv-xJ;)HTEh1NWgY>RM@>x65?w#y<}n-lvZ=OO8XD%P z`9X*5Lhbo@{+)%6L{enJd^XtQ_wU~w=F9=@RsvUb_1M$;WI{WbqQ)_HJ7Aj1);!6~ z3}xMn)nx;@*V><(kH<%C@$POj_i$>dt2B_EYQ~NS9kS|x3dPBjC+)YLOl@rOm$`eb zedUbY4Hsq?x-^;c>0$Bp>o?qb&9B#yH-J6O=jKhXpvu^`S69URTb;Bm^?Ye+^5iy; zUU^Mh`m(CZ^K;|_AKz~skMy`=HZ-$sK@{l0W=^$fxV+6#asS+M$^2u>|Co@3UFqbg0_*K~5R%3RZYm$L*IQPy!-9SEi0|nQa=5PW zJfhMrIuD#Jj=Byn8MPv2UDoUGe2^?V!S{N!SvlgyrT5dckCQsC3o&vB7nO#cF-UoY!}Y3h%o8 zwvM?QLZ95eeQa#rqnX1pVx~`=F!}I68)aUNMJ-*hd$2|A7$UZDIsxI4}82T{9`}>{Y8RD?E7)L604H|De9@jM(rRbB6c2 z36L&MA3HVU1l7&F${{}6Y< zzw~E%JdEhGY=@??pV=DZI0=-s>=_YJQJ+iA3N=smX3t=Pt4tHESWx(8((Ktfv^6vx zP-vDxA;8fjjHH~d>apXWV;8A4MRyGuj-lmVO%H~zP?H6HjW^XX*|(E}dWEtLyEtdp zw;xM2-hGW-U80TJA=cy{R7ZG{p1Fh~?NNsq(ipm75IU^%fo|Jn0~hQXY<)?V2e9Bd!7e(}#AU&ZDG zOL*<0MW7TrLIpuSk=cOPNq8(U5~^u)j%0as7^7By;eWr?oz~Jw70YSAL7Z=b5%^<=-|`y9!+QP36X*_9~7IGc!H1(BAgmF zoLYDD-o2AA#C7D5U*I#;IHe;eSy6@$LJm)CbQW z)>AE2$4^i^U+SFL${G~qdE z^X|9a%5(dVpv8azdU3zCA6>L>aBznlM`P8}Ed)UPH-A=q0Yp|wzBUgP#SHOdO$9E1 za+c_c@89Qceyh)GC4-rI&ALt!q6uAujGtzIU~du27?M+&Q2-7abzXD+uF;)ZP`mgP zKfSr4pb3M^Xp5zDB~@ZvuxV?s0F1wdWi51GZ%YE&I)3t`G&kZf6Hb>cA2V7)TG~#t zQF0Nu;?EWCa?azmuG)^jWv8WP-P`3mIkzrui ze^?^a+Kh8+z*Z!_EgFCy&4T)~-HY9fxU}6w^F!l7|2YBz3SvQF<>?k-Eq6$v8kf zVaY{JfF$<^Y9gtcVbnqSMBf1z<@4fxzl9^5*nuPzK!U=Ej$w_1h{_koLh_%cU{&Wo z6AabPQ*BY!=4yqC$CP6q5?lOfND;Wsw;N|$pZP3JD9Xt82srprZ+t*R3r8#6rya<0 zp6{pW$Qk61AY^6JJ6KaV9%ZHy5Gqm=ua7=2hCVwsu}2#M)U|0EMj)ug0VL=#0Wz3} z92l;;*mi@TW1~RZZZfe>IugS0dJ}NuO<^QL9mbG>gasVfc%NQY#&}2!GEV{aD+yU& za~KSg69W%a+&2tZv^3`ivzdptH+54HmxyZ9rZUD%!gw*lukR69II@>kJ1s5oYDq~2 zrn8xg3RKE)k^}qwcIYS_L_9RCNColpHUC#Ltgl zj95WtnB5$0=1=qH5ntC(WxibHf09eA#!Xrk{M0&CN}a(z_7 zE!VWM>l|WS-+G{B6Pif&MdT#HABiChd}H6N+W2D^0d~bK#j?u-6ej##q*}!3J#v+r+Jp=1P1kRuyWqE5A`cG>!7{-5rADFm)emylv3$X93L(!>}`@{*74sGg2~0WN17`)Euh7Vcq+d(WP&GJjd&7-hKtDb#nyBC=z55c#jMaVT7q zsh|cII=o-yd7$32f)+1XG8zFqY@9QKa(i(Fm5+$&b#Z!~j1u<04~)y}+nI`)&*9>5M{WO_8pV@8kG+~dwsxrfH&A=vM5`_8{kS0{tf zcj?n-kNn-NtOJZt91j^C*X!z4=ROAmhE%?7`K_X&Gu2EC`HZ+%|BOn7U7g5X1hU`bf3|o^ zmsVHSRel>1R9sXv8r-8>;t#{d4jqeU$9YDMDV8vN6$P%raVKgMLl^tM-k(!LV?7Mb zphxbynkA?FYifbRO5;+!I7F7>6mpsUcj*W#tMXXwg7Hg&b;uojYPsavZmXj<>8v8< zOINNOr`sPkI|ue;1ZfDEk)i6@J2S|Oc)|Iyit0)(;+4A-MQnd z5Z9ja_1FJ@?yK{Y0)j)l(#vhM?p1BJz#swVF^S_H9Y3ooG{o!IK@O7Wd4PxCuUVG2 zsZLnxpUPR-g*ha2=0LGF$Y)j`soQz#?y=dxffJEN($`MpPkP$N{;f#IWPJZ&*oRf? zZO#E59L>(QTjcC~l#L)*L6Y>u3y%qO(e`{9XoC2omAbm9e3OoZkMx*-ia;xy%mn|D z&u7ctRNoxMvR(K%YwJ^uTN-?i4OtZug$wKRYtu53AU;p+9{ z4_uU2=IFftsdRrYMyHMMZbMAAP-$@d{Q2=*VD@*OqX_LmcyK9dyI$|1*6h6S3%q=5 zm&BJ>Ib+BVh18sru9Sc1o6nQDwFCL$igb9vwJB?HXlo~bEiX4vTv?WLLpu$g)VhH; zMp$kzj+YA~CD7@`jt&hK|M4+FVBidxcZ53SxCUbV9Sd2JYcjy>)UHXXX+syT?b38^4RO4zWPHu?fA{^Je^lGl?fucZ`@qY>qPoKE(@rbX zSOMXzOb!SM8;dGVX(-TGT1NG%O6%bA|8i~xFYa@2ar&J0_o^18{<{_ZgXoGmd#tG4 zfDYlcMe3rc?U11-+n{^hyQh3YZO9MBa9_-)t!cOEtr|9GOr8DH@kU)5)W4-vIC0*! zvt%f_m_Odto7RTDyMK2c#03q@ zU8p*6h%I#R`iNh7aty)jv;Q(s9jc)n()tn%wHS5o?rEiNIvO3MP<^ksjXWN?AE4#_6L{kGbYYB zA31};gwtL=Ee9arC~r@yWw4}-3&=Ku_(m5+ut{C;KB>Vboca&Go~ymU-L!HYfb zKsNI}*{>Qro;LY%M1%w4o(`rVGz~_B2gl8~?pc(2_+9le(?PGkG-_TDa}Af;SepXq&bf*#q&z9&if-gB2bI&m z3*y#0H$JcYvJlggBW2$B8_(W$J|7mwH3vANtQ~AR;OwugvwP1KtQfc*(F+a70`tdh zZ<~y8?{fvqXf<{7bhcT>ggN-D>CESusV=OV`~KOx>IAi+hPfr%Eje|k^F_kWpPvWD z+oNyaeT-aQt>v$nQC%2$@uH(5i)`6;?hPM3seWl(%fQ=<+^CCCD8`#DZqc7V$GUvW zyVh%smHQf9BcqE?Ju)k(BWiMi=8bc0>~*_2a%O|Y)2ST-gh^Tj2* zncuE-PcH9u?Qo~=-M4$JSrb8*vg*O7hMDL7N8vPS>Kl)(=x<{`6D{ZXAAMW<>M zW0xxWr$)`%XPw*?$>!e3n>wkSZxeyQ-C*ziEGX}%ZP%GxowX==t=YG0Ij_IIynJ|Z z@&c!GHN_VDU{f1;$Hc~-t(}U?ODlg+@u#t47Y@!^g`B~OS26I{tZolCfPPGRS5T11 zKL4ER#O$1TuQR{0#@qYl*aex5XNz(SwF+Eh()1~L3)A!0oi0yV4deK5!d1ud=W9yI z{k&3Lvn1GS?1kQ(G_P)Yh17EZ(Hy@j|H+I`)|cDk3VHeVNAI}rllGP_DOur}anoz^ zKZmBROpc6n9`fmn+!DzePI>lhKUI>+hn(rpz82IrRRICHB@)1(%J==e|_k zhje9DO%=wBL+uOyS~7b^nEx}M^OL)@T8!ls6=B%(A?BJcx+Z&)uW4@FX3ibuu2 zhoVw~F5bNG!jmKCAc!BK7EX`>1fBVaeOhbU;mE0>(|gRPcXR|1{qU|l>YU<5pITa% z%e3I{fGnVt4$_^L@6DcfnfRACcB1jsa9;#pPIUsE4D(fGeT`o+U<*~V*1208EY%2>bEKiF` znn{8704M9~F>-tAce+Po?VWcUscIZqp4heW(1-N-uC8AukN1Bz_IUrjV@`bJwXrRE z4^n>hX~mU+F{4gQDi>oM{f`j@P1KykCgrS>Q{4`@w9+!$iAi569=%O;ug&U_cyXc- z$t4w*^3$5tls4B=dj2G-DGSy+g^u|EU6UCTS5Eyq^Z8Q%wSD$+p8J@rU`VzE#-t0M z2V6U|{lg0%xfZ0dA1MMI=|3Pz0+zhK9`n$Co3qi>lB)84Xh7M&`-|cUl?+nEMkwX! zp&C&jzcB8ay4>A(Rczxyy4eH^B(a4=P{r6?U(=jgP$q`~yEGQIDcR*Mjdk6qFN*0m zLO{1$c6}px8={l8pK;3OeD8Jy1ttPwnqKMN$-;9FvV(OsWtpO}W9?lep5!_eHYEST zQj-@Qw5FinmeeAVwhE_Ag9-{KMi_9e+u7MaM;p96)5WAkhM6!R{~=+58v*@_)PPQv z4kZ2A(kJtl1nIZfT9>X(ju54%1m6=>9!MGMcCABsIn&cy;Xn4H0AOs67F%#4HzEQK zyqD&;#zkXL|9nA%l#iZ4OedgYPs|Qmf2;9$lRkYm5dh>1Ti-0Q%=mGiHahhN)+hwdj2`Uj`V7mg~? zMw6c-=%aW$=mNvXcJg&S4U52Om?#6H3Ldl;#}-VNNGFLg%wAl)e&(RPToscI1p33v z)( z@crwDJr*)p5nvwZ53w1;;&lYrW~MeR_M*T} zzNg8y&|^?1Ha6mLMj}FBdBhi%BAY$^x?WjD#i@kLKi2vWW`1GZ#I4MSpLE6-VXvPW zV@xgm=a40%Vd$X9Jki2p22{IiVQL4#_k~;F)%f!Mkv@#&90)!x?iTmi^hCYz$(Bx* zL=NzY(JKnJc{-8z-sr@n#_+-J-hlPY8R=hD{waCN8Q)zKKp4c4LkY4vatwyPe+hQWh%Ho z&f(kf@d^Yaz~45?i5qIFmfNq${3CGu8DhX`m{HgD4h$SesiqK9g~d^IdI$}Zh3dTP z={LQ+zL(^Ll>gH>&j!&e$B3*d5~;v^We6$)IJBk;Z+@#|`jKJc=|arPhM|VgOMCUB zG1I1z1kX`I1=k!xA{ru5V)SOt{G(;dmg2xdt^!93I`8W4J_4lJ**|#KRQ9p#n_fB` ziP!?Cdfn9?w8onk4djnN(3U>RYN8j12Qr#_Z&$D9%Fb6+0w3-kbAr41q3J{nfxOFK zzvNj$xz|&`EPes_I%7GPM31L8%?1oee{HO5J?xCFo|)Oq4yp)vxtmI5rBHi{I(wv@ zo#Ddtjy$`t)n8Cj{8%^SZpbE+ks#oV)eLRjiLV0cqEO&{;mw#A@8<5Ez#2uSxtLY56Lkqx5t58ri@TfK)I&{d>{{fkmN{v+Cm$&^; zb}v2aALx(3j+H;YIzbYKd2LIaQx=VwL`Z1dUF|z`cywX*P?GR&zkaR#?AbGMeeq76 zSB$P9H)BS5D}E+y&%w7{d5!oo1MYiA&)j#`Hd!I8Ha zxYBeSE|)O>nbW7A)&cuyzuq*XC4~s-f3`J}LW%5KXmCDN!bn@UKI4x!(&c*2Z^zmA zsHm{1JKT2Ydd%P*`q0!h;n_d%tF79!IcwdszJg5z*1Bv*EE=Y&)%@#kIY$$q2e-4$ zonZ|d$wYx(y{2AJo^sTt%=kAG{$Z*`Zpo(@NdM4at*6$km02%clr|@I7XK98KGtrO zb`z4~wqnKpg20Kda4W1o}~himwZ1JGZnl?c9RZ8Ic(AM5NTC z4NQA`G!Rz%a(hs9``pkcDcB=8R0Nf z(;7D4p181R_I{(2%O{*2LnLz5roi9h1?vAW`*~(Yj}Jq8L!{f=2YY%p^>Lg@1t-Me zx*@aUzMj$fTzpkK)9duA1^~-cf5Y1DQvaqZ!y(Yh&bb(!=zYxdiOwvns9f#TLdUst z8xUa4n~VtUw* zMnq0n{JE@Zm`&fMV{Kom^7sSOUmHgBZ~c~4hw*j9$Wa5#k6sK~sNp$dQP;5A88sF4 zy_El&QtMe3Lcdq0n^Dz$k6-Ds(KXH{ceAphpN6H`9=&>_s{8w@$B5=8`d_L_E4B_j zv3~~gPx37rP`_X>(-l?LkdPdgwAH%DJ4;I;v05_Fi%MDSSCmQ3@S(6T@ulT8GuSH; z(XdGonUa7&$Ry*C`@i0-?*K-{8dA#0f0JRgs!3x7X4=9?Y3* zwCdw@neD@o#Zf#x&a-brD+}|ZyLT-xfSd;wk$}w9U^8Ww5`M0ePZPfRs(;>^I7d|Y z=*#(%2_nr$IZJ^TK34yD@{xqczHZ)_<|I0lmfar(D9U{Q5!>55irL}oW)xtAXG!=$ zX+MNFVzBs@)ENEajlZAocwC7MI}bhaFvJ_;)MIeA7~jzukKI1atEGi0V<+n)lKe`_ zoeToyve(do;GfI z@w1-dh~Yf73$hv&WW^VsfFXVp^~xKrnN8&mb*Rjz;@8Qy%fu&|g@7KSclnz;jV0<8 zgZr2A@^`T&7O@R^SZ;b4#67zvrhwz`a8vPb)WX@}z@kuaeVam0KZU}&MY|C)gW^~=ry|(XK zx^sqB<03tTTVja9p}_mCF0vIamLgSte@_HBb>rrVZK1cr`WCVDm1&az-$DAV_`7qc z440!ZY7do89MbJ0!+d0pqy!=rXQ&kIfnbuwEi-n-5hnr}L=NAJGpV>$iYC7QVxnu$ z5RwF#ESU~2_Gp@~HAN?a-fy$E_*IO0PrNqN2lBBJZooaQS@SZ#}N0h*I?iItR}n=ZM}?#{m7*T{FZvMn^z#$ZG+iyzXi;F3|E4U;s$UjLiYv}o!6 z?g~W*%hAJ!*{&;lIt?j>3BQIxdHaCd&Us*ct7~$!OtKyBzQ&QhIuVS z?n4mFk@MpZ8CsaOT%WH}bdtyQ&!8M5l8?A+9tMckzS5PVTT(+zEs6~$gh`BmT{A+wuc(wxr%j zx&ghY&)xhy_SCFP^Zw|t&EWX ztPru5!Qo0y1}_quntDbfxpVX6^+N?hp!5+cJWD^-x`l|go_%ZZbWF(7)Uy-K5wq#m z;o=;$Z#{lge+wSktVP^VSph+_H=J3%wqIgo1j*D~ew@~e1+KTssjyfKEznlA{*L);2k&9Zq5eCY zjcA$iaN;oaafmCvdiG> znn8;OwpVKR2#vpNeW&TQjvv7x&XcAkf$Y>7!9-$R$tRr<436tKe}5zLys&V zIhh5d0~O-Zze4+%pRr|;=I!FrFU?D4;+!H$LzWz`_T!@qEj$h7gZmxi{b$;0U6L@f zsx3f3#3bte*YUkZN#bGQcf(!gBYBdu8Fl1Cc{`f%cB*I0AEd1YRX>nLKxwm+)#xNQ zyldAyZg^vKD9uqO${s@PGYSI@FX?+56WzE5Jnm7~nrfM-U~0P~3L%a^GIu_bYuN0s z3LDH1;<^HWLJBHbDG+8Ea?P4@&7F^(II$Twj|8?8zb-qI;hZ}vA2hBjI|ev{AqaW_ zE9Q+aztOY{vlxV|CbycZZnye3+XnUPfq0($tdY&u!Diw!y~on8>p6Il-+n&cZS;C^ zAswIOygfe~1u(UYyqqL&bK7ONu$XzMUpwFLQ@?-e>^rC>Rg0u#q1SPJd#|~Cg;&?E z-e3C{BRT@K2MeCMdAMHQkr%Iv;avnKXS=tY~|CVB=ZB^M$NFmQVQxnBFL`or=I zXi@p*1~WU|zq~g%I1qs;uuNG5No?whUF1FyDdO<@y2k+|a4et*v`(x@l}ASs7mgpV zQe@769x*p5>#S3d%K>PS&r!BBspcFgbluEmK#lfOU#vtdtJ*|O?Y~G!WwM^`@hMmQI{Labp+myJ6geQ3vC#e?Hg1zf4AyZ{1^ADqB-lI5{-{kZ zyyW}L3p&)Uqry&~V3~L21#CKdcFxo^dmyDmgs(=N0u#=jEA+&=#(eN+ZOrU5A3Yid z!bGS6{-9SA&h1doc*P0p>$VMjDl*7^YZuNCUkTilAn8JQtSzv^$Y02iW5M*nX_K_kIJ zbdFYO$^1KbB3HwnpSpA{(I`#O;^D3MvSyH|$uZqS`UV~b2O^hETdW8dFFHS7e^`wd z4|ir{(Ka{!g8MEyzG?pU@BmWY98X~7OLPS1Y4qBPUThpbfMkLzkeN&wMS<{CWjS5A z*rhqv{xR}Ckwtap_i{81lX6UiZhou$Z9 zrUw~dYDx~9CTIAXFS+%YnR0x&yXlwJ>Vh?8J}4|TTJyz$ih{vpGV7jKtoX`)8;emD z@{Zj`+9yz{l<(|9iOewFOnY^d;%wp{2YG}5Vo!DN16E1=(ABFWLx!xE5h{ch0QHnd zmrAO+jEY1W0cr&?2LFx)X?p#>I`WQ-Yo-vx%|xgA-*g@ zIojMPo9bld?6d%?l7LRh2ck^God~D}W#n55$_Ndr;l$7Q+4Z{1cJ&2DCaNfX@iIx_ zfGw457BD}a4}x1OG?t%pZmJy|*NCkO6FVt;MAlo@Jm$p(_p|eAz;-iIwwrO13kYQV zzvKbPGsyc<$e?;kjU4DdwQh|dLDKP2GnT(U1=iVwSn`J_O=`iVqL{{I(Xmw%X4We~ zMliy2&b?i_ZX5J-L@?GLd_uu4g`MC$J*W zX_<)rCW5CSMX`JLCmi6|Frs_ybyH{UAStkmS<#S%EMJYclN(T%a`Nwh<_Oz;Swh04 zn5xUWuFrmp=3Ful#WxCu#M+h7;F2F9DP2<59`uzTlb#5gYdPVDP*>a~M~p8L+(!Vq zRjrQicXRpri>O7UqLo3%kdXQeT|)MkfE?TG=jR^Bs~@DL-9^qRg}dZZQuNDQVxIrk z+kf;<_c-VKU7cT3RKTnD6?*UuboWS}CdG+VUjzxNwjZ#o_}i%d`rKxQVz(dQs*o-Q z_Fu&4{d3ms{S~58^iFuru}B?sfGzG)^~Gx>5bd!E@FD@_E0tkg%mL(0o{TJ~RFSDj zGSC_?V(5_mjf?!`Hzc$A>c)$2ZP{6XbxKz~ByPRt>UOX?V~e1!WfoBvzkcLPEL<*> z@h#NiT?Vzt2(>`46Y?{ zis(;~^S%KK7}Z^x(!tZ2?>x(+pta-*$_#Q$AVsUzA0Imq5*KNG6Vg>+edeI?vSD&b7z?5D?3j3*bi-l%T&bkmqOmx1Z(bC+X6!fPs0)C z(+|oeLn28yG?&}A(LG+*5E%kxBvH&r?@YZ{w^0N=IiumUCgbwb!~IP5oN7tXq!5=9 zUql>dW`Vke){&Lc&#@aKU)%`z7 zxojqF4dyh7OOQxayC6%I%HE5dI~`a43wgbts^%uluup2p6-L>qxv<5hEM zVDljg2QeUH2=5UDn^vukYrp;? z)8&0AsFF0Cpb1h^Q^Ow(Kttdvt8s+jO^+4V8UdQPk{ll z7^#%x-c`Eq{d9y|SV%IK28NKQbe510iBX{L5FCn|%0FTarx%k$7VVCbVlnj~FRKvE zNZ{-7N>E*Q95^s$d?~3;7bLBSDoP@_=nH}E69DrJQC5_#IUk&M;P1bWANB&NAvk*% zH7{$Te)^zJ4}Yzl^=H`X4Fz=T3I%wV49`ZRAyclUgJ%0&GHVrS8+5`l*@cHuPu2-q z(xoOp39w0DQ-Z2m(q!>^(^3MOI-+QI2*@KY++}6c;9(p^(#jALB_fz(x983I(|3@W zSpWDvc0rFinJgSHnkPjTO;)?WwMfYuc{kPU<7<>eHP%iko?7XY(Q8W6mrpX@qcBrM zP(fdvP9#Q8rFgK}L;uPj_VuI4_@|x&P~OATYeO)sHS#9Z<`T1(A{c9P5xS#|%c8Rq z#Znf50K1KU>6$@-&XO2A{$QWY%#P?o85;P^%F;5SUuMQ%w#m_WE{i9r=mr?Ys{8HI zod|1*!z^r#B}`QZ!t-Ff4ugSRmAZ)qqr_(me4fZ7#K4 zRb1ILr>2GT$ZrAjr8NGs=DI=gSlmNU=va-(*!<^QTudbfCgduy_dPOK<4lnuW|Xm7 z32dAK9=B_E$iT&Ax==Gac1$?rAGT;9$Kou&lQz9GiWVL6LFa(0M6y1y53((QaQmNX zT%-%?q1CWOM!&O`kAY1(^xH|oE@b_iZw1MMcGgAbfD{ST$-s>#?~0zN`7O~5|Aw~d zj{qY%bdc~-88vc}#>_q>)R=M?-KQG7i(Qa~NS9F0;Q+VSBjQe`McamOy{A2{Wq}1Z>^<=*M7|zXDA8nD)s{LSF3OQ#bqjD=GH(_-m5{@=M+(s{9@82X5;BdX1&iztjy%3X#Nfbg?$6M3Val!o+~x6QNt zlqr5o%@(2ym$DErw$ji7^OD3L6tfC^A8PQW-(##1%#cB`@5ywKw7muM^*<0mr z(BKf1dhYRm1eN2?*!G*bcC!7eCnYQVjgs&k{PStTshCP7 zhwW{8E{giKpzk_HFpN*FCjENR%Bw?zN1U;}L@{(JK0e-{*1%VNsatSl1Kqc0D0};@ zcsr_}+j|>>ePd#JjXZzG1{@)w-{P!zG|dM|5JrD6hy86a<;sWn(mR8$gbCdL;aRaN=wFS(NJ0WGOOb=RZwc> z!^B4czP)?<_Kpymi(+U%w+95wrLP$`ZCcR50|yK_!$3v)owVsP<6P}us!SIC$Y7~C z*g|kU>?}hBa-Jy(_vc>f)mAHqWT5$ETV!Np$Zj=B&3-UY)MSQ-I41bX04g#IeL0&l z|8(CXAuPfpz%!sP{eI{1!J%G5h~(Oi0qAUX|8qN+HqG+j@JAa=BR#b}xh#->Qoo$> zPvxlgzX%?NKpY1?uHUd54xwh;0WAQRM)V!+mwp-F3^NGyT1i@p!m|^Q3-2DhtXKP!6Vke)4gY; z$*Sudvvbg>=YCxy2M+U)VtQ>=&uAbegg-L$JBR|mkZ9rriiEl*p6`0g{V(gc6fQ`Z zHo{2qn$->Mtto#g#fbaej6lr%jsly&T_A4T$xbU*=O|a#TbK-Bn16??*FvKuTaGlC z0{H$7iYN2;0K#q~2q9s9&4oM)(9JBy(uuy{bY0pjOy{0h(wVqEOCI@#_8_!6-K`JX!yhFHDHU{t1-^kj5Uo20BSl zPzq%!vEO!;Mt7lL_=5b=21v3Zb?*Uk^qJ_jg<}&Vfq!v}(QQ}M{#q|lo(v7LAi9gr zAIGU5UlDcXq%b{QMs3ni?FHPI1TrdKNfs035;+Od=OYV&{p8NZ5WbPh#+s2@{#mWD$aXZc~aR*3n1-=B)yX>&2b~$qScP} zjq%HeCwEGlj&L#DE@qQ-ly~mra=tqRNXEE~Kc!vaWnjK&Z1|pChj$3D@@f&*U>Z=4 zHu-T%5ZF{n=cr%5elA@zJR*ymwX?B!#prgD4$5zonVhKjfP+|h2s4#wLuIURoDV}k zliXu~+XUzR_Jn&O@s`ASNi{_mkMIlN;r-)NYSLWi=ljsQSQ5Mo0uUeXU3_V6&l8ij z(u9JD=dsJfKGerq!lc1wsP~kWmEGU#@O7n)#wQV;Y~bq}Am73gC`{N4sN+nd4cb)@HzK|5DA>LGXtN<@N;bTe)R0f|%ZnZ>3w(C${hZMb)Sbii9<8xQr$8h&P$ESHIYLtGg@^kQo$PkJY2o=dNQc#V_p+H^P{&Jn4l(OkwW*x> z&p^lcoI<5;t(pWnv#q#XSyP`e8VjGi8du{;Tacca=?{V>x}CBz(e@x6rY*DVsJ`&Z zwzG#3YNfY+;Jd5WX4aaoI+$eZvZOI8@~<;Su+A;`*DKrp=g;=_@*W<(y`%h`uKmke arNZsQesrH1ya+*>V)Td!!^15cHvK=Tle_o; literal 44675 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 diff --git a/helm/software/matita/nlibrary/logic/connectives.ma b/helm/software/matita/nlibrary/logic/connectives.ma index 25fb2ce93..026e92169 100644 --- a/helm/software/matita/nlibrary/logic/connectives.ma +++ b/helm/software/matita/nlibrary/logic/connectives.ma @@ -39,3 +39,18 @@ ninductive Ex (A:Type) (P:A → CProp) : CProp ≝ ex_intro: ∀x:A. P x → Ex A P. interpretation "exists" 'exists x = (Ex ? x). + +nrecord iff (A,B: CProp) : CProp ≝ + { if: A → B; + fi: B → A + }. + +notation > "hvbox(a break \liff b)" + left associative with precedence 25 +for @{ 'iff $a $b }. + +notation "hvbox(a break \leftrightarrow b)" + left associative with precedence 25 +for @{ 'iff $a $b }. + +interpretation "logical iff" 'iff x y = (iff x y). diff --git a/helm/software/matita/nlibrary/sets/setoids.ma b/helm/software/matita/nlibrary/sets/setoids.ma index 87546cae9..ed2973d87 100644 --- a/helm/software/matita/nlibrary/sets/setoids.ma +++ b/helm/software/matita/nlibrary/sets/setoids.ma @@ -1,21 +1,20 @@ +(**************************************************************************) +(* ___ *) +(* ||M|| *) +(* ||A|| A project by Andrea Asperti *) +(* ||T|| *) +(* ||I|| Developers: *) +(* ||T|| The HELM team. *) +(* ||A|| http://helm.cs.unibo.it *) +(* \ / *) +(* \ / This file is distributed under the terms of the *) +(* v GNU General Public License Version 2 *) +(* *) +(**************************************************************************) + include "logic/connectives.ma". include "properties/relations.ma". -nrecord iff (A,B: CProp) : CProp ≝ - { if: A → B; - fi: B → A - }. - -notation > "hvbox(a break \liff b)" - left associative with precedence 25 -for @{ 'iff $a $b }. - -notation "hvbox(a break \leftrightarrow b)" - left associative with precedence 25 -for @{ 'iff $a $b }. - -interpretation "logical iff" 'iff x y = (iff x y). - nrecord setoid : Type[1] ≝ { carr:> Type; eq: carr → carr → CProp; @@ -32,82 +31,19 @@ ndefinition proofs: CProp → setoid. ##] nqed. -(* -definition reflexive1 ≝ λA:Type.λR:A→A→CProp.∀x:A.R x x. -definition symmetric1 ≝ λC:Type.λlt:C→C→CProp. ∀x,y:C.lt x y → lt y x. -definition transitive1 ≝ λA:Type.λR:A→A→CProp.∀x,y,z:A.R x y → R y z → R x z. - -record setoid1 : Type ≝ - { carr1:> Type; - eq1: carr1 → carr1 → CProp; - refl1: reflexive1 ? eq1; - sym1: symmetric1 ? eq1; - trans1: transitive1 ? eq1 - }. - -definition proofs1: CProp → setoid1. - intro; - constructor 1; - [ apply A - | intros; - apply True - | intro; - constructor 1 - | intros 3; - constructor 1 - | intros 5; - constructor 1] -qed. -*) - -(* -ndefinition CCProp: setoid1. - constructor 1; - [ apply CProp - | apply iff - | intro; - split; - intro; - assumption - | intros 3; - cases H; clear H; - split; - assumption - | intros 5; - cases H; cases H1; clear H H1; - split; - intros; - [ apply (H4 (H2 H)) - | apply (H3 (H5 H))]] -qed. - -*) - -(************************CSC -nrecord function_space (A,B: setoid): Type[1] ≝ - { f:1> carr A → carr B}.; +nrecord function_space (A,B: setoid): Type ≝ + { f:1> A → B; f_ok: ∀a,a':A. proofs (eq ? a a') → proofs (eq ? (f a) (f a')) }. - notation "hbox(a break ⇒ b)" right associative with precedence 20 for @{ 'Imply $a $b }. - (* -record function_space1 (A: setoid1) (B: setoid1): Type ≝ - { f1:1> A → B; - f1_ok: ∀a,a':A. proofs1 (eq1 ? a a') → proofs1 (eq1 ? (f1 a) (f1 a')) - }. -*) - -definition function_space_setoid: setoid → setoid → setoid. - intros (A B); - constructor 1; - [ apply (function_space A B); - | intros; - apply (∀a:A. proofs (eq ? (f a) (f1 a))); - | simplify; - intros; - apply (f_ok ? ? x); +ndefinition function_space_setoid: setoid → setoid → setoid. + #A; #B; napply (mk_setoid ?????); +##[ napply (function_space A B); +##| #f; #f1; napply (∀a:A. proofs (eq ? (f a) (f1 a))); +##| nwhd; #x; #a; + napply (f_ok ? ? x ? ? ?); (* QUI!! *) unfold carr; unfold proofs; simplify; apply (refl A) | simplify; @@ -123,33 +59,7 @@ definition function_space_setoid: setoid → setoid → setoid. | apply (f1 a)]] qed. -definition function_space_setoid1: setoid1 → setoid1 → setoid1. - intros (A B); - constructor 1; - [ apply (function_space1 A B); - | intros; - apply (∀a:A. proofs1 (eq1 ? (f a) (f1 a))); - |*: cases daemon] (* simplify; - intros; - apply (f1_ok ? ? x); - unfold proofs; simplify; - apply (refl1 A) - | simplify; - intros; - unfold proofs; simplify; - apply (sym1 B); - apply (f a) - | simplify; - intros; - unfold carr; unfold proofs; simplify; - apply (trans1 B ? (y a)); - [ apply (f a) - | apply (f1 a)]] *) -qed. - -interpretation "function_space_setoid1" 'Imply a b = (function_space_setoid1 a b). - -record isomorphism (A,B: setoid): Type ≝ +nrecord isomorphism (A,B: setoid): Type ≝ { map1:> function_space_setoid A B; map2:> function_space_setoid B A; inv1: ∀a:A. proofs (eq ? (map2 (map1 a)) a); @@ -158,92 +68,10 @@ record isomorphism (A,B: setoid): Type ≝ interpretation "isomorphism" 'iff x y = (isomorphism x y). -definition setoids: setoid1. - constructor 1; - [ apply setoid; - | apply isomorphism; - | intro; - split; - [1,2: constructor 1; - [1,3: intro; assumption; - |*: intros; assumption] - |3,4: - intros; - simplify; - unfold proofs; simplify; - apply refl;] - |*: cases daemon] -qed. - -definition setoid1_of_setoid: setoid → setoid1. - intro; - constructor 1; - [ apply (carr s) - | apply (eq s) - | apply (refl s) - | apply (sym s) - | apply (trans s)] -qed. - -coercion setoid1_of_setoid. - (* record dependent_product (A:setoid) (B: A ⇒ setoids): Type ≝ { dp:> ∀a:A.carr (B a); dp_ok: ∀a,a':A. ∀p:proofs1 (eq1 ? a a'). proofs1 (eq1 ? (dp a) (map2 ?? (f1_ok ?? B ?? p) (dp a'))) }.*) - -record forall (A:setoid) (B: A ⇒ CCProp): CProp ≝ - { fo:> ∀a:A.proofs (B a) }. - -record subset (A: setoid) : CProp ≝ - { mem: A ⇒ CCProp }. - -definition ssubset: setoid → setoid1. - intro; - constructor 1; - [ apply (subset s); - | apply (λU,V:subset s. ∀a. mem ? U a \liff mem ? V a) - | simplify; - intros; - split; - intro; - assumption - | simplify; - cases daemon - | cases daemon] -qed. - -definition mmem: ∀A:setoid. (ssubset A) ⇒ A ⇒ CCProp. - intros; - constructor 1; - [ apply mem; - | unfold function_space_setoid1; simplify; - intros (b b'); - change in ⊢ (? (? (?→? (? %)))) with (mem ? b a \liff mem ? b' a); - unfold proofs1; simplify; intros; - unfold proofs1 in c; simplify in c; - unfold ssubset in c; simplify in c; - cases (c a); clear c; - split; - assumption] -qed. - -(* -definition sand: CCProp ⇒ CCProp. - -definition intersection: ∀A. ssubset A ⇒ ssubset A ⇒ ssubset A. - intro; - constructor 1; - [ intro; - constructor 1; - [ intro; - constructor 1; - constructor 1; - intro; - apply (mem ? c c2 ∧ mem ? c1 c2); - | - | - | -*) -*******************) + + *) \ No newline at end of file diff --git a/helm/software/matita/nlibrary/sets/setoids1.ma b/helm/software/matita/nlibrary/sets/setoids1.ma new file mode 100644 index 000000000..0571b6dfa --- /dev/null +++ b/helm/software/matita/nlibrary/sets/setoids1.ma @@ -0,0 +1,176 @@ +(**************************************************************************) +(* ___ *) +(* ||M|| *) +(* ||A|| A project by Andrea Asperti *) +(* ||T|| *) +(* ||I|| Developers: *) +(* ||T|| The HELM team. *) +(* ||A|| http://helm.cs.unibo.it *) +(* \ / *) +(* \ / This file is distributed under the terms of the *) +(* v GNU General Public License Version 2 *) +(* *) +(**************************************************************************) + +include "sets/setoids.ma". + +(* +definition reflexive1 ≝ λA:Type.λR:A→A→CProp.∀x:A.R x x. +definition symmetric1 ≝ λC:Type.λlt:C→C→CProp. ∀x,y:C.lt x y → lt y x. +definition transitive1 ≝ λA:Type.λR:A→A→CProp.∀x,y,z:A.R x y → R y z → R x z. + +record setoid1 : Type ≝ + { carr1:> Type; + eq1: carr1 → carr1 → CProp; + refl1: reflexive1 ? eq1; + sym1: symmetric1 ? eq1; + trans1: transitive1 ? eq1 + }. + +definition proofs1: CProp → setoid1. + intro; + constructor 1; + [ apply A + | intros; + apply True + | intro; + constructor 1 + | intros 3; + constructor 1 + | intros 5; + constructor 1] +qed. + +ndefinition CCProp: setoid1. + constructor 1; + [ apply CProp + | apply iff + | intro; + split; + intro; + assumption + | intros 3; + cases H; clear H; + split; + assumption + | intros 5; + cases H; cases H1; clear H H1; + split; + intros; + [ apply (H4 (H2 H)) + | apply (H3 (H5 H))]] +qed. + +record function_space1 (A: setoid1) (B: setoid1): Type ≝ + { f1:1> A → B; + f1_ok: ∀a,a':A. proofs1 (eq1 ? a a') → proofs1 (eq1 ? (f1 a) (f1 a')) + }. + +definition function_space_setoid1: setoid1 → setoid1 → setoid1. + intros (A B); + constructor 1; + [ apply (function_space1 A B); + | intros; + apply (∀a:A. proofs1 (eq1 ? (f a) (f1 a))); + |*: cases daemon] (* simplify; + intros; + apply (f1_ok ? ? x); + unfold proofs; simplify; + apply (refl1 A) + | simplify; + intros; + unfold proofs; simplify; + apply (sym1 B); + apply (f a) + | simplify; + intros; + unfold carr; unfold proofs; simplify; + apply (trans1 B ? (y a)); + [ apply (f a) + | apply (f1 a)]] *) +qed. + +interpretation "function_space_setoid1" 'Imply a b = (function_space_setoid1 a b). + +definition setoids: setoid1. + constructor 1; + [ apply setoid; + | apply isomorphism; + | intro; + split; + [1,2: constructor 1; + [1,3: intro; assumption; + |*: intros; assumption] + |3,4: + intros; + simplify; + unfold proofs; simplify; + apply refl;] + |*: cases daemon] +qed. + +definition setoid1_of_setoid: setoid → setoid1. + intro; + constructor 1; + [ apply (carr s) + | apply (eq s) + | apply (refl s) + | apply (sym s) + | apply (trans s)] +qed. + +coercion setoid1_of_setoid. + +record forall (A:setoid) (B: A ⇒ CCProp): CProp ≝ + { fo:> ∀a:A.proofs (B a) }. + +record subset (A: setoid) : CProp ≝ + { mem: A ⇒ CCProp }. + +definition ssubset: setoid → setoid1. + intro; + constructor 1; + [ apply (subset s); + | apply (λU,V:subset s. ∀a. mem ? U a \liff mem ? V a) + | simplify; + intros; + split; + intro; + assumption + | simplify; + cases daemon + | cases daemon] +qed. + +definition mmem: ∀A:setoid. (ssubset A) ⇒ A ⇒ CCProp. + intros; + constructor 1; + [ apply mem; + | unfold function_space_setoid1; simplify; + intros (b b'); + change in ⊢ (? (? (?→? (? %)))) with (mem ? b a \liff mem ? b' a); + unfold proofs1; simplify; intros; + unfold proofs1 in c; simplify in c; + unfold ssubset in c; simplify in c; + cases (c a); clear c; + split; + assumption] +qed. + +definition sand: CCProp ⇒ CCProp. + +definition intersection: ∀A. ssubset A ⇒ ssubset A ⇒ ssubset A. + intro; + constructor 1; + [ intro; + constructor 1; + [ intro; + constructor 1; + constructor 1; + intro; + apply (mem ? c c2 ∧ mem ? c1 c2); + | + | + | + +*) -- 2.39.2