Symbolic Representation
Symbolic Representation
In[]:=
euclidprops=;
In[]:=
EntityValue[Take[euclidprops,5],"Scene"]
Out[]=
{GeometricScene[{{A.,B.,C.},{}},{{Line[{A.,B.}]},{GeometricAssertion[{CircleThrough[{B.},A.],CircleThrough[{A.},B.]},{Concurrent,C.}]},{Line[{C.,A.}],Line[{C.,B.}]}},{GeometricAssertion[Triangle[{A.,B.,C.}],Equilateral]}],GeometricScene[{{A.,B.,C.,D.,E.,F.},{}},{{A.,Line[{B.,C.}]},{Line[{A.,B.}],GeometricAssertion[Style[Triangle[{A.,B.,D.}],Pink],Equilateral]},{GeometricAssertion[{CircleThrough[{C.},B.],Line[{D.,B.,E.}]},{Concurrent,E.}]},{GeometricAssertion[{CircleThrough[{E.},D.],Line[{D.,A.,F.}]},{Concurrent,F.}]}},{EuclideanDistance[A.,F.]EuclideanDistance[B.,C.]}],GeometricScene[{{A.,B.,C.,D.,E.,F.},{}},{{Line[{A.,B.}],Line[{C.,D.}],EuclideanDistance[A.,B.]>EuclideanDistance[C.,D.]},{Line[{A.,E.}],EuclideanDistance[A.,E.]EuclideanDistance[C.,D.]},{GeometricAssertion[{CircleThrough[{E.},A.],Line[{A.,B.}]},{Concurrent,F.}]}},{EuclideanDistance[A.,F.]EuclideanDistance[C.,D.]}],GeometricScene[{{A.,B.,C.,D.,E.,F.},{}},{Triangle[{A.,B.,C.}],Triangle[{D.,E.,F.}],EuclideanDistance[A.,B.]EuclideanDistance[D.,E.],EuclideanDistance[A.,C.]EuclideanDistance[D.,F.],PlanarAngle[{B.,A.,C.}]PlanarAngle[{E.,D.,F.}]},{GeometricAssertion[{Triangle[{A.,B.,C.}],Triangle[{D.,E.,F.}]},Congruent]}],GeometricScene[{{A.,B.,C.,F.,G.},{}},{Triangle[{A.,B.,C.}],EuclideanDistance[A.,B.]EuclideanDistance[A.,C.],Line[{A.,B.,F.}],Line[{A.,C.,G.}]},{PlanarAngle[{A.,B.,C.}]PlanarAngle[{A.,C.,B.}],PlanarAngle[{C.,B.,F.}]PlanarAngle[{B.,C.,G.}]}]}
In[]:=
euclidall=(##["Scene"]&/@euclidprops);
In[]:=
TakeLargestBy[euclidall,LeafCount[#[[2]]]&,5]
In[]:=
TakeSmallestBy[euclidall,LeafCount[#[[2]]]&,10]
Out[]=
GeometricScene[{{A.,B.,C.},{}},{Triangle[{A.,B.,C.}]},{EuclideanDistance[A.,C.]+EuclideanDistance[A.,B.]>EuclideanDistance[B.,C.]}],GeometricScene[{{A.,B.,C.,D.,O.,P.},{}},{CircleThrough[{A.,C.,B.},O.],CircleThrough[{A.,D.,B.},P.]},{GeometricAssertion[{O.,P.},Distinct]}],GeometricScene[{{A.,B.,C.,D.,E.},{}},{CircleThrough[{A.,B.,C.,D.}],CircleThrough[{B.,C.,D.,E.}]},{CircleThrough[{A.,B.,C.,D.,E.}]}],GeometricScene[{{A.,B.,C.},{}},{Triangle[{A.,B.,C.}],PlanarAngle[{A.,B.,C.}]>PlanarAngle[{A.,C.,B.}]},{EuclideanDistance[A.,C.]>EuclideanDistance[A.,B.]}],GeometricScene[{{A.,B.,C.},{}},{Triangle[{A.,B.,C.}],PlanarAngle[{A.,B.,C.}]PlanarAngle[{A.,C.,B.}]},{EuclideanDistance[A.,B.]EuclideanDistance[A.,C.]}],GeometricScene[{{A.,B.,C.},{}},{Triangle[{A.,B.,C.}],EuclideanDistance[A.,C.]>EuclideanDistance[A.,B.]},{PlanarAngle[{A.,B.,C.}]>PlanarAngle[{A.,C.,B.}]}],GeometricScene[{{A.,B.,C.},{}},{Triangle[{A.,B.,C.}]},{PlanarAngle[{A.,B.,C.}]+PlanarAngle[{B.,A.,C.}]<90°+90°}],GeometricScene[{{A.,B.,C.,D.},{}},{GeometricAssertion[{Line[{C.,B.,D.}],Line[{A.,B.}]},Perpendicular]},{PlanarAngle[{A.,B.,C.}]PlanarAngle[{A.,B.,D.}]90°}],GeometricScene[{{A.,B.,C.,O.},{}},{CircleThrough[{A.,B.,C.},O.],Line[{{A.,C.},{B.,C.},{A.,O.,B.}}]},{PlanarAngle[{A.,C.,B.}]90°}],GeometricScene[{{A.,B.,C.,D.,O.},{}},{GeometricAssertion[{InfiniteLine[{C.,D.}],CircleThrough[{A.,B.,C.},O.]},Tangent],Line[{O.,C.}]},{GeometricAssertion[{Line[{O.,C.}],InfiniteLine[{C.,D.}]},Perpendicular]}]
Textual Representation
Textual Representation
In[]:=
eus=ResourceData[ResourceObject[CloudObject[
https://www.wolframcloud.com/obj/s.wolfram/DeployedResources/Data/St
ructure-of-Euclid's-Elements
]]];In[]:=
Take[eus,3]
Out[]=
Book1,Theorem1TextOn a given finite straight line to construct an equilateral triangle.,GreekTextἐπὶ τῆς δοθείσης εὐθείας πεπερασμένης τρίγωνον ἰσόπλευρον συστήσασθαι.,References{Common Notion1,Postulate1,Postulate3,Book1,Definition15},Book1,Theorem2TextTo place at a given point (as an extremity) a straight line equal to a given straight line.,GreekTextπρὸς τῷ δοθέντι σημείῳ τῇ δοθείσῃ εὐθείᾳ ἴσην εὐθεῖαν θέσθαι.,References{Common Notion1,Common Notion3,Postulate1,Postulate2,Postulate3,Book1,Theorem1},Book1,Theorem3TextGiven two unequal straight lines, to cut off from the greater a straight line equal to the less.,GreekTextδύο δοθεισῶν εὐθειῶν ἀνίσων ἀπὸ τῆς μείζονος τῇ ἐλάσσονι ἴσην εὐθεῖαν ἀφελεῖν.,References{Common Notion1,Postulate3,Book1,Definition15,Book1,Theorem2}
In[]:=
StringLength[#["Text"]]&/@eus
In[]:=
Histogram[%]
Out[]=
In[]:=
Histogram[StringLength[#["GreekText"]]&/@eus,PlotRangeAll]
Out[]=
In[]:=
WordCount[#["GreekText"]]&/@eus;
In[]:=
Histogram[%2,{1},"Probability"]
Out[]=
In[]:=
Histogram[%2,Automatic,"PDF"]
Out[]=
In[]:=
FindDistribution[Values[%2]]
Out[]=
PascalDistribution[3,0.141012]
In[]:=
DiscretePlot[PDF[PascalDistribution[3,.14],x],{x,1,60},PlotRangeAll]
Out[]=
In[]:=
Show[%13,%8]
In[]:=
Entity["GeometricScene", "EuclidBook3Proposition5"]
Theorem Network
Theorem Network
Book Referencing
Book Referencing
Make the overall flows between books
Make the overall flows between books
And the node size should be proportional to the number of theorems in each book (and these should just be labeled by numbers places in the center of each vertex)
Theorem Network
Theorem Network
Annotated theorems
Annotated theorems
Foliations
Foliations
Longest paths
Longest paths