From 040e9a336c11243b617d7b08585176a5850b592a Mon Sep 17 00:00:00 2001 From: ComFreek <comfreek@outlook.com> Date: Fri, 30 Oct 2020 10:47:20 +0100 Subject: [PATCH] System.Object[] --- .../FrameIT/frameworld/$Angle$Sum.omdoc.xz | Bin 2124 -> 2044 bytes .../FrameIT/frameworld/$Midpoint.omdoc.xz | Bin 1628 -> 1568 bytes .../FrameIT/frameworld/$Opposite$Len.omdoc.xz | Bin 2292 -> 2228 bytes .../frameworld/$Supplementary$Angles.omdoc.xz | Bin 2216 -> 2132 bytes narration/Scrolls/MiscScrolls.omdoc | 2 +- narration/Scrolls/SupplementaryAngles.omdoc | 2 +- narration/Scrolls/TriangleScrolls.omdoc | 4 +- source/Scrolls/MiscScrolls.mmt | 5 ++- source/Scrolls/README.md | 42 +++++++++--------- source/Scrolls/SupplementaryAngles.mmt | 5 ++- source/Scrolls/TriangleScrolls.mmt | 15 ++++--- 11 files changed, 41 insertions(+), 34 deletions(-) diff --git a/content/http..mathhub.info/FrameIT/frameworld/$Angle$Sum.omdoc.xz b/content/http..mathhub.info/FrameIT/frameworld/$Angle$Sum.omdoc.xz index d98c98eecc4aeb98be81d644f463265ff986bcb2..1e4fe2b8b8cc5f46ea58940a11bc138e79e3f1f3 100644 GIT binary patch delta 1838 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 delta 1918 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 ETK?b5$^ZZW diff --git a/content/http..mathhub.info/FrameIT/frameworld/$Midpoint.omdoc.xz b/content/http..mathhub.info/FrameIT/frameworld/$Midpoint.omdoc.xz index e08aec6cdbc4697c1a763635ad859889a7c3d7dd..48d3d35101ce8452f38170f7c4f430c0858b4d32 100644 GIT binary patch delta 1360 zcmV-W1+V(t44@2<83bHK1>lh#%zs-;qNTg2U_%d}ac6#nff3w>>{6YY;N0#tGG7Jz zD}SGuitc03`J+SKG*_LUz@;1S(2j@WPG5Af%9HW&wP<<ikSMZJy!L1)E@?^*H7GPY z7D*#20ZsIlZhaT|w2Xyg2R2^*QB{thAJECv=GmW1UAE0~Yj{yfCycH(@P8iD+=)Aw znzt4krnQ1q2oyAWe%z(Z6QAokk#Y2~)&;<q)w{cN<c07Km#XcX?Rx1O_$1OJDQ$qR zG{(`oZYuI`BucNwB}6>eJOMYzypnGnAE1cl)_Wh^nOJN^1=CsiQ4NnSUZTNuK+<jb zoK2t)c46GBlf2x>Dr==x7JoQqI-nc(>wgRQ(i~b+{+OJFoqV`%@559A$MAJ|_Gzsj zIAV}A&xG?gE8ju%Q5Dmo+)cJ8><pPIW7+xUgytRAunA5PA)CIK@nkv*LogmE`V3sL z3yvj0RdMlNMBqyRnebN*5n!iNe!6;xb6Yn_L)Z#^x#%AWUvrnt7Ju^A#8ovL%&G*x z<G=UudVTtUhnS8{xjK39cq1ngBtZ!UN#xFyy-QKPdDG$!-%cYO`i`>n1vvmHKyc)@ zhQ*pH@x*xq{oEC!XN&0v)^%(B8)&V3Q7jP_CO&kgG7;cfgriOW862}4RY4*nRLi^l zR`R6cA6)AeXM~<bjDOAZDMl2C^x#t%Bhe#4jB|B=W@CaZBC*bp4^)Y&o^ezRI`L68 zVnhh|5D0e^?*Q4k_WO&!g>R>0hvsMEi!@W&@O}3g6#w*I5)EGxY4&ErMK+Du59qdx z_I2|@@a`V<g~9aBF>Zht_|Nh*=|!(MN-*=yaYIes)Q!{;vww9n=YxMD&88;34j>?Y z{(gb<OF?Aux2I1orKPC;v{UG-{z_$fjQbGe=o-Q438w~Lus@o4Z;Cs=nMHnfvQ#)@ zyp^$}f{X}jxFACdbMp6ICjm{FZr*`Gv+s9(++%_VLgd9v6jypDHXmr01Nb9AFgF8M z#{WH5Ez8mx=YOxW5qX|ZHOVopDd5_wi}AW@aEiNrfLZ+g?RsM$6o8FoaFp#Xr#z`x z+q?p=s(HM!SUJ8@$}@^G@AbKHi+gWd3ijx~=`?`E9co^HUZjNS*9`=y{=Q0M+NoHr z=H|33=A#n*>gX(Shq1W!6qc8_yIB=RVHZU5xtx*x8h`z9PA+AvkHHLO08c-83N&=Q z%yt<pA4QI4p)oR&zN>M!LeNhzt-2=X!OCZo%g%7BD7@#34S1i+{bp@YK8JKhCaZJ& z@zsBmJzvLKmeiqC+9%!1#(5e4!^^(=F=_>cSAK*QfGGWtOP20-*#u<j7Px;9KDUP> z9s*ifVt)<IlA$Shg=SaCM9psHIl#5F3rm9?SQB*Q;N9yZ*1k;~puw*S7>J5Hys=IM z^{ANE3`Rk|w7o!eCPUJt|9hMQS7W!>syTPN`PDy$3`jYcmUBXO_jgb(*T|u$?p(da zEI}IX!4;yO;N%imLVV9)<^1}hq|Js^RtM16pnq^J&dBN&+iQAKty5nf3aR@0<1o%z z(W@bnPW8VksE^N%mgsDl;buqaZM-%AU&%0{oP6!g*=(q4Y26X7K0d_vB_Cc$nbUg0 zwjjq9o#UdgE8ET~i@Jbj<uIx0Q;RJPel}bW<YZKbm2oabE`8%s#Sf)oB6UbykoI*Q zR6(dSw$KoIeAnQ<6Pvwu?H7FUnzPEg5G6QAtnG}Ng#Z9Eu{H^{wyur<0sITbxB&p2 S6Qx(N#Ao{g000001X)^Q&ZsN^ delta 1420 zcmV;71#|kK4BQNm83bR91{#qa%zsuciuwu4Qhhc+1jwTXRQPTOTPEARKqpyF33EGy zNSIO$U$Way;1oh+`C!rg{kLpb>{%q4B73BK8k5d^I(avL1ulsYsF;F2H2!kl&hFRv zjPJWA1Clm~JSx6|5bI$69w3YIN#Yc~k((5UAt@q;9*UES;T@T_fMiY{-+$rM*qz(j zgDwMEI6{BcrR>eX<ColN%o{=4o(DRK$7{E|En>qRZ-6Xz?cT1^21zhU$e64WQT#J? zo;(?f9RnIR03@Wn>@orOPdMi%#*iK_N3`%9Lw7y|?&7{~4dk<Kfu%mjyg3Pc%>tev zt|p2AO1ag0y&kaHkWGYKSbsNuLIa?AKJCv!qf{QBScF6HP`zw%L;|MTc87@CPRm1T zAw4lJF|SfVe9My}Es`M$Y3KflIB!Ys`}<<-5IVIX1T2u*Fwp8e^|J9#95=Mx=7E03 z_2<*>M=geZ1_Gvn709}Ud3b_^#C{BpF7B`{08|0J`T0EpB9kUfQGfWFxFOaC&S%s8 z!r4nPN!$r(2m~kU5(rZj9i5&m5fjf(;lHT*#dltBq&VK9&xO<qJRoMbkUvz0;!3h= z<0$2Rfxh3@y&Ym5Q;MVfR9vy4Acq?G?JXW(gqpApqu%5j?c<c~J0r;i=><A@J3hGy znx#i8p%;cQV!XO3E`Mh(7g#1r%&%7Tt{U5@n$ZRl^T#qys=iiGTc)skL=|Vz&jTIg z+h1Z}PO!q@ftxEu68*7?-B6KKy@(DT<25#XGR{?4R5Fo;ZtqjdKcs%-MaoFee^Y+| zZZDI<dSsxCgE_iqIJH&+9bZQvTNq|#xwg_gT9LxBeOfk;kbh{YSO<fux`X4zXonxK zN3zLgu@jhp4aR)66K`Wz%m#|`VI2LmJ6g7#)#612b8rIfib<brItfwShI8imWI}_+ z1vPUc&h?3^){EPi^ebk)x#Ckm6I6Hpo%!Pp@kC_DcAbbZ?Jy^u&U-5gy(l{DjPO6V zd|(UlFv5x`7k@SztRZkjPvE|W!<z~z=KWt~fTI;Z>lJNBtqRs3t-%KV(r&))qCsh; zoud3bFoj+Ne--84914ke{2e`tHYaT#)3P!87O<+*K>wv`Qdj;&f$Shi4t30)t!Q(O zpYLY+W$};*!@F+`)Sk#lndunqVp!ql!y7v&SXWQGw0{p$RqeR&pv5llc7uV13u9sR zkEyCPA$gHBvfAN!O8uhWl+NYK)9TDLms-^Wtquxgx%xip7tV#;Q|2HQvSz&=epMv$ zgJL!c4-<yQimNLhR`Q4(HVbvI%IkLVB*97K$VW7Tm=Ml7ej!S9{>l|K_KWm`NoFTN zGE2n@B!3M5R=Gdx@yklWkIUz=S>fu*7WB)yV|C4Nz@DEaZq5dgO3mXi=EeKz(HbtI z<EUtzbVMp8;SfB;JJKrK`QEOeMl=2Q!ZGDtt{g0F+fjdU<=}f!5*A;XSS0q?SYday zmukK?g||J?>hjLa0bg`*LTd8?EQ;Qy#;(AOF@J?1K@ZwkYyICeVbamsyr|95GsByX zXbbS`_%uqw!`h;7oRNE*>MiN1h<JZz&0!atU^e8AoMzXnxP6MTRMlclWp>zj{~Gpd ztFdk5%q!mROt`?%9{s|N3RjwutYrO84Mm^FdSrovIQOFb*H+TW*>t?;!a*#~*(1be zCw&WJRTXfxU0-=XS>WPcNH3C4^SOPmL^U)<GTS8gnz&A={`5-Uw(D1?^^YB_l`9`W z$UG0LV5U(@e2ubzmf>MK`apO?FS<gZBtJhYAdSbIY_+sd-~#LT0002T<09W?k^fo% a0k#Z{zX1R~FB}4~#Ao{g000001X)@H(7Q$e diff --git a/content/http..mathhub.info/FrameIT/frameworld/$Opposite$Len.omdoc.xz b/content/http..mathhub.info/FrameIT/frameworld/$Opposite$Len.omdoc.xz index 24d2ddbb478e139f3bb73cfbd87ebbaffd5b3ecd..da09733b6672b342a04775053ba91cb1395538a0 100644 GIT binary patch delta 2019 zcmV<92ORkH5wsDI83d^&2y&4f(tl;4Yxq7=^muzOMQeXe-T=M?W!@ASU@2=K&7hM~ zjO%YIi*psoK-U@@qRb6}`f+>jG+2i;zd8mB-|0l?n<(vhho?LPy+D7i0|;9v$rmjX z!h0`88$SlB;|cJh=d;Zj{+5z3>$tql>>$}Wdd$d=*7!Qg)*s(GkG~Z2WPgqCgez1U zsfo!cmU4S-cv-!CN|J<Cf)86G6HB676FLouw1mDEsQH3dgR|aTnRE2bhk-FBD2}aL z3-Q(aBB|!BQfbb89v#(2yqc2rNOpsF)XL(cGsoTUw>cybt)nt3(M?mk=M8SS;*$Iy zEc>=BF1Q#7>qQ2>d;<Utmw$$V>i*TIf1Cm;qI?k@zh5mvQ+?A0{(wMoFY?>eUk=8h z)SA0|fC?d}|MHK#7B8cSH4nU;4#O<KwRkkKU@S|`0w+WGwBUyqezEWD5{zCfQsdB@ zI(!2jJRA2cUha5FaeZ=vTwYX!0=urCd|rlNkttG(qXN5uardY8vwwagI3c(~b*$O} zqzBRA<Bd=L<AWIy!iJPCy8S`-vGmOoX6+6zrd_yPtIB_I$wYtR%IDx~5teoUEl4j; zS~v7<<dlNN)HXSb$4pu?rY_1_^fT~~%u_IBD(^u&4~HOI8F`~xAbZ!fwTp7(0*zYC zg+gB03#<ddceb1|NPpx5uJswUipnu*QA2~FNG>ujJ`6CVI;UlKTUu1b{O$0jKR-`Q zLc5w7abI}?$~d?>zpY;+bw2*{@qny@wOhIk(wr=|L@FC#7pUX=$MzHZYWOL2oK7sD z4;82?c>cpnW~Wv&#t$E3^hlC&R8+uB@qeDM%DGQ(hdq%r3V#$YHZMs*J(sEj_-SyP z`3EdqhMuT;W;i$#OX{i-QQ{Cc?({U9Y9H;sWA<1|iV?1-R<LtSJVPYuyp^#}Hal3Y zQ@x|ZSyEBD;<EzpGjC2)iL=1^69kVYOwkOZqc*qf0;SW=UnTcKCv)C!)WVTq2Z;`A zd1cX99fPou@_#8kJWI;-RagB%wfD>_w&9*M^rY|9D?{B0oH-9t^eGZ(n_xO7>R?%T zza|p-q-^=+4Wi(jZ_Y?%7Mix5wKk#>UK!S+c*!69d=~Z}G>5svC#YP|j1L-Pcg|J3 zERIeBs0F?_Ps_Q$tY-^x=J33qYDxis16S2oT!k6EHGd9k#TG#%A-N9^V007-<4R|R zOX5tO=;T?Ljc5X_;UfJAm?TP;NJ?$gca5d18e8AbfM7sQ?$VaTPC)2<3HBj613hrS z?P<kKZ)$o+V<|~cfnJt|vp9w)Xu>WX1RA@-JpCGlq4#*$D>i+1xU1#9OYVESPzM2c zvCgZM@PBdaXpXgkmobJ*1Gy4U!Fkk&ftQ~Zjkpm4TJG8l*rN-0dX+O)fv^lUPI$m- zLJ`YYTUAZTEqX>il~FqV-W{(QcP7?9GUIA|;dN9glB2*069&$wz0V6bDXF0}xCv{a z0p|Cl20|<x2RI*0rb$ZeK7Y3Gmrv{!%wKXW@_*hb%s1bikXOfh{J%2R>X*TVK8|Lj zp36jaU!x*UJf%4de4-`eMIbn^jY413ViCkjOt0s(D3iRQR5;8!ni$MdavCs%13za7 z>8H!901h5RW5CR5bSSoVn*n;ea>mx_X%K#);l>(pl*GhVfRbydwG*cQ!0nj`qU_Tw zX@4D%GUlX9AO#}|VlPe^OV7_H&jdCC&eH@>V{|;J77zySIqbKU*|gZxa3>pux}@g! zA+Ld99WMc>Xt1lY8kZ`3fi+9vR8vJksRo}Oanw9?I$>1dMsgiZ_f76?BAlTzAVio# zoRC}*M@AS&^u4U$Ij356ZC;T>1rIlD#D4)1=W9-_2j*=?4(reoU>cmK7V_s*jh^i7 ziI*1w9ex?^xfB}3&*g?XD`tgMD9lamqnR^`;~_Gx(PPl=f5bZHcxLb;Q`^xpGezJk zH@9&u&lY5%Q{aAgF!ZS-tZ2;(4CRO2iN>qYKwh(6ZCS=o#auTSRE66%ABbLh{eM?r z)EPzIK*aVU5juxB6r4K(`AaThEo!CQ3q`=nxtu>FRA;Z+!XkDi>c-9V%Xq9no(xqV z6?n-vpRIL!nMj(PlFnA}1Vx8GO&tHv>ye5_f);!QzkYui2ENnfaJ4Ro@UM}e?@1;O zFlW=83JT7xegUQ<Rtlqz;6LP0_<x5`eB*3`fJ!jGdOmKJiXV|w5Bw0oZ0&Ll8k zv~VAcmoHg+BWii#9DADUx62@JdJ7n$*wvC~y%zJF?g2fF`>O(}O8bn*Ql+}2jJ^E= z3`dO%Df#gXi=Rc?bFK(XI~;DtgLA}F28v0v`Xhy|<Q%BkdLgrlG#>!QkAD!0J;NiH z7Gu$(d#F)gyZ_KFmfQUOQKUS0v#()zwyL&N>+lVWym;cGS=cuHG0(mPtGnlMn65o2 z5j`-2TC^)X<Tc=H#wX3}bjeHQ)ui+e572BYx3J~;PkNNR{t2)5-|$MW^^OJpkiIo% z7_sgMoXj2HexN|v-kAfQR#b<KPCu-gTEDr?@{96D(WDFE-~I^DR2|l$;`{E1lQ^4u zQqjci3n~BjSshX`x!pVf003$C>O7^~42u8(juEHQ0stqy=+?2sXZr#G00004Sz714 B%qsu@ delta 2084 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 O#Ao{g000001X)`5_!i3m diff --git a/content/http..mathhub.info/FrameIT/frameworld/$Supplementary$Angles.omdoc.xz b/content/http..mathhub.info/FrameIT/frameworld/$Supplementary$Angles.omdoc.xz index b5d7c29c08a210200354b371cb7f1eb9964ad72e..158099d7784d33707b4c1a4a0754e097a3f9526c 100644 GIT binary patch delta 1923 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 J00004Sz13Mu3!KF delta 2008 zcmV;}2PgQ{5U3H583d=<2xyTV(SLtg<_`M<N0#d!-W_0<)k>&;qMURfUa1Fs5_OFt zM6vO_!~3<`GU3h6YjudX6G##Y;I1pAk*uw6ORzc*O~o`#PxZY&fAld+zxhTUov-Q` zLY+Q{j9IUSwwlBhvYbXEx;~!~6S66cwU!E&93%CxK}=TU2Amt#9dfv-nSbw^mdH@4 z1mlTNQ+<|Kp@ydIf=vEs<@fgz`s%>q)f46K?CBCZp-o;N!eG{lNtkw197w2LAo;?n zF3O6R@*B!u6mSLbW4%d?4-qGMZ{3XYS#R0{jFHfU5<k)%XHpek+*o*4U?>`(BJk(t zmWPzixZ;f=2A&In7(?4AtbgR&W9nExrq2gdW=B$+Q@46u<HFF$7Y~MHg^og~!tKX@ zN3$F~7oUKNqOJZrM(pL#zt=EZ3gTFt)>BVn)~rd86}rhavU%Tvh~U;vI~FN>k7f@S z`vd*^wcL#_OU16#vPOb34=8f2FN`#Re+_)&8T6hn!rjoo7Qb>{(0^_@i9P`;(uPFD zN<T!apEYGOI|<)WwX+|-%WSMWnoGJ0!NuC~8SN<cNesBvc-|*$0oCkJydH+>Umb_U z$8{$DLyVUMs()Eu3l-p&Ryq46g0%O~GNs6*A+=ojj`EqqFyxq118_`|07}rj-DK4w z9rOWmpr^^^Cn)T)e1ClnR!~p^MYER%Vx~W;yf3dKiT>DNpX$qPX+Uq8j7bF2Pj1aU zeDkoTu{ChN{I(a=&_F|t(|Lsozv1@8*J8jRf+cobLNndV#AW%X*dnUL0m4Ox+BXH~ zqo3yc)b8Ksz$rv~_Ed+9RFhQ|_sXndRS6CO)x%Xmb@a>k9e)Hm8iF7+E??s17$+oC zzpcRV5QrAg$;EOydv;k6KS0@nu8bM#79HnkH+6HR7%qmZPTUZD1=?VrTjE$s*-H@8 zuh2xA;-2&zg_59R<yeT+B+aLcU58tEp=m&_lK~IF31r)McCO(v)>}yCK706iZ7=t> z-b~Utti+cF$$tkmYx7>E%7_T5-lCt|-t>SQP^Vkbj{@G2&VwMxvv1!&FuD;59EO^K zf1+Qrb$Eoj8MmE#npYJwS;h{rnPZxbK}K<gk4uFdD(^<LKAh(vN!ZBWlI|305zgBX z!Y+(dV*7a93P5Q+Uh5FgOJnbdKoy<Gt5?n4-zJB(w0})NG+QXwG3-(zIWznUW`#(m z;G|G<Z`V<b0vkLf-&_~>1!h`12Lfmo;A_cMG{URd65dP!BgTif0sx+D(#Jgi7M-(5 zjK}82d9?56H`AlY7iV@-+xAPkLIGRhi_+r0KHq3-RIdC&EzTfBe&(7m>@FE>dY=o= zXXV9qR)50B-*xD|@vw964Hn(N$Vq&UV%v#_#ew`!rua6gO{ss^1m3PK>-?y{RGxTe zIY8DutY@4+6^QEWx(J<sU79mR=~{UkEXr4OaJ&sGcIBlEAsnpoI3Sm}_^i{p-<ND6 zJw@)*lX6lkxB>jKoMI3vJ*VmMWs5f?NfH0eet*$%hH*zH45)jq!{=F1I`AZ{Mzoiy znPS<!SF2A7CW($~yBR0a!Or)TX5KeWJ|)oxzi1kzX79sKW+gyRj`F|K!)kNkI_Egh z#Cv;LO+Ddy6PA{+q|$aR0ext9qyk<Uj`nGa9AGV*%DL~rwv4VUB#Qc+3-~pRWi?LM zpntceoBzsvCD-M<Z`PLs$#NDy^sSY=15u7j^Wt6t$x2`HttjqB%9Yc09n5QTBfdzk z!}hK{iX`7CP5Cff?>&>e-ZWF04g=1U*lq;ZYj-p7ZWg78eej^fHt7cHy&5}o!DrfM zmNC`=;FviV(sdkTy)QCVs(A>&JhEWO(0@Oiyl^;sc>c`S1!5=^{0K@`j0}5jO`)@8 z$`{a>d)!%5+vfmmLT}XOCDH(+^mrLIiP<WnmEO3HR)x2O5TWBRJi<wRFEg^>d_-yx ztnm;B#*A;wbU6n1C^$AFc%-r;RP0A$zRAGZKV1u+M_aRy{*So8PAnWK*so>61Ahxv zUp24Mt?qwX<8abJstCMr%x&*38Nvo5dkfpmzHgKx>4e~vm7<*%;<S!6bbTc>(W8Cz z`cQ|miEC={Y3P(I6@B=oDJkE4)MZpu=qpdCt`6G??|v;*tWeI{n6Q-H+i5X-r{?9U zR?|oii<yz*EXI=dmS<%qQc%xO^nb{YDR}G&bc?;rAqY9{1MjlZ`6<Bp+0d-gmZtwj z=jEByc={>0x8Ed_D|Z-oO`A^$aE7TT{pk3hmY_+Rym}JTz0D`>BXXOToZ3OmyN60x z%9N78l7aqOhKQ*w15vqk>*)XL&S`91=WJE6f=7%?Pt#6^oW#eE;}>I3tAEetLgl>m z0l4n3WnH6%DGdXUlZG?nS|=O-jxrYT6w$mG4-BP>CNjv*8lPR`Jhu(PG&<Z(8%Wi| z&<_;0t03c0Mkcu)*B|_Af*TD-Mh!-d*jXwFf4=JvZ0N4gPvDn3z*4T~yw8#9EH;-s zWW~5^M<$h+7%|vdux=DY5lKDA%YC4nSC<dLDhX}U#DG0$Y8d-0Fhr4i{1bHcf|tYh qh%%=lg9rdv1sPovSdNMS0fZ6S&jJ7=*4X;7#Ao{g000001X)^@=k5dm diff --git a/narration/Scrolls/MiscScrolls.omdoc b/narration/Scrolls/MiscScrolls.omdoc index 5cfc39f..d967130 100644 --- a/narration/Scrolls/MiscScrolls.omdoc +++ b/narration/Scrolls/MiscScrolls.omdoc @@ -1,2 +1,2 @@ <?xml version="1.0" encoding="UTF-8"?> -<omdoc base="http://mathhub.info/FrameIT/frameworld/Scrolls/MiscScrolls.omdoc"><metadata><link rel="http://cds.omdoc.org/mmt?metadata?sourceRef" resource="http://mathhub.info/FrameIT/frameworld/Scrolls/MiscScrolls.mmt#0.0.0:1248.35.0"/><meta property="http://cds.omdoc.org/?metadata?importedby"><om:OMOBJ xmlns:om="http://www.openmath.org/OpenMath"><om:OMLIT type="http://www.openmath.org/cd?OpenMath?OMSTR" value="mmt-omdoc"/></om:OMOBJ></meta></metadata><opaque format="text"><metadata><link rel="http://cds.omdoc.org/mmt?metadata?sourceRef" resource="http://mathhub.info/FrameIT/frameworld/Scrolls/MiscScrolls.mmt#0.0.0:84.0.84"/></metadata>Miscellaneous scrolls for playing around/testing that don't have a good home yet</opaque><instruction text="namespace http://mathhub.info/FrameIT/frameworld"/><instruction text="fixmeta http://mathhub.info/FrameIT/frameworld?FrameworldMeta"/><mref name="[http://mathhub.info/FrameIT/frameworld?Midpoint]" target="http://mathhub.info/FrameIT/frameworld?Midpoint"><metadata><link rel="http://cds.omdoc.org/mmt?metadata?sourceRef" resource="http://mathhub.info/FrameIT/frameworld/Scrolls/MiscScrolls.mmt#165.5.0:179.5.14"/></metadata></mref></omdoc> \ No newline at end of file +<omdoc base="http://mathhub.info/FrameIT/frameworld/Scrolls/MiscScrolls.omdoc"><metadata><link rel="http://cds.omdoc.org/mmt?metadata?sourceRef" resource="http://mathhub.info/FrameIT/frameworld/Scrolls/MiscScrolls.mmt#0.0.0:1241.36.0"/><meta property="http://cds.omdoc.org/?metadata?importedby"><om:OMOBJ xmlns:om="http://www.openmath.org/OpenMath"><om:OMLIT type="http://www.openmath.org/cd?OpenMath?OMSTR" value="mmt-omdoc"/></om:OMOBJ></meta></metadata><opaque format="text"><metadata><link rel="http://cds.omdoc.org/mmt?metadata?sourceRef" resource="http://mathhub.info/FrameIT/frameworld/Scrolls/MiscScrolls.mmt#0.0.0:84.0.84"/></metadata>Miscellaneous scrolls for playing around/testing that don't have a good home yet</opaque><instruction text="namespace http://mathhub.info/FrameIT/frameworld"/><instruction text="fixmeta http://mathhub.info/FrameIT/frameworld?FrameworldMeta"/><mref name="[http://mathhub.info/FrameIT/frameworld?Midpoint]" target="http://mathhub.info/FrameIT/frameworld?Midpoint"><metadata><link rel="http://cds.omdoc.org/mmt?metadata?sourceRef" resource="http://mathhub.info/FrameIT/frameworld/Scrolls/MiscScrolls.mmt#165.5.0:179.5.14"/></metadata></mref></omdoc> \ No newline at end of file diff --git a/narration/Scrolls/SupplementaryAngles.omdoc b/narration/Scrolls/SupplementaryAngles.omdoc index add781f..aa05b40 100644 --- a/narration/Scrolls/SupplementaryAngles.omdoc +++ b/narration/Scrolls/SupplementaryAngles.omdoc @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<omdoc base="http://mathhub.info/FrameIT/frameworld/Scrolls/SupplementaryAngles.omdoc"><metadata><link rel="http://cds.omdoc.org/mmt?metadata?sourceRef" resource="http://mathhub.info/FrameIT/frameworld/Scrolls/SupplementaryAngles.mmt#0.0.0:1619.45.0"/><meta property="http://cds.omdoc.org/?metadata?importedby"><om:OMOBJ xmlns:om="http://www.openmath.org/OpenMath"><om:OMLIT type="http://www.openmath.org/cd?OpenMath?OMSTR" value="mmt-omdoc"/></om:OMOBJ></meta></metadata><instruction text="namespace http://mathhub.info/FrameIT/frameworld"/><instruction text="fixmeta http://mathhub.info/FrameIT/frameworld?FrameworldMeta"/><opaque format="text"><metadata><link rel="http://cds.omdoc.org/mmt?metadata?sourceRef" resource="http://mathhub.info/FrameIT/frameworld/Scrolls/SupplementaryAngles.mmt#78.3.0:245.11.0"/></metadata><scope>\ +<omdoc base="http://mathhub.info/FrameIT/frameworld/Scrolls/SupplementaryAngles.omdoc"><metadata><link rel="http://cds.omdoc.org/mmt?metadata?sourceRef" resource="http://mathhub.info/FrameIT/frameworld/Scrolls/SupplementaryAngles.mmt#0.0.0:1612.46.0"/><meta property="http://cds.omdoc.org/?metadata?importedby"><om:OMOBJ xmlns:om="http://www.openmath.org/OpenMath"><om:OMLIT type="http://www.openmath.org/cd?OpenMath?OMSTR" value="mmt-omdoc"/></om:OMOBJ></meta></metadata><instruction text="namespace http://mathhub.info/FrameIT/frameworld"/><instruction text="fixmeta http://mathhub.info/FrameIT/frameworld?FrameworldMeta"/><opaque format="text"><metadata><link rel="http://cds.omdoc.org/mmt?metadata?sourceRef" resource="http://mathhub.info/FrameIT/frameworld/Scrolls/SupplementaryAngles.mmt#78.3.0:245.11.0"/></metadata><scope>\ \ D \ ________\_________ diff --git a/narration/Scrolls/TriangleScrolls.omdoc b/narration/Scrolls/TriangleScrolls.omdoc index 9c97eca..9f6f7d5 100644 --- a/narration/Scrolls/TriangleScrolls.omdoc +++ b/narration/Scrolls/TriangleScrolls.omdoc @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<omdoc base="http://mathhub.info/FrameIT/frameworld/Scrolls/TriangleScrolls.omdoc"><metadata><link rel="http://cds.omdoc.org/mmt?metadata?sourceRef" resource="http://mathhub.info/FrameIT/frameworld/Scrolls/TriangleScrolls.mmt#0.0.0:4687.132.3"/><meta property="http://cds.omdoc.org/?metadata?importedby"><om:OMOBJ xmlns:om="http://www.openmath.org/OpenMath"><om:OMLIT type="http://www.openmath.org/cd?OpenMath?OMSTR" value="mmt-omdoc"/></om:OMOBJ></meta></metadata><opaque format="text"><metadata><link rel="http://cds.omdoc.org/mmt?metadata?sourceRef" resource="http://mathhub.info/FrameIT/frameworld/Scrolls/TriangleScrolls.mmt#0.0.0:47.0.47"/></metadata>Modular scrolls having to do with triangles</opaque><instruction text="namespace http://mathhub.info/FrameIT/frameworld"/><instruction text="fixmeta http://mathhub.info/FrameIT/frameworld?FrameworldMeta"/><opaque format="text"><metadata><link rel="http://cds.omdoc.org/mmt?metadata?sourceRef" resource="http://mathhub.info/FrameIT/frameworld/Scrolls/TriangleScrolls.mmt#128.5.0:322.14.0"/></metadata>A blueprint problem theory for triangle scrolls +<omdoc base="http://mathhub.info/FrameIT/frameworld/Scrolls/TriangleScrolls.omdoc"><metadata><link rel="http://cds.omdoc.org/mmt?metadata?sourceRef" resource="http://mathhub.info/FrameIT/frameworld/Scrolls/TriangleScrolls.mmt#0.0.0:4666.135.3"/><meta property="http://cds.omdoc.org/?metadata?importedby"><om:OMOBJ xmlns:om="http://www.openmath.org/OpenMath"><om:OMLIT type="http://www.openmath.org/cd?OpenMath?OMSTR" value="mmt-omdoc"/></om:OMOBJ></meta></metadata><opaque format="text"><metadata><link rel="http://cds.omdoc.org/mmt?metadata?sourceRef" resource="http://mathhub.info/FrameIT/frameworld/Scrolls/TriangleScrolls.mmt#0.0.0:47.0.47"/></metadata>Modular scrolls having to do with triangles</opaque><instruction text="namespace http://mathhub.info/FrameIT/frameworld"/><instruction text="fixmeta http://mathhub.info/FrameIT/frameworld?FrameworldMeta"/><opaque format="text"><metadata><link rel="http://cds.omdoc.org/mmt?metadata?sourceRef" resource="http://mathhub.info/FrameIT/frameworld/Scrolls/TriangleScrolls.mmt#128.5.0:322.14.0"/></metadata>A blueprint problem theory for triangle scrolls B /| / | @@ -9,4 +9,4 @@ (nicer image: https://en.wikipedia.org/wiki/Right_triangle#/media/File:Rtriangle.svg)</opaque><mref name="[http://mathhub.info/FrameIT/frameworld?TriangleScroll_GeneralProblem]" target="http://mathhub.info/FrameIT/frameworld?TriangleScroll_GeneralProblem"><metadata><link rel="http://cds.omdoc.org/mmt?metadata?sourceRef" resource="http://mathhub.info/FrameIT/frameworld/Scrolls/TriangleScrolls.mmt#324.15.0:359.15.35"/></metadata></mref><opaque format="text"><metadata><link rel="http://cds.omdoc.org/mmt?metadata?sourceRef" resource="http://mathhub.info/FrameIT/frameworld/Scrolls/TriangleScrolls.mmt#511.21.0:667.23.77"/></metadata>A blueprint problem theory for triangle scrolls that require a right angle - We use ?TriangleScroll_GeneralProblem and demand the angle at C to be 90°</opaque><mref name="[http://mathhub.info/FrameIT/frameworld?TriangleScroll_RightAngledProblem]" target="http://mathhub.info/FrameIT/frameworld?TriangleScroll_RightAngledProblem"><metadata><link rel="http://cds.omdoc.org/mmt?metadata?sourceRef" resource="http://mathhub.info/FrameIT/frameworld/Scrolls/TriangleScrolls.mmt#669.24.0:708.24.39"/></metadata></mref><mref name="[http://mathhub.info/FrameIT/frameworld?AngleSum]" target="http://mathhub.info/FrameIT/frameworld?AngleSum"><metadata><link rel="http://cds.omdoc.org/mmt?metadata?sourceRef" resource="http://mathhub.info/FrameIT/frameworld/Scrolls/TriangleScrolls.mmt#941.33.0:955.33.14"/></metadata></mref><mref name="[http://mathhub.info/FrameIT/frameworld?OppositeLen]" target="http://mathhub.info/FrameIT/frameworld?OppositeLen"><metadata><link rel="http://cds.omdoc.org/mmt?metadata?sourceRef" resource="http://mathhub.info/FrameIT/frameworld/Scrolls/TriangleScrolls.mmt#2247.67.0:2264.67.17"/></metadata></mref></omdoc> \ No newline at end of file + We use ?TriangleScroll_GeneralProblem and demand the angle at C to be 90°</opaque><mref name="[http://mathhub.info/FrameIT/frameworld?TriangleScroll_RightAngledProblem]" target="http://mathhub.info/FrameIT/frameworld?TriangleScroll_RightAngledProblem"><metadata><link rel="http://cds.omdoc.org/mmt?metadata?sourceRef" resource="http://mathhub.info/FrameIT/frameworld/Scrolls/TriangleScrolls.mmt#669.24.0:708.24.39"/></metadata></mref><mref name="[http://mathhub.info/FrameIT/frameworld?AngleSum]" target="http://mathhub.info/FrameIT/frameworld?AngleSum"><metadata><link rel="http://cds.omdoc.org/mmt?metadata?sourceRef" resource="http://mathhub.info/FrameIT/frameworld/Scrolls/TriangleScrolls.mmt#941.33.0:955.33.14"/></metadata></mref><mref name="[http://mathhub.info/FrameIT/frameworld?OppositeLen]" target="http://mathhub.info/FrameIT/frameworld?OppositeLen"><metadata><link rel="http://cds.omdoc.org/mmt?metadata?sourceRef" resource="http://mathhub.info/FrameIT/frameworld/Scrolls/TriangleScrolls.mmt#2240.68.0:2257.68.17"/></metadata></mref></omdoc> \ No newline at end of file diff --git a/source/Scrolls/MiscScrolls.mmt b/source/Scrolls/MiscScrolls.mmt index 412444a..19a535d 100644 --- a/source/Scrolls/MiscScrolls.mmt +++ b/source/Scrolls/MiscScrolls.mmt @@ -4,6 +4,9 @@ namespace http://mathhub.info/FrameIT/frameworld ⚠fixmeta ?FrameworldMeta ⚠theory Midpoint = + meta ?MetaAnnotations?problemTheory ?Midpoint/Problem ♠+ meta ?MetaAnnotations?solutionTheory ?Midpoint/Solution ♠+ theory Problem = P : point ☠@@ -22,8 +25,6 @@ theory Midpoint = include ?Midpoint/Problem ♠meta ?MetaAnnotations?label "MidPoint" ♠- meta ?MetaAnnotations?problemTheory ?Midpoint/Problem ♠- meta ?MetaAnnotations?solutionTheory ?Midpoint/Solution ♠meta ?MetaAnnotations?description s"Our MidPoint scroll that given two points ${lverb P} and ${lverb Q} computes the midpoint of the line ${lverb P Q}." ♠midpoint diff --git a/source/Scrolls/README.md b/source/Scrolls/README.md index 95e8ed1..df4a964 100644 --- a/source/Scrolls/README.md +++ b/source/Scrolls/README.md @@ -3,17 +3,23 @@ ## How to write one Let's walk through an example of writing a scroll. -The scroll we will be writing can be found in `MiscScrolls.mmt` at time of writing, albeit without the documentary comments we will be making here. +The scroll we will be writing can be found in `MiscScrolls.mmt` at time of writing, albeit without the documentary comments we will be supplying here. -Let us write a scroll "Midpoint" that requires two points `P` and `Q` as input, and that gives you upon application the midpoint between those points. +Let us write a scroll "Midpoint" that requires two points `P` and `Q` as input, and that gives you upon application the midpoint between those points: ```mmt theory Midpoint = + // A scroll is a theory with two special meta datums referencing a problem and a solution theory: ♠+ meta ?MetaAnnotations?problemTheory ?Midpoint/Problem ♠+ meta ?MetaAnnotations?solutionTheory ?Midpoint/Solution ♠+ + // You can specify those theories as nested theories of the scroll theory as such, but this is not required at all; it is just convention. ♠+ theory Problem = // Declare all required fact inputs here. For every fact, you may (but are not required to) give some meta information - like a label and description ♠+ like a label and description. ♠P : point ☠@@ -29,29 +35,25 @@ theory Midpoint = ⚠theory Solution = - // note: include the problem theory before spelling out the meta annotations - to have access to the facts formalized in the problem theory ♠+ // A solution theory always starts with including the problem theory: ♠include ?Midpoint/Problem ♠- // the next meta annotations (to the theory) actually make this theory into a scroll: - We specify the Problem and Solution theories ♠- + // Next, we can supply a label and a description to be used for the overall scroll:♠meta ?MetaAnnotations?label "MidPoint" ♠- meta ?MetaAnnotations?problemTheory ?Midpoint/Problem ♠- meta ?MetaAnnotations?solutionTheory ?Midpoint/Solution ♠+ meta ?MetaAnnotations?description s"Our MidPoint scroll that given two points ${lverb P} and ${lverb Q} computes the midpoint of the line ${lverb P Q}." ♠+ // Here, the description uses MMT's interpolation feature by prefixing the double quotes with an "s". + This allows embedding arbitrary MMT terms within the string via ${...} where ... is an MMT term. - // In the next meta datum string we prefix the double quotes by an "s" - to be able to make use of string interpolation. Concretely, this makes - the scroll dynamic: if the user fills the first P fact slot by a point - with label A, then the scroll description should also talk about A, not P. + In FrameIT, we use such string interpolation to give the scroll a more dynamic flavor: - Hence, we use "${lverb P}", where by P we refer to the fact constant of P - as included by the problem theory. Read this as "label verbalization of P". - - And "${lverb P Q}" is syntactic sugar for "${lverb P}${lverb Q}", i.e., the mere - concatenation (without whitespace). ♠- meta ?MetaAnnotations?description s"Our MidPoint scroll that given two points ${lverb P} and ${lverb Q} computes the midpoint of the line ${lverb P Q}." ♠+ If the user fills the first P fact slot by a point with label A, then the scroll description should also talk about A, not P. + For that we can use the MMT term `lverb P` that stands for "label verbalization" of P embedded into the description string via "${lverb P}". + Whenever the user reassigns the fact slot for P, the label verbalization will kick in again and adjust the result of "${lverb P}" to the label of the actually assigned fact. + + And "${lverb P Q}" is syntactic sugar for "${lverb P}${lverb Q}", i.e., the mere concatenation (without whitespace). ♠+ + // Next, solution theories declare all facts that are acquired upon successful application: ♠midpoint : point ☠diff --git a/source/Scrolls/SupplementaryAngles.mmt b/source/Scrolls/SupplementaryAngles.mmt index e643585..ebadc26 100644 --- a/source/Scrolls/SupplementaryAngles.mmt +++ b/source/Scrolls/SupplementaryAngles.mmt @@ -11,6 +11,9 @@ A B C The scroll encodes "angle ABD + angle DBC = 180°", or rather, "angle DBC = 180° - angle ABD" ⚠theory SupplementaryAngles = + meta ?MetaAnnotations?problemTheory ?SupplementaryAngles/Problem ♠+ meta ?MetaAnnotations?solutionTheory ?SupplementaryAngles/Solution ♠+ theory Problem = A: point ☠meta ?MetaAnnotations?label "A" ♠B: point ☠meta ?MetaAnnotations?label "B" ♠@@ -30,8 +33,6 @@ theory SupplementaryAngles = theory Solution = meta ?MetaAnnotations?label "AngleSum" ♠- meta ?MetaAnnotations?problemTheory ?SupplementaryAngles/Problem ♠- meta ?MetaAnnotations?solutionTheory ?SupplementaryAngles/Solution ♠meta ?MetaAnnotations?description "Supplementary angles add up to 180 degree " ♠include ?SupplementaryAngles/Problem ♠diff --git a/source/Scrolls/TriangleScrolls.mmt b/source/Scrolls/TriangleScrolls.mmt index 7476814..94a9ec0 100644 --- a/source/Scrolls/TriangleScrolls.mmt +++ b/source/Scrolls/TriangleScrolls.mmt @@ -32,6 +32,9 @@ theory TriangleScroll_RightAngledProblem = ⚠theory AngleSum = + meta ?MetaAnnotations?problemTheory ?AngleSum/Problem ♠+ meta ?MetaAnnotations?solutionTheory ?AngleSum/Solution ♠+ theory Problem = include ?TriangleScroll_GeneralProblem ♠@@ -52,8 +55,6 @@ theory AngleSum = include ?AngleSum/Problem ♠meta ?MetaAnnotations?label "AngleSum" ♠- meta ?MetaAnnotations?problemTheory ?AngleSum/Problem ♠- meta ?MetaAnnotations?solutionTheory ?AngleSum/Solution ♠meta ?MetaAnnotations?description s"Given a triangle ${lverb A B C} and two known angles, we can deduce the missing angle by the sum of interior angles in triangles always being 180°" ♠angleBCA @@ -66,6 +67,9 @@ theory AngleSum = ⚠theory OppositeLen = + meta ?MetaAnnotations?problemTheory ?OppositeLen/Problem ♠+ meta ?MetaAnnotations?solutionTheory ?OppositeLen/Solution ♠+ theory Problem = include ?TriangleScroll_RightAngledProblem ♠@@ -86,8 +90,6 @@ theory OppositeLen = include ?OppositeLen/Problem ♠meta ?MetaAnnotations?label "OppositeLen" ♠- meta ?MetaAnnotations?problemTheory ?OppositeLen/Problem ♠- meta ?MetaAnnotations?solutionTheory ?OppositeLen/Solution ♠meta ?MetaAnnotations?description s"Given a triangle ${lverb A B C} right angled at ${lverb C}, the distance ${lverb A B} can be computed from the angle at ${lverb B} and the distance ${lverb B C}" ♠deducedLineCA @@ -101,6 +103,9 @@ theory OppositeLen = // Doesn't typecheck, not sure why ⚠// theory Pythagoras = + meta ?MetaAnnotations?problemTheory ?Pythagoras/Problem ♠+ meta ?MetaAnnotations?solutionTheory ?Pythagoras/Solution ♠+ theory Problem = include ?TriangleScroll_RightAngledProblem ♠@@ -119,8 +124,6 @@ theory OppositeLen = include ?Pythagoras/Problem ♠meta ?MetaAnnotations?label "Pythagoras" ♠- meta ?MetaAnnotations?problemTheory ?Pythagoras/Problem ♠- meta ?MetaAnnotations?solutionTheory ?Pythagoras/Solution ♠meta ?MetaAnnotations?description "Given a ABC right-angled at C and lengths of both legs, we can compute the length of the hypotenuse via Pythagora's theorem" ♠deducedHypotenuse -- GitLab