From 3d961b835050fc1ae98e1a5e139aaaa13ace96c9 Mon Sep 17 00:00:00 2001
From: ComFreek <comfreek@outlook.com>
Date: Sat, 28 Nov 2020 18:07:57 +0100
Subject: [PATCH] new scroll labels/descriptions + more modular triangle
 scrolls

---
 .../FrameIT/frameworld/$Angle$Sum.omdoc.xz    | Bin 2176 -> 1940 bytes
 .../FrameIT/frameworld/$Opposite$Len.omdoc.xz | Bin 2360 -> 2148 bytes
 .../frameworld/$Triangle$Problem.omdoc.xz     | Bin 0 -> 644 bytes
 .../$Triangle$Problem_$Angle$At$A.omdoc.xz    | Bin 0 -> 1284 bytes
 .../$Triangle$Problem_$Angle$At$B.omdoc.xz    | Bin 0 -> 1144 bytes
 ...riangle$Problem_$Right$Angle$At$C.omdoc.xz | Bin 0 -> 1256 bytes
 .../mmt-omdoc/Scrolls/TriangleScrolls.mmt.err |   2 -
 narration/Scrolls/TriangleScrolls.omdoc       |   6 +-
 relational/Scrolls/TriangleScrolls.rel        |   6 +-
 .../FrameIT/frameworld/$Angle$Sum.rel         |  86 +++++++-----------
 .../FrameIT/frameworld/$Opposite$Len.rel      |  29 ++----
 .../FrameIT/frameworld/$Triangle$Problem.rel  |  17 ++++
 .../$Triangle$Problem_$Angle$At$A.rel         |  16 ++++
 .../$Triangle$Problem_$Angle$At$B.rel         |  16 ++++
 .../$Triangle$Problem_$Right$Angle$At$C.rel   |  17 ++++
 source/Scrolls/TriangleScrolls.mmt            |  78 ++++++++--------
 16 files changed, 156 insertions(+), 117 deletions(-)
 create mode 100644 content/http..mathhub.info/FrameIT/frameworld/$Triangle$Problem.omdoc.xz
 create mode 100644 content/http..mathhub.info/FrameIT/frameworld/$Triangle$Problem_$Angle$At$A.omdoc.xz
 create mode 100644 content/http..mathhub.info/FrameIT/frameworld/$Triangle$Problem_$Angle$At$B.omdoc.xz
 create mode 100644 content/http..mathhub.info/FrameIT/frameworld/$Triangle$Problem_$Right$Angle$At$C.omdoc.xz
 create mode 100644 relational/http..mathhub.info/FrameIT/frameworld/$Triangle$Problem.rel
 create mode 100644 relational/http..mathhub.info/FrameIT/frameworld/$Triangle$Problem_$Angle$At$A.rel
 create mode 100644 relational/http..mathhub.info/FrameIT/frameworld/$Triangle$Problem_$Angle$At$B.rel
 create mode 100644 relational/http..mathhub.info/FrameIT/frameworld/$Triangle$Problem_$Right$Angle$At$C.rel

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 c3052a5adcb5b18f9e3febaa5659740798f64202..77e82dbba5a503d463ebeee6fa74265be208222e 100644
GIT binary patch
delta 1685
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

delta 1922
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
I000D8S}RMT5C8xG

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 4178ed545c97fa640915a6826366829bdd666cc0..ac60e586d19170c0a559ed5791ab9fa625558ad5 100644
GIT binary patch
delta 1891
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

delta 2105
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

diff --git a/content/http..mathhub.info/FrameIT/frameworld/$Triangle$Problem.omdoc.xz b/content/http..mathhub.info/FrameIT/frameworld/$Triangle$Problem.omdoc.xz
new file mode 100644
index 0000000000000000000000000000000000000000..114223d374263e15ccd3d27b4e27aab25ebe3a58
GIT binary patch
literal 644
zcmV-~0(<@aH+ooF000E$*0e?f03iVu0001VFXf})532%0T>u^%$);Gjm;(V8!D4R=
zvOFp-REWkEE1f>j;I%&DeXXhUOC=fH*0Ejij1i?$h>zE3%J*;?T3^ss2<$DwDDq;t
znLacvhp$5`DfyT4v~~MC>cHRWcZBLZaM!!Jb^;S2y{_1+VwWkL^~|4szvyyB_razX
z9bG1sX!Of3#?>f|tEat^LqX6!c{)b(vu<_(_m;2MPz6y{&|(O8y6$s0?nLaV{V}+d
zWyc)zwI7IR&YqeXPl=D3_=ZDcxX)TGIfk28d5b_3NhhtrbsC`Ssl~C;Nb2G7=+V~_
zMA!?h1~c5BeX$OG=WAJl+U5hJ)4AgWqJ25Bl%+%C@QLT>bV^6VfQK3p)VQT0x-|9o
z=iC5vpythYNkjQ)PQ_0!X-pfGb}KcoiFNjf-{ggZ_wEiRm?nE-DQM(h&91Ffu>1HR
z+6n7}1@-Y#ZvmTIl;A;i&mQtDCA3InYfEp2wTPQe9lx03?pFFF27d>ZUk(Quis5!N
z=$UvDs!t+2UC<QF3h<Et>N~2`1^A5Cpwm3_K+FlH|J3YrF@#j|DBc3M021`D2_1w6
z=!2Yx*=tTkNSDYyemvUE+z@lF(Be6AgBWYvk{C{5(Fvv>(dmo`FpY;^1qRZC{A}~X
zFjwYouL<Rk$SFw`ve73rT!B6@)pNOuq+g>rN1gcD>;<IS{v8tl`0DF2G->*Sw9B`3
z4qB#xP3ill88BM=YG~8vX`YlFbMTuRoW(H>pNA)dvn&24TKwfCfL8kgcK`r0D6PN>
eYlukz0pA3y9{>Oso_fWx#Ao{g000001X)@F+dSX^

literal 0
HcmV?d00001

diff --git a/content/http..mathhub.info/FrameIT/frameworld/$Triangle$Problem_$Angle$At$A.omdoc.xz b/content/http..mathhub.info/FrameIT/frameworld/$Triangle$Problem_$Angle$At$A.omdoc.xz
new file mode 100644
index 0000000000000000000000000000000000000000..a605cb2e6b72978cedcb8f648af3df9518f41baf
GIT binary patch
literal 1284
zcmV+f1^fE_H+ooF000E$*0e?f03iVu0001VFXf})Hv9y^T>u^%$);Gjm;(V8!D4R=
zvOFp-REWkEE1f>j;I%&DeXXhUOC=fH*0Ejij1i?$h>zE3%J*;?T3^ss2<$DwDDq;t
znLacvhp$5`DfyT4v~~MC>cG${X7+0J)!Fgs;$;x&wCS#5sh#;aGDQ(4YP0ofS}lvw
zs0UjO&TOa#R06sPf&#UAWR830UZl>OkIF2*ZZ%jLYc0$u8e<$u6^B5p7DNa1oWrXm
zF4<77^`r;gJ3_4i9pa9}BAP$tW_mQ^Rf$@BX$nO-l>sKF&Dx@S-rKy~fc4c4rLh_p
z0&IxcPLd}w{D>NC%m>nEj#&<}jhOoYX|kznL=!O}EA9OR(c-g(*Q`BO`Q~3gyz>f}
z9P%U%IWIhG=m}_p_FewVWCWjvt(Tm`#~IZNel+}L#HdH%jpH&f&r`W2feuQ30S-YG
z30>7Mdn#iGbE4T@Sf6ePV9pyM4t;W8k*%v+QbL}oa%{GzB&v=<-EA0+(p***?m~`A
zb~KLN{DoV;Y}&D_-#+v>yz9f16x17o4rZW2lyN4)Mjp3<j@vCkQg@3sT(|>-;aFWw
zf*jhdzPsN5^&hbw@|q%PMDcf(;+&{rLhfmewb()?GjLmKATsDPGMsY1S`uYCLDaI!
z*~R_UKmV4g6X>y@Ld>pj{*Kc6*<1QvINFZIapGu_=mtnZBcGJ>mRDyh{5+&x<0MJg
z3QkRoOv7d4cDE?LF=cuzu@e#|=)nDau<3<x7wGF%I>8MfcQ!05&ftW$q8F4&pF79|
zApfDWr{LSr0NO&uqW1=M*TGmGzuk)LTGnAGPbUcN8S&yn5L&puJTO<q&s69Io*$(Y
z)UweeKA1zmrTNDPwJAQfGAThB3MbEZqzM{8Z3e%n^&yHjD%w}%g5dbutxbNVmkP)G
zy12;C+9!=KjAM1g9RnVUz}u+O3&TS8MN3hCNeo0R{?P!hysm+iMd%|Z%^2O`{#r9Q
z2e};oaqWfzQ6#@QfD=RP;!8glZd8t<*e4`DMVG2|880{UC&+<hfucuHVG5zmu=EsL
zgX;0A7q{ti0vA^+Rj48pK_@ASA4$VdHg7KMca*@zl8kNSI}%#VX*~iP2GUJJK4ydD
zFXO&@7F{?YaRCA=>3xt>Xld{VA`$j5P2@}=Sn(P>6+HK#ZsLf&&L&xO94spGaB?|l
ztg#+%bRN*&a;VW2R+P?W*AHty9+?WPLNoEK$`UYq$vWQ?L!79Qh`~5#8)IZJeuVO!
z$n!zmFpc;&dsd^MN<D%i&-pWjdxUko1EyZ!x!0v(XxFhAsAJUy93O+;Jt}=<9vLYx
zYuZbU3uuhIXuw<EAeI4BL&Dlq@a9C5eCp4(8uGjmvaPG20tcc*<nNs@l2vIz{l=fP
z{Amt;p8EWCLvxni&R?`qI^Y8W>-)p*=m_hBDNUsoekS$@NR5O)K<yr`VflViRd+<Q
zjI~?9HJRO@U8Y?Pu?m;<V~5;=_I~jpJGuEt;}CF0Z=lC$0X)6k?AP5VA?u{hnl&Gn
zYf3LdcEob>OW$S%7RO>o)TdOPfD!7wd!M)f)UaKAr?DS?srS;5t)?$ni-Id%Mu0+0
u{OaTGPrS$g0002YIrw#BU7;KR0o@7xZ2$mNFXmLS#Ao{g000001X)_nJ!c{S

literal 0
HcmV?d00001

diff --git a/content/http..mathhub.info/FrameIT/frameworld/$Triangle$Problem_$Angle$At$B.omdoc.xz b/content/http..mathhub.info/FrameIT/frameworld/$Triangle$Problem_$Angle$At$B.omdoc.xz
new file mode 100644
index 0000000000000000000000000000000000000000..8755d5b1cc49f37261978b2aa5b15cbfa792957f
GIT binary patch
literal 1144
zcmV-;1c&?mH+ooF000E$*0e?f03iVu0001VFXf})Cp82%T>u^%$);Gjm;(V8!D4R=
zvOFp-REWkEE1f>j;I%&DeXXhUOC=fH*0Ejij1i?$h>zE3%J*;?T3^ss2<$DwDDq;t
znLacvhp$5`DfyT4v~~MC>cG${X7+0J*G^cbgzpBqD`sU7P?#d2C_0!){r0B^6dBPO
z+m><*zNf24!tD-|2u}@P1qyZaZ7Um7*++OF^?HxRL*=^a>0e9bet1z!;*E={P=%a?
z=a@^BuSv=TQ0K7(7i<PiSkbmDnSFLQIJ;?#qt{pBZ*7`(N4$338yCE!WkI7>CV<%7
zsb=!E>jDKhc+R9BuY?L`-mG&JiihSpZNiuGTTft%Xi(NLS|+d<LG}4L>a&lV(;mj;
zvpp9JELpKwM;;g@==ZMqmqIje9OPH=vn5(YgQx4kq@gj1Y}4>>>)Y-CMPJ35%$CH0
z{HHEuM2Xq{7?SAPu2x2kWiz-)7JDb!EI%p^00JLfS{&$Hkz~ctCfEafGR*jtgyrl<
zq^+OfALbVCoWWpIxM3<)n;8Tk*@J_9u&WKV753gMWj!?Rhy<FnML=5?IBUXzKvi={
z(?=k&DJ|k68{H~uq3hq5wwaDNSr-u4>(BJK9f$HF_SDu*`-;hz3(J#gS9a!#lrmA}
zY)ExoQ&%gFo79K0J;*k!Xwt2PH08LK2uAk~o=<#KA@@8RtmXxuiIo+n9EzQ!ecwM;
zItqFvE&H^k6h01xQpPUSkTMnoO8Sb~6b_1d6ohGuKH>cObr1L}vgkdSnsbwl@%A+~
zU8}67lwR*9Ib#t!!bC>yxuO!4sTG!Pd&S3>3Ilhg^|nh!bQnGnF_5wGj_>j;g=QN_
z#5EmlJOO3KlT*uLq$WE3eA|gpWB=7SXlS(PKUcfU0JH8XNBWd=HKt1fOZEJHR$Pq`
z$>Dl<k>Mg~u@_U!+PnC`#Zj*6LTaI&q^qHqyNQ7ae{i4xg@yW|482Tx7LOQ78UvrZ
z)=;}Pd-KkJU#|2a38vxXG)~ARc2pKvPJO9)y`OnjmT7U!(1nr~H7awifpGaVsQ;U3
zJ8`{9`MWoG<VHd%Z2P3cVV4pn0kfPd!TYOqp#;J9<Ei_5UIbzienbK-vDK8P4ZE8d
zd5mM&t-i91t0DIypSM4A;r+X^?Cn4Twq+j(5-`rwmcS9XCJ0bDd=c3*0!)D2=aRgR
zncg6e_YG1z`V*9l^v2CPN;qnlz%)S=o_VzVbA@2Sd-K@@^<x(ys0a{qsl59P$=BFX
zrtN2E=>|$AxE-`TXw@uzvb=gS5C9T0&AmmC+I%@s5yCbakQ%t&4@1b0d>t^$A22at
z(<ky2+nReq55L?jJ+_C-iJ|FOpCmAUb0Y^%-Wyi`YCXqQQ1052T!SwNE!yXg#`rFz
zC@UHA%1=`l2X-8cDCZNh{&{<?u~y>%00020#$cS2mIdel0n!MzP5=P3lg{q3#Ao{g
K000001X)@I#3a%H

literal 0
HcmV?d00001

diff --git a/content/http..mathhub.info/FrameIT/frameworld/$Triangle$Problem_$Right$Angle$At$C.omdoc.xz b/content/http..mathhub.info/FrameIT/frameworld/$Triangle$Problem_$Right$Angle$At$C.omdoc.xz
new file mode 100644
index 0000000000000000000000000000000000000000..380f0d8fceafd6af434eb64375f234b0d2c57ec1
GIT binary patch
literal 1256
zcmV<E1Q+}LH+ooF000E$*0e?f03iVu0001VFXf})Kwt!@T>u^%$);Gjm;(V8!D4R=
zvOFp-REWkEE1f>j;I%&DeXXhUOC=fH*0Ejij1i?$h>zE3%J*;?T3^ss2<$DwDDq;t
znLacvhp$5`DfyT4v~~MC>cG$|Jyko(8CS{_$QYtnqS7m`H`}&c6*4lxr|ES12%16n
z3k#2Py=J;^<!8sD-`1YM^o;MkbwKA$Vjpkpvz=!*@Xh@3H>n+`^rYT5pO~N|O8li=
ze9<NqsiT+=4lT*|9UM%fz$A^sr=z$))#X94Llt`;gZX0upX6oWqkGO-h|(kj1)53c
zi|B>AV;{b^7b-^Faja>2GbrsC3up3KJPE51cbU?u6nWwkeU6WbQrU;OR&!CP3*j8r
zSPoS{_mmqG%$b^%wV#ze+VF`1vGCwwKZM}>Q6OLHrql-MVq60KWTBfBDxE(H7kAqu
z>o}C;$*~$tqV!=@>V%I@cu10}o--wu%^FK@XupO7Fj}Pf<8Dh0{8wM#Qt;4-DX8^7
z;<DdHdq>3$>?2%J)Fv&AmEiky{41lSUQ9+sZ^SnQzGmE7)ae-!%77aRD*mN|D_Ez@
zTlOjc?D<$gWATWl`t*DBzan9TjT>68Aevk4@Lg`~g@wc^dg2M#Lg3wX&yJSS<wLc5
z85P2&TxSeV;+%5trqy(ULNpx=cD=Igy|kOwB(6#j@oysoaOnepS2Cwv;B+n{zW-5r
zmAqA5x<Zl^;Hc3L16`C?C@K@Y#O99bH#{gIxyTG{;)XzheZiXg08nd=q5`km_aPuG
z8lrIWxw(o0kP5^iPWimG^$pF{g3fL;al0)Vu8$B(%#c&K6GH7Z6TB{R^JowY1LBrN
zzl+|L+byG%OCw#|`@p^Z%_5R7@}=hR75n?NhqpdOL75U77soC&<I6E}nvb@k^i8{$
z93(xkbIm;`F4;UZuv60Wd(7TM*R1QQl`ILH#uhe>|3Nr%q4v{TmapuUoqq-*E}t=!
zFsnt`0=9a&bv^PbkokUGuhHHuM6_Q|qu)UxeD7-782o``Zez!+Q7EyPaNr68L;F_~
z5a|sw+@0z{hM_@yOJyxTtK`)E>D`nq+Sh>72<`WkkBy{C2Y|QFic~+K1~{&-a(Td0
z?<W&MZ);y+5E#0X`UX=7V^>Xw(V0s&nBwi&nZ7tI6P_Oo287;0SyYSuqfFMWZ1;FA
z^=T!O#EdxQ5r}@JT?^vCCRuUf*L%id;1-&F>-j<jv`~jmeK744ntYQ6^Ej()QFWuU
zr92d~%=>?9TGfN_v0r4U0+L!hfR`g++bFv3f!y+Kry>~p#B=7yLr<v(OZ3va@<={a
zy%1qf|LWer2#N6KKOrahw1Ov7^oe%;!17=+e9Mt7&8W!8!n7fI1swJ=U^72EWUB89
z;Q9)&hH%GWQnEL4QDVDyYOWtHl;5MQS{3tMIoJz&3Ae(Fq*9#FsQE{S8?GgdaO5E{
z53dFrJKs0*f%bapJUysGPo0D%(p$@eSl`=QW>jovURBUV2v(ISvU3aco3Rc-l;dLO
z27zJdOl?J3$nu98WMfDJqMH#oBdP({RGdWD80#{YK?DE@QGr=Nz(67Z0mKR6fB^uK
S=F!rz#Ao{g000001X)^d=4$Q$

literal 0
HcmV?d00001

diff --git a/errors/mmt-omdoc/Scrolls/TriangleScrolls.mmt.err b/errors/mmt-omdoc/Scrolls/TriangleScrolls.mmt.err
index a003a31..e69de29 100644
--- a/errors/mmt-omdoc/Scrolls/TriangleScrolls.mmt.err
+++ b/errors/mmt-omdoc/Scrolls/TriangleScrolls.mmt.err
@@ -1,2 +0,0 @@
-<errors>
-</errors>
diff --git a/narration/Scrolls/TriangleScrolls.omdoc b/narration/Scrolls/TriangleScrolls.omdoc
index 9f6f7d5..92f8e4a 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: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
+<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:4946.141.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
       /|
      / |
@@ -7,6 +7,6 @@
    /___|
   A    C
 
-  (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
+  (nicer image: https://en.wikipedia.org/wiki/Right_triangle#/media/File:Rtriangle.svg)</opaque><mref name="[http://mathhub.info/FrameIT/frameworld?TriangleProblem]" target="http://mathhub.info/FrameIT/frameworld?TriangleProblem"><metadata><link rel="http://cds.omdoc.org/mmt?metadata?sourceRef" resource="http://mathhub.info/FrameIT/frameworld/Scrolls/TriangleScrolls.mmt#324.15.0:345.15.21"/></metadata></mref><opaque format="text"><metadata><link rel="http://cds.omdoc.org/mmt?metadata?sourceRef" resource="http://mathhub.info/FrameIT/frameworld/Scrolls/TriangleScrolls.mmt#497.21.0:653.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#2240.68.0:2257.68.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?TriangleProblem_RightAngleAtC]" target="http://mathhub.info/FrameIT/frameworld?TriangleProblem_RightAngleAtC"><metadata><link rel="http://cds.omdoc.org/mmt?metadata?sourceRef" resource="http://mathhub.info/FrameIT/frameworld/Scrolls/TriangleScrolls.mmt#655.24.0:690.24.35"/></metadata></mref><mref name="[http://mathhub.info/FrameIT/frameworld?TriangleProblem_AngleAtA]" target="http://mathhub.info/FrameIT/frameworld?TriangleProblem_AngleAtA"><metadata><link rel="http://cds.omdoc.org/mmt?metadata?sourceRef" resource="http://mathhub.info/FrameIT/frameworld/Scrolls/TriangleScrolls.mmt#988.33.0:1018.33.30"/></metadata></mref><mref name="[http://mathhub.info/FrameIT/frameworld?TriangleProblem_AngleAtB]" target="http://mathhub.info/FrameIT/frameworld?TriangleProblem_AngleAtB"><metadata><link rel="http://cds.omdoc.org/mmt?metadata?sourceRef" resource="http://mathhub.info/FrameIT/frameworld/Scrolls/TriangleScrolls.mmt#1277.42.0:1307.42.30"/></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#1521.51.0:1535.51.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#2574.77.0:2591.77.17"/></metadata></mref></omdoc>
\ No newline at end of file
diff --git a/relational/Scrolls/TriangleScrolls.rel b/relational/Scrolls/TriangleScrolls.rel
index fff48a8..05c2bf8 100644
--- a/relational/Scrolls/TriangleScrolls.rel
+++ b/relational/Scrolls/TriangleScrolls.rel
@@ -1,5 +1,7 @@
 document http://mathhub.info/FrameIT/frameworld/Scrolls/TriangleScrolls.omdoc
-Declares http://mathhub.info/FrameIT/frameworld/Scrolls/TriangleScrolls.omdoc http://mathhub.info/FrameIT/frameworld?TriangleScroll_GeneralProblem
-Declares http://mathhub.info/FrameIT/frameworld/Scrolls/TriangleScrolls.omdoc http://mathhub.info/FrameIT/frameworld?TriangleScroll_RightAngledProblem
+Declares http://mathhub.info/FrameIT/frameworld/Scrolls/TriangleScrolls.omdoc http://mathhub.info/FrameIT/frameworld?TriangleProblem
+Declares http://mathhub.info/FrameIT/frameworld/Scrolls/TriangleScrolls.omdoc http://mathhub.info/FrameIT/frameworld?TriangleProblem_RightAngleAtC
+Declares http://mathhub.info/FrameIT/frameworld/Scrolls/TriangleScrolls.omdoc http://mathhub.info/FrameIT/frameworld?TriangleProblem_AngleAtA
+Declares http://mathhub.info/FrameIT/frameworld/Scrolls/TriangleScrolls.omdoc http://mathhub.info/FrameIT/frameworld?TriangleProblem_AngleAtB
 Declares http://mathhub.info/FrameIT/frameworld/Scrolls/TriangleScrolls.omdoc http://mathhub.info/FrameIT/frameworld?AngleSum
 Declares http://mathhub.info/FrameIT/frameworld/Scrolls/TriangleScrolls.omdoc http://mathhub.info/FrameIT/frameworld?OppositeLen
diff --git a/relational/http..mathhub.info/FrameIT/frameworld/$Angle$Sum.rel b/relational/http..mathhub.info/FrameIT/frameworld/$Angle$Sum.rel
index 531b143..8d4c439 100644
--- a/relational/http..mathhub.info/FrameIT/frameworld/$Angle$Sum.rel
+++ b/relational/http..mathhub.info/FrameIT/frameworld/$Angle$Sum.rel
@@ -3,61 +3,39 @@ HasMeta http://mathhub.info/FrameIT/frameworld?AngleSum http://mathhub.info/Fram
 Declares http://mathhub.info/FrameIT/frameworld?AngleSum http://mathhub.info/FrameIT/frameworld?AngleSum?Problem
 theory http://mathhub.info/FrameIT/frameworld?AngleSum/Problem
 HasMeta http://mathhub.info/FrameIT/frameworld?AngleSum/Problem http://mathhub.info/FrameIT/frameworld?FrameworldMeta
-Includes http://mathhub.info/FrameIT/frameworld?AngleSum/Problem http://mathhub.info/FrameIT/frameworld?TriangleScroll_GeneralProblem
-Declares http://mathhub.info/FrameIT/frameworld?AngleSum/Problem http://mathhub.info/FrameIT/frameworld?AngleSum/Problem?angleBAC
-constant http://mathhub.info/FrameIT/frameworld?AngleSum/Problem?angleBAC
-DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Problem?angleBAC?type http://mathhub.info/MitM/core/geometry?3DGeometry?point?type
-DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Problem?angleBAC?type http://mathhub.info/MitM/Foundation?Logic?ded?type
-DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Problem?angleBAC?type http://mathhub.info/MitM/Foundation?Logic?prop?type
-DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Problem?angleBAC?type http://mathhub.info/MitM/Foundation?Logic?prop?definition
-DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Problem?angleBAC?type http://mathhub.info/FrameIT/frameworld?TriangleScroll_GeneralProblem?A?type
-DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Problem?angleBAC?type http://mathhub.info/MitM/core/geometry?Geometry/Common?angle_between?type
-DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Problem?angleBAC?type http://mathhub.info/MitM/Foundation?RealLiterals?real_lit?type
-DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Problem?angleBAC?type http://mathhub.info/FrameIT/frameworld?TriangleScroll_GeneralProblem?C?type
-DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Problem?angleBAC?type http://mathhub.info/FrameIT/frameworld?TriangleScroll_GeneralProblem?B?type
-DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Problem?angleBAC?type http://mathhub.info/MitM/Foundation?Logic?eq?type
-Declares http://mathhub.info/FrameIT/frameworld?AngleSum/Problem http://mathhub.info/FrameIT/frameworld?AngleSum/Problem?angleABC
-constant http://mathhub.info/FrameIT/frameworld?AngleSum/Problem?angleABC
-DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Problem?angleABC?type http://mathhub.info/MitM/core/geometry?3DGeometry?point?type
-DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Problem?angleABC?type http://mathhub.info/MitM/Foundation?Logic?ded?type
-DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Problem?angleABC?type http://mathhub.info/MitM/Foundation?Logic?prop?type
-DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Problem?angleABC?type http://mathhub.info/MitM/Foundation?Logic?prop?definition
-DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Problem?angleABC?type http://mathhub.info/FrameIT/frameworld?TriangleScroll_GeneralProblem?A?type
-DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Problem?angleABC?type http://mathhub.info/MitM/core/geometry?Geometry/Common?angle_between?type
-DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Problem?angleABC?type http://mathhub.info/MitM/Foundation?RealLiterals?real_lit?type
-DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Problem?angleABC?type http://mathhub.info/FrameIT/frameworld?TriangleScroll_GeneralProblem?C?type
-DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Problem?angleABC?type http://mathhub.info/FrameIT/frameworld?TriangleScroll_GeneralProblem?B?type
-DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Problem?angleABC?type http://mathhub.info/MitM/Foundation?Logic?eq?type
+Includes http://mathhub.info/FrameIT/frameworld?AngleSum/Problem http://mathhub.info/FrameIT/frameworld?TriangleProblem
+Includes http://mathhub.info/FrameIT/frameworld?AngleSum/Problem http://mathhub.info/FrameIT/frameworld?TriangleProblem_AngleAtA
+Includes http://mathhub.info/FrameIT/frameworld?AngleSum/Problem http://mathhub.info/FrameIT/frameworld?TriangleProblem_AngleAtB
 Declares http://mathhub.info/FrameIT/frameworld?AngleSum http://mathhub.info/FrameIT/frameworld?AngleSum?Solution
 theory http://mathhub.info/FrameIT/frameworld?AngleSum/Solution
 HasMeta http://mathhub.info/FrameIT/frameworld?AngleSum/Solution http://mathhub.info/FrameIT/frameworld?FrameworldMeta
 Includes http://mathhub.info/FrameIT/frameworld?AngleSum/Solution http://mathhub.info/FrameIT/frameworld?AngleSum/Problem
-Declares http://mathhub.info/FrameIT/frameworld?AngleSum/Solution http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleBCA
-constant http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleBCA
-DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleBCA?type http://mathhub.info/MitM/core/geometry?3DGeometry?point?type
-DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleBCA?type http://mathhub.info/MitM/Foundation?Logic?ded?type
-DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleBCA?type http://mathhub.info/MitM/Foundation?Logic?prop?type
-DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleBCA?type http://mathhub.info/MitM/Foundation?Logic?prop?definition
-DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleBCA?type http://mathhub.info/FrameIT/frameworld?TriangleScroll_GeneralProblem?A?type
-DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleBCA?type http://mathhub.info/MitM/core/geometry?Geometry/Common?angle_between?type
-DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleBCA?type http://mathhub.info/MitM/Foundation?RealLiterals?real_lit?type
-DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleBCA?type http://mathhub.info/FrameIT/frameworld?TriangleScroll_GeneralProblem?C?type
-DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleBCA?type http://mathhub.info/FrameIT/frameworld?TriangleScroll_GeneralProblem?B?type
-DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleBCA?type http://mathhub.info/MitM/Foundation?Logic?eq?type
-DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleBCA?definition http://mathhub.info/MitM/Foundation?Logic?prop?type
-DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleBCA?definition http://mathhub.info/MitM/Foundation?Logic?ded?definition
-DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleBCA?definition http://mathhub.info/MitM/Foundation?InformalProofs?proofsketch?type
-DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleBCA?definition http://cds.omdoc.org/urtheories?Ded?DED?type
-DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleBCA?definition http://mathhub.info/MitM/core/geometry?Geometry/Common?angle_between?type
-DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleBCA?definition http://mathhub.info/FrameIT/frameworld?AngleSum/Problem?angleABC?type
-DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleBCA?definition http://mathhub.info/FrameIT/frameworld?TriangleScroll_GeneralProblem?B?type
-DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleBCA?definition http://mathhub.info/MitM/Foundation?Logic?eq?type
-DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleBCA?definition http://cds.omdoc.org/urtheories?Bool?BOOL?type
-DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleBCA?definition http://mathhub.info/MitM/core/geometry?3DGeometry?point?type
-DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleBCA?definition http://mathhub.info/MitM/Foundation?Logic?ded?type
-DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleBCA?definition http://mathhub.info/FrameIT/frameworld?TriangleScroll_GeneralProblem?A?type
-DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleBCA?definition http://mathhub.info/FrameIT/frameworld?AngleSum/Problem?angleBAC?type
-DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleBCA?definition http://mathhub.info/MitM/core/arithmetics?RealArithmetics?subtraction?type
-DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleBCA?definition http://mathhub.info/MitM/Foundation?RealLiterals?real_lit?type
-DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleBCA?definition http://mathhub.info/FrameIT/frameworld?TriangleScroll_GeneralProblem?C?type
-DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleBCA?definition http://cds.omdoc.org/urtheories?Strings?string?type
+Declares http://mathhub.info/FrameIT/frameworld?AngleSum/Solution http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleC
+constant http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleC
+DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleC?type http://mathhub.info/MitM/core/geometry?3DGeometry?point?type
+DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleC?type http://mathhub.info/MitM/Foundation?Logic?ded?type
+DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleC?type http://mathhub.info/MitM/Foundation?Logic?prop?type
+DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleC?type http://mathhub.info/MitM/Foundation?Logic?prop?definition
+DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleC?type http://mathhub.info/FrameIT/frameworld?TriangleProblem?A?type
+DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleC?type http://mathhub.info/FrameIT/frameworld?TriangleProblem?C?type
+DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleC?type http://mathhub.info/MitM/core/geometry?Geometry/Common?angle_between?type
+DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleC?type http://mathhub.info/MitM/Foundation?RealLiterals?real_lit?type
+DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleC?type http://mathhub.info/MitM/Foundation?Logic?eq?type
+DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleC?type http://mathhub.info/FrameIT/frameworld?TriangleProblem?B?type
+DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleC?definition http://mathhub.info/MitM/Foundation?Logic?prop?type
+DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleC?definition http://mathhub.info/FrameIT/frameworld?TriangleProblem?A?type
+DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleC?definition http://mathhub.info/MitM/Foundation?Logic?ded?definition
+DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleC?definition http://mathhub.info/FrameIT/frameworld?TriangleProblem?C?type
+DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleC?definition http://mathhub.info/MitM/Foundation?InformalProofs?proofsketch?type
+DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleC?definition http://cds.omdoc.org/urtheories?Ded?DED?type
+DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleC?definition http://mathhub.info/MitM/core/geometry?Geometry/Common?angle_between?type
+DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleC?definition http://mathhub.info/MitM/Foundation?Logic?eq?type
+DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleC?definition http://cds.omdoc.org/urtheories?Bool?BOOL?type
+DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleC?definition http://mathhub.info/MitM/core/geometry?3DGeometry?point?type
+DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleC?definition http://mathhub.info/MitM/Foundation?Logic?ded?type
+DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleC?definition http://mathhub.info/FrameIT/frameworld?TriangleProblem_AngleAtB?angleB?type
+DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleC?definition http://mathhub.info/MitM/core/arithmetics?RealArithmetics?subtraction?type
+DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleC?definition http://mathhub.info/MitM/Foundation?RealLiterals?real_lit?type
+DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleC?definition http://mathhub.info/FrameIT/frameworld?TriangleProblem_AngleAtA?angleA?type
+DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleC?definition http://cds.omdoc.org/urtheories?Strings?string?type
+DependsOn http://mathhub.info/FrameIT/frameworld?AngleSum/Solution?angleC?definition http://mathhub.info/FrameIT/frameworld?TriangleProblem?B?type
diff --git a/relational/http..mathhub.info/FrameIT/frameworld/$Opposite$Len.rel b/relational/http..mathhub.info/FrameIT/frameworld/$Opposite$Len.rel
index a678981..9b16228 100644
--- a/relational/http..mathhub.info/FrameIT/frameworld/$Opposite$Len.rel
+++ b/relational/http..mathhub.info/FrameIT/frameworld/$Opposite$Len.rel
@@ -3,7 +3,7 @@ HasMeta http://mathhub.info/FrameIT/frameworld?OppositeLen http://mathhub.info/F
 Declares http://mathhub.info/FrameIT/frameworld?OppositeLen http://mathhub.info/FrameIT/frameworld?OppositeLen?Problem
 theory http://mathhub.info/FrameIT/frameworld?OppositeLen/Problem
 HasMeta http://mathhub.info/FrameIT/frameworld?OppositeLen/Problem http://mathhub.info/FrameIT/frameworld?FrameworldMeta
-Includes http://mathhub.info/FrameIT/frameworld?OppositeLen/Problem http://mathhub.info/FrameIT/frameworld?TriangleScroll_RightAngledProblem
+Includes http://mathhub.info/FrameIT/frameworld?OppositeLen/Problem http://mathhub.info/FrameIT/frameworld?TriangleProblem_RightAngleAtC
 Declares http://mathhub.info/FrameIT/frameworld?OppositeLen/Problem http://mathhub.info/FrameIT/frameworld?OppositeLen/Problem?distanceBC
 constant http://mathhub.info/FrameIT/frameworld?OppositeLen/Problem?distanceBC
 DependsOn http://mathhub.info/FrameIT/frameworld?OppositeLen/Problem?distanceBC?type http://mathhub.info/MitM/core/geometry?Geometry/Common?metric?type
@@ -11,22 +11,11 @@ DependsOn http://mathhub.info/FrameIT/frameworld?OppositeLen/Problem?distanceBC?
 DependsOn http://mathhub.info/FrameIT/frameworld?OppositeLen/Problem?distanceBC?type http://mathhub.info/MitM/Foundation?Logic?ded?type
 DependsOn http://mathhub.info/FrameIT/frameworld?OppositeLen/Problem?distanceBC?type http://mathhub.info/MitM/Foundation?Logic?prop?type
 DependsOn http://mathhub.info/FrameIT/frameworld?OppositeLen/Problem?distanceBC?type http://mathhub.info/MitM/Foundation?Logic?prop?definition
+DependsOn http://mathhub.info/FrameIT/frameworld?OppositeLen/Problem?distanceBC?type http://mathhub.info/FrameIT/frameworld?TriangleProblem?C?type
 DependsOn http://mathhub.info/FrameIT/frameworld?OppositeLen/Problem?distanceBC?type http://mathhub.info/MitM/Foundation?RealLiterals?real_lit?type
-DependsOn http://mathhub.info/FrameIT/frameworld?OppositeLen/Problem?distanceBC?type http://mathhub.info/FrameIT/frameworld?TriangleScroll_GeneralProblem?C?type
-DependsOn http://mathhub.info/FrameIT/frameworld?OppositeLen/Problem?distanceBC?type http://mathhub.info/FrameIT/frameworld?TriangleScroll_GeneralProblem?B?type
 DependsOn http://mathhub.info/FrameIT/frameworld?OppositeLen/Problem?distanceBC?type http://mathhub.info/MitM/Foundation?Logic?eq?type
-Declares http://mathhub.info/FrameIT/frameworld?OppositeLen/Problem http://mathhub.info/FrameIT/frameworld?OppositeLen/Problem?angleABC
-constant http://mathhub.info/FrameIT/frameworld?OppositeLen/Problem?angleABC
-DependsOn http://mathhub.info/FrameIT/frameworld?OppositeLen/Problem?angleABC?type http://mathhub.info/MitM/core/geometry?3DGeometry?point?type
-DependsOn http://mathhub.info/FrameIT/frameworld?OppositeLen/Problem?angleABC?type http://mathhub.info/MitM/Foundation?Logic?ded?type
-DependsOn http://mathhub.info/FrameIT/frameworld?OppositeLen/Problem?angleABC?type http://mathhub.info/MitM/Foundation?Logic?prop?type
-DependsOn http://mathhub.info/FrameIT/frameworld?OppositeLen/Problem?angleABC?type http://mathhub.info/MitM/Foundation?Logic?prop?definition
-DependsOn http://mathhub.info/FrameIT/frameworld?OppositeLen/Problem?angleABC?type http://mathhub.info/FrameIT/frameworld?TriangleScroll_GeneralProblem?A?type
-DependsOn http://mathhub.info/FrameIT/frameworld?OppositeLen/Problem?angleABC?type http://mathhub.info/MitM/core/geometry?Geometry/Common?angle_between?type
-DependsOn http://mathhub.info/FrameIT/frameworld?OppositeLen/Problem?angleABC?type http://mathhub.info/MitM/Foundation?RealLiterals?real_lit?type
-DependsOn http://mathhub.info/FrameIT/frameworld?OppositeLen/Problem?angleABC?type http://mathhub.info/FrameIT/frameworld?TriangleScroll_GeneralProblem?C?type
-DependsOn http://mathhub.info/FrameIT/frameworld?OppositeLen/Problem?angleABC?type http://mathhub.info/FrameIT/frameworld?TriangleScroll_GeneralProblem?B?type
-DependsOn http://mathhub.info/FrameIT/frameworld?OppositeLen/Problem?angleABC?type http://mathhub.info/MitM/Foundation?Logic?eq?type
+DependsOn http://mathhub.info/FrameIT/frameworld?OppositeLen/Problem?distanceBC?type http://mathhub.info/FrameIT/frameworld?TriangleProblem?B?type
+Includes http://mathhub.info/FrameIT/frameworld?OppositeLen/Problem http://mathhub.info/FrameIT/frameworld?TriangleProblem_AngleAtB
 Declares http://mathhub.info/FrameIT/frameworld?OppositeLen http://mathhub.info/FrameIT/frameworld?OppositeLen?Solution
 theory http://mathhub.info/FrameIT/frameworld?OppositeLen/Solution
 HasMeta http://mathhub.info/FrameIT/frameworld?OppositeLen/Solution http://mathhub.info/FrameIT/frameworld?FrameworldMeta
@@ -38,15 +27,16 @@ DependsOn http://mathhub.info/FrameIT/frameworld?OppositeLen/Solution?deducedLin
 DependsOn http://mathhub.info/FrameIT/frameworld?OppositeLen/Solution?deducedLineCA?type http://mathhub.info/MitM/Foundation?Logic?ded?type
 DependsOn http://mathhub.info/FrameIT/frameworld?OppositeLen/Solution?deducedLineCA?type http://mathhub.info/MitM/Foundation?Logic?prop?type
 DependsOn http://mathhub.info/FrameIT/frameworld?OppositeLen/Solution?deducedLineCA?type http://mathhub.info/MitM/Foundation?Logic?prop?definition
-DependsOn http://mathhub.info/FrameIT/frameworld?OppositeLen/Solution?deducedLineCA?type http://mathhub.info/FrameIT/frameworld?TriangleScroll_GeneralProblem?A?type
+DependsOn http://mathhub.info/FrameIT/frameworld?OppositeLen/Solution?deducedLineCA?type http://mathhub.info/FrameIT/frameworld?TriangleProblem?A?type
+DependsOn http://mathhub.info/FrameIT/frameworld?OppositeLen/Solution?deducedLineCA?type http://mathhub.info/FrameIT/frameworld?TriangleProblem?C?type
 DependsOn http://mathhub.info/FrameIT/frameworld?OppositeLen/Solution?deducedLineCA?type http://mathhub.info/MitM/Foundation?RealLiterals?real_lit?type
-DependsOn http://mathhub.info/FrameIT/frameworld?OppositeLen/Solution?deducedLineCA?type http://mathhub.info/FrameIT/frameworld?TriangleScroll_GeneralProblem?C?type
 DependsOn http://mathhub.info/FrameIT/frameworld?OppositeLen/Solution?deducedLineCA?type http://mathhub.info/MitM/Foundation?Logic?eq?type
 DependsOn http://mathhub.info/FrameIT/frameworld?OppositeLen/Solution?deducedLineCA?definition http://mathhub.info/FrameIT/frameworld?OppositeLen/Problem?distanceBC?type
 DependsOn http://mathhub.info/FrameIT/frameworld?OppositeLen/Solution?deducedLineCA?definition http://mathhub.info/MitM/Foundation?Trigonometry?tan?type
 DependsOn http://mathhub.info/FrameIT/frameworld?OppositeLen/Solution?deducedLineCA?definition http://mathhub.info/MitM/Foundation?Logic?prop?type
+DependsOn http://mathhub.info/FrameIT/frameworld?OppositeLen/Solution?deducedLineCA?definition http://mathhub.info/FrameIT/frameworld?TriangleProblem?A?type
 DependsOn http://mathhub.info/FrameIT/frameworld?OppositeLen/Solution?deducedLineCA?definition http://mathhub.info/MitM/Foundation?Logic?ded?definition
-DependsOn http://mathhub.info/FrameIT/frameworld?OppositeLen/Solution?deducedLineCA?definition http://mathhub.info/FrameIT/frameworld?OppositeLen/Problem?angleABC?type
+DependsOn http://mathhub.info/FrameIT/frameworld?OppositeLen/Solution?deducedLineCA?definition http://mathhub.info/FrameIT/frameworld?TriangleProblem?C?type
 DependsOn http://mathhub.info/FrameIT/frameworld?OppositeLen/Solution?deducedLineCA?definition http://mathhub.info/MitM/Foundation?InformalProofs?proofsketch?type
 DependsOn http://mathhub.info/FrameIT/frameworld?OppositeLen/Solution?deducedLineCA?definition http://cds.omdoc.org/urtheories?Ded?DED?type
 DependsOn http://mathhub.info/FrameIT/frameworld?OppositeLen/Solution?deducedLineCA?definition http://mathhub.info/MitM/Foundation?Logic?eq?type
@@ -55,7 +45,6 @@ DependsOn http://mathhub.info/FrameIT/frameworld?OppositeLen/Solution?deducedLin
 DependsOn http://mathhub.info/FrameIT/frameworld?OppositeLen/Solution?deducedLineCA?definition http://mathhub.info/MitM/core/geometry?3DGeometry?point?type
 DependsOn http://mathhub.info/FrameIT/frameworld?OppositeLen/Solution?deducedLineCA?definition http://mathhub.info/MitM/Foundation?Logic?ded?type
 DependsOn http://mathhub.info/FrameIT/frameworld?OppositeLen/Solution?deducedLineCA?definition http://mathhub.info/MitM/core/arithmetics?RealArithmetics?multiplication?type
-DependsOn http://mathhub.info/FrameIT/frameworld?OppositeLen/Solution?deducedLineCA?definition http://mathhub.info/FrameIT/frameworld?TriangleScroll_GeneralProblem?A?type
+DependsOn http://mathhub.info/FrameIT/frameworld?OppositeLen/Solution?deducedLineCA?definition http://mathhub.info/FrameIT/frameworld?TriangleProblem_AngleAtB?angleB?type
 DependsOn http://mathhub.info/FrameIT/frameworld?OppositeLen/Solution?deducedLineCA?definition http://mathhub.info/MitM/Foundation?RealLiterals?real_lit?type
-DependsOn http://mathhub.info/FrameIT/frameworld?OppositeLen/Solution?deducedLineCA?definition http://mathhub.info/FrameIT/frameworld?TriangleScroll_GeneralProblem?C?type
 DependsOn http://mathhub.info/FrameIT/frameworld?OppositeLen/Solution?deducedLineCA?definition http://cds.omdoc.org/urtheories?Strings?string?type
diff --git a/relational/http..mathhub.info/FrameIT/frameworld/$Triangle$Problem.rel b/relational/http..mathhub.info/FrameIT/frameworld/$Triangle$Problem.rel
new file mode 100644
index 0000000..e83f644
--- /dev/null
+++ b/relational/http..mathhub.info/FrameIT/frameworld/$Triangle$Problem.rel
@@ -0,0 +1,17 @@
+dataconstructor http://mathhub.info/FrameIT/frameworld?TriangleProblem?A
+dataconstructor http://mathhub.info/FrameIT/frameworld?TriangleProblem?B
+dataconstructor http://mathhub.info/FrameIT/frameworld?TriangleProblem?C
+theory http://mathhub.info/FrameIT/frameworld?TriangleProblem
+HasMeta http://mathhub.info/FrameIT/frameworld?TriangleProblem http://mathhub.info/FrameIT/frameworld?FrameworldMeta
+Declares http://mathhub.info/FrameIT/frameworld?TriangleProblem http://mathhub.info/FrameIT/frameworld?TriangleProblem?A
+constant http://mathhub.info/FrameIT/frameworld?TriangleProblem?A
+DependsOn http://mathhub.info/FrameIT/frameworld?TriangleProblem?A?type http://mathhub.info/MitM/core/geometry?3DGeometry?point?type
+DependsOn http://mathhub.info/FrameIT/frameworld?TriangleProblem?A?type http://mathhub.info/MitM/core/geometry?3DGeometry?point?definition
+Declares http://mathhub.info/FrameIT/frameworld?TriangleProblem http://mathhub.info/FrameIT/frameworld?TriangleProblem?B
+constant http://mathhub.info/FrameIT/frameworld?TriangleProblem?B
+DependsOn http://mathhub.info/FrameIT/frameworld?TriangleProblem?B?type http://mathhub.info/MitM/core/geometry?3DGeometry?point?type
+DependsOn http://mathhub.info/FrameIT/frameworld?TriangleProblem?B?type http://mathhub.info/MitM/core/geometry?3DGeometry?point?definition
+Declares http://mathhub.info/FrameIT/frameworld?TriangleProblem http://mathhub.info/FrameIT/frameworld?TriangleProblem?C
+constant http://mathhub.info/FrameIT/frameworld?TriangleProblem?C
+DependsOn http://mathhub.info/FrameIT/frameworld?TriangleProblem?C?type http://mathhub.info/MitM/core/geometry?3DGeometry?point?type
+DependsOn http://mathhub.info/FrameIT/frameworld?TriangleProblem?C?type http://mathhub.info/MitM/core/geometry?3DGeometry?point?definition
diff --git a/relational/http..mathhub.info/FrameIT/frameworld/$Triangle$Problem_$Angle$At$A.rel b/relational/http..mathhub.info/FrameIT/frameworld/$Triangle$Problem_$Angle$At$A.rel
new file mode 100644
index 0000000..f3e9582
--- /dev/null
+++ b/relational/http..mathhub.info/FrameIT/frameworld/$Triangle$Problem_$Angle$At$A.rel
@@ -0,0 +1,16 @@
+dataconstructor http://mathhub.info/FrameIT/frameworld?TriangleProblem_AngleAtA?angleA
+theory http://mathhub.info/FrameIT/frameworld?TriangleProblem_AngleAtA
+HasMeta http://mathhub.info/FrameIT/frameworld?TriangleProblem_AngleAtA http://mathhub.info/FrameIT/frameworld?FrameworldMeta
+Includes http://mathhub.info/FrameIT/frameworld?TriangleProblem_AngleAtA http://mathhub.info/FrameIT/frameworld?TriangleProblem
+Declares http://mathhub.info/FrameIT/frameworld?TriangleProblem_AngleAtA http://mathhub.info/FrameIT/frameworld?TriangleProblem_AngleAtA?angleA
+constant http://mathhub.info/FrameIT/frameworld?TriangleProblem_AngleAtA?angleA
+DependsOn http://mathhub.info/FrameIT/frameworld?TriangleProblem_AngleAtA?angleA?type http://mathhub.info/MitM/core/geometry?3DGeometry?point?type
+DependsOn http://mathhub.info/FrameIT/frameworld?TriangleProblem_AngleAtA?angleA?type http://mathhub.info/MitM/Foundation?Logic?ded?type
+DependsOn http://mathhub.info/FrameIT/frameworld?TriangleProblem_AngleAtA?angleA?type http://mathhub.info/MitM/Foundation?Logic?prop?type
+DependsOn http://mathhub.info/FrameIT/frameworld?TriangleProblem_AngleAtA?angleA?type http://mathhub.info/MitM/Foundation?Logic?prop?definition
+DependsOn http://mathhub.info/FrameIT/frameworld?TriangleProblem_AngleAtA?angleA?type http://mathhub.info/FrameIT/frameworld?TriangleProblem?A?type
+DependsOn http://mathhub.info/FrameIT/frameworld?TriangleProblem_AngleAtA?angleA?type http://mathhub.info/FrameIT/frameworld?TriangleProblem?C?type
+DependsOn http://mathhub.info/FrameIT/frameworld?TriangleProblem_AngleAtA?angleA?type http://mathhub.info/MitM/core/geometry?Geometry/Common?angle_between?type
+DependsOn http://mathhub.info/FrameIT/frameworld?TriangleProblem_AngleAtA?angleA?type http://mathhub.info/MitM/Foundation?RealLiterals?real_lit?type
+DependsOn http://mathhub.info/FrameIT/frameworld?TriangleProblem_AngleAtA?angleA?type http://mathhub.info/MitM/Foundation?Logic?eq?type
+DependsOn http://mathhub.info/FrameIT/frameworld?TriangleProblem_AngleAtA?angleA?type http://mathhub.info/FrameIT/frameworld?TriangleProblem?B?type
diff --git a/relational/http..mathhub.info/FrameIT/frameworld/$Triangle$Problem_$Angle$At$B.rel b/relational/http..mathhub.info/FrameIT/frameworld/$Triangle$Problem_$Angle$At$B.rel
new file mode 100644
index 0000000..ecaa418
--- /dev/null
+++ b/relational/http..mathhub.info/FrameIT/frameworld/$Triangle$Problem_$Angle$At$B.rel
@@ -0,0 +1,16 @@
+dataconstructor http://mathhub.info/FrameIT/frameworld?TriangleProblem_AngleAtB?angleB
+theory http://mathhub.info/FrameIT/frameworld?TriangleProblem_AngleAtB
+HasMeta http://mathhub.info/FrameIT/frameworld?TriangleProblem_AngleAtB http://mathhub.info/FrameIT/frameworld?FrameworldMeta
+Includes http://mathhub.info/FrameIT/frameworld?TriangleProblem_AngleAtB http://mathhub.info/FrameIT/frameworld?TriangleProblem
+Declares http://mathhub.info/FrameIT/frameworld?TriangleProblem_AngleAtB http://mathhub.info/FrameIT/frameworld?TriangleProblem_AngleAtB?angleB
+constant http://mathhub.info/FrameIT/frameworld?TriangleProblem_AngleAtB?angleB
+DependsOn http://mathhub.info/FrameIT/frameworld?TriangleProblem_AngleAtB?angleB?type http://mathhub.info/MitM/core/geometry?3DGeometry?point?type
+DependsOn http://mathhub.info/FrameIT/frameworld?TriangleProblem_AngleAtB?angleB?type http://mathhub.info/MitM/Foundation?Logic?ded?type
+DependsOn http://mathhub.info/FrameIT/frameworld?TriangleProblem_AngleAtB?angleB?type http://mathhub.info/MitM/Foundation?Logic?prop?type
+DependsOn http://mathhub.info/FrameIT/frameworld?TriangleProblem_AngleAtB?angleB?type http://mathhub.info/MitM/Foundation?Logic?prop?definition
+DependsOn http://mathhub.info/FrameIT/frameworld?TriangleProblem_AngleAtB?angleB?type http://mathhub.info/FrameIT/frameworld?TriangleProblem?A?type
+DependsOn http://mathhub.info/FrameIT/frameworld?TriangleProblem_AngleAtB?angleB?type http://mathhub.info/FrameIT/frameworld?TriangleProblem?C?type
+DependsOn http://mathhub.info/FrameIT/frameworld?TriangleProblem_AngleAtB?angleB?type http://mathhub.info/MitM/core/geometry?Geometry/Common?angle_between?type
+DependsOn http://mathhub.info/FrameIT/frameworld?TriangleProblem_AngleAtB?angleB?type http://mathhub.info/MitM/Foundation?RealLiterals?real_lit?type
+DependsOn http://mathhub.info/FrameIT/frameworld?TriangleProblem_AngleAtB?angleB?type http://mathhub.info/MitM/Foundation?Logic?eq?type
+DependsOn http://mathhub.info/FrameIT/frameworld?TriangleProblem_AngleAtB?angleB?type http://mathhub.info/FrameIT/frameworld?TriangleProblem?B?type
diff --git a/relational/http..mathhub.info/FrameIT/frameworld/$Triangle$Problem_$Right$Angle$At$C.rel b/relational/http..mathhub.info/FrameIT/frameworld/$Triangle$Problem_$Right$Angle$At$C.rel
new file mode 100644
index 0000000..637218b
--- /dev/null
+++ b/relational/http..mathhub.info/FrameIT/frameworld/$Triangle$Problem_$Right$Angle$At$C.rel
@@ -0,0 +1,17 @@
+dataconstructor http://mathhub.info/FrameIT/frameworld?TriangleProblem_RightAngleAtC?rightAngleC
+theory http://mathhub.info/FrameIT/frameworld?TriangleProblem_RightAngleAtC
+HasMeta http://mathhub.info/FrameIT/frameworld?TriangleProblem_RightAngleAtC http://mathhub.info/FrameIT/frameworld?FrameworldMeta
+Includes http://mathhub.info/FrameIT/frameworld?TriangleProblem_RightAngleAtC http://mathhub.info/FrameIT/frameworld?TriangleProblem
+Declares http://mathhub.info/FrameIT/frameworld?TriangleProblem_RightAngleAtC http://mathhub.info/FrameIT/frameworld?TriangleProblem_RightAngleAtC?rightAngleC
+constant http://mathhub.info/FrameIT/frameworld?TriangleProblem_RightAngleAtC?rightAngleC
+DependsOn http://mathhub.info/FrameIT/frameworld?TriangleProblem_RightAngleAtC?rightAngleC?type http://mathhub.info/MitM/core/geometry?3DGeometry?point?type
+DependsOn http://mathhub.info/FrameIT/frameworld?TriangleProblem_RightAngleAtC?rightAngleC?type http://mathhub.info/MitM/Foundation?Logic?ded?type
+DependsOn http://mathhub.info/FrameIT/frameworld?TriangleProblem_RightAngleAtC?rightAngleC?type http://mathhub.info/MitM/Foundation?Logic?prop?type
+DependsOn http://mathhub.info/FrameIT/frameworld?TriangleProblem_RightAngleAtC?rightAngleC?type http://mathhub.info/MitM/Foundation?Logic?prop?definition
+DependsOn http://mathhub.info/FrameIT/frameworld?TriangleProblem_RightAngleAtC?rightAngleC?type http://mathhub.info/FrameIT/frameworld?TriangleProblem?A?type
+DependsOn http://mathhub.info/FrameIT/frameworld?TriangleProblem_RightAngleAtC?rightAngleC?type http://mathhub.info/MitM/Foundation?Logic?ded?definition
+DependsOn http://mathhub.info/FrameIT/frameworld?TriangleProblem_RightAngleAtC?rightAngleC?type http://mathhub.info/FrameIT/frameworld?TriangleProblem?C?type
+DependsOn http://mathhub.info/FrameIT/frameworld?TriangleProblem_RightAngleAtC?rightAngleC?type http://mathhub.info/MitM/core/geometry?Geometry/Common?angle_between?type
+DependsOn http://mathhub.info/FrameIT/frameworld?TriangleProblem_RightAngleAtC?rightAngleC?type http://mathhub.info/MitM/Foundation?RealLiterals?real_lit?type
+DependsOn http://mathhub.info/FrameIT/frameworld?TriangleProblem_RightAngleAtC?rightAngleC?type http://mathhub.info/MitM/Foundation?Logic?eq?type
+DependsOn http://mathhub.info/FrameIT/frameworld?TriangleProblem_RightAngleAtC?rightAngleC?type http://mathhub.info/FrameIT/frameworld?TriangleProblem?B?type
diff --git a/source/Scrolls/TriangleScrolls.mmt b/source/Scrolls/TriangleScrolls.mmt
index 94a9ec0..7b48439 100644
--- a/source/Scrolls/TriangleScrolls.mmt
+++ b/source/Scrolls/TriangleScrolls.mmt
@@ -13,7 +13,7 @@ fixmeta ?FrameworldMeta ❚
 
   (nicer image: https://en.wikipedia.org/wiki/Right_triangle#/media/File:Rtriangle.svg)
 ❚
-theory TriangleScroll_GeneralProblem =
+theory TriangleProblem =
     A: point ❘ meta ?MetaAnnotations?label "A" ❙
     B: point ❘ meta ?MetaAnnotations?label "B"❙
     C: point ❘ meta ?MetaAnnotations?label "C"❙
@@ -22,47 +22,56 @@ theory TriangleScroll_GeneralProblem =
 /T 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° ❚
-theory TriangleScroll_RightAngledProblem =
-    include ?TriangleScroll_GeneralProblem ❙
-    rightAngleBCA
+theory TriangleProblem_RightAngleAtC =
+    include ?TriangleProblem ❙
+    rightAngleC
         : ⊦ ( ∠ B,C,A ) ≐ 90.0 ❘
-        meta ?MetaAnnotations?label s"∟${lverb C}" ❘
-        meta ?MetaAnnotations?description s"Right angle at ${lverb C}"
+        meta ?MetaAnnotations?label s"⊾${lverb C} (${lverb A C} ⟂ ${lverb B C})" ❘
+        meta ?MetaAnnotations?description s"Right angle at ${lverb C} as enclosed by legs ${lverb A C} and ${lverb B C}."
     ❙
 ❚
 
+theory TriangleProblem_AngleAtA =
+   include ?TriangleProblem ❙
+   angleA
+       : Σ α: ℝ. ⊦ ( ∠ B,A,C ) ≐ α ❘
+       meta ?MetaAnnotations?label s"∠${lverb B A C}" ❘
+       meta ?MetaAnnotations?description s"Angle at ${lverb A} as enclosed by legs ${lverb A B} and ${lverb A C}"
+   ❙
+❚
+
+theory TriangleProblem_AngleAtB =
+    include ?TriangleProblem ❙
+    angleB
+        : Σ β: ℝ. ⊦ ( ∠ A,B,C ) ≐ β ❘
+        meta ?MetaAnnotations?label s"∠${lverb A B C}" ❘
+        meta ?MetaAnnotations?description s"Angle at ${lverb B}"
+   ❙
+❚
+
 theory AngleSum =
     meta ?MetaAnnotations?problemTheory ?AngleSum/Problem ❙
     meta ?MetaAnnotations?solutionTheory ?AngleSum/Solution ❙
 
     theory Problem =
-        include ?TriangleScroll_GeneralProblem ❙
-
-        angleBAC
-            : Σ α: ℝ. ⊦ ( ∠ B,A,C ) ≐ α ❘
-            meta ?MetaAnnotations?label s"∠${lverb B A C}" ❘
-            meta ?MetaAnnotations?description s"Angle at ${lverb A}"
-        ❙
-
-        angleABC
-            : Σ β: ℝ. ⊦ ( ∠ A,B,C ) ≐ β ❘
-            meta ?MetaAnnotations?label s"∠${lverb A B C}" ❘
-            meta ?MetaAnnotations?description s"Angle at ${lverb B}"
-        ❙
+        include ?TriangleProblem ❙
+        include ?TriangleProblem_AngleAtA ❙
+        include ?TriangleProblem_AngleAtB ❙
     ❚
 
     theory Solution =
         include ?AngleSum/Problem ❙
 
-        meta ?MetaAnnotations?label "AngleSum" ❙
-        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
+        angleC
             : Σ γ: ℝ. ⊦ ( ∠ B,C,A ) ≐ γ ❘
-            = ⟨180.0 - (πl angleBAC) - (πl angleABC), sketch "By sum of interior angles = 180° in triangles"⟩ ❘
+            = ⟨180.0 - (πl angleA) - (πl angleB), sketch "By sum of interior angles = 180° in triangles"⟩ ❘
             meta ?MetaAnnotations?label s"∠${lverb B C A}" ❘
-            meta ?MetaAnnotations?description s"The deduced angle by calculating 180° - ${lverb angleBAC} - ${lverb angleABC}"
+            meta ?MetaAnnotations?description s"The deduced angle by calculating 180° - ${lverb angleA} - ${lverb angleB}"
         ❙
+
+        // the description verbalizes angleC, hence must come after its declaration ❙
+        meta ?MetaAnnotations?label "AngleSum" ❙
+        meta ?MetaAnnotations?description s"Given a triangle △${lverb A B C} and two known angles, we can deduce the missing angle by: ${lverb angleC} = 180° - ${lverb angleA} - ${lverb angleB}." ❙
     ❚
 ❚
 
@@ -71,33 +80,30 @@ theory OppositeLen =
     meta ?MetaAnnotations?solutionTheory ?OppositeLen/Solution ❙
 
     theory Problem =
-        include ?TriangleScroll_RightAngledProblem ❙
+        include ?TriangleProblem_RightAngleAtC ❙
     
         distanceBC
             : Σ x:ℝ . ⊦ ( d- B C ) ≐ x ❘
             meta ?MetaAnnotations?label s"${lverb B C}" ❘
             meta ?MetaAnnotations?description s"Length of leg ${lverb B C}"
         ❙
-    
-        angleABC
-            : Σ a:ℝ . ⊦ ( ∠ A,B,C ) ≐ a ❘
-            meta ?MetaAnnotations?label s"∠${lverb A B C}" ❘
-            meta ?MetaAnnotations?description s"Angle at ${lverb B}"
-        ❙
+
+        include ?TriangleProblem_AngleAtB ❙
     ❚
     
     theory Solution =
         include ?OppositeLen/Problem ❙
-
-        meta ?MetaAnnotations?label "OppositeLen" ❙
-        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
             : Σ x:ℝ . ⊦ (d- C A) ≐ x ❘
-            = ⟨(tan (πl angleABC)) ⋅ (πl distanceBC), sketch "OppositeLen Scroll"⟩ ❘
+            = ⟨(tan (πl angleB)) ⋅ (πl distanceBC), sketch "OppositeLen Scroll"⟩ ❘
             meta ?MetaAnnotations?label s"${lverb C A}" ❘
             meta ?MetaAnnotations?description s"The deduced length of the line ${lverb C A}"
         ❙
+
+        // the description verbalizes deducedLineCA, hence must come after its declaration ❙
+        meta ?MetaAnnotations?label "OppositeLen" ❙
+        meta ?MetaAnnotations?description s"Given a triangle △${lverb A B C} right-angled at ⊾${lverb C}, the distance ${lverb deducedLineCA} can be computed from the angle at ${lverb angleB} and the distance ${lverb B C}." ❙
     ❚
 ❚
 
-- 
GitLab