I constructed the document with two Perl scripts: one to match place names with locations and another to write the KML. I had to match some places names with locations by hand.
- Download: sunshine.kml
logic, a spice rack, and some other things
cat | gzip | wcand informs us that it can be used to identify what language a text is written in. Basically the command is "combine some files, zip them up, then measure the size of the resulting zip file. Jiggawhat? Yes, there is a thing called "compression-based classification", and it's actually pretty effective. What happens when you zip a file? A compression algorithm finds repeated patterns in the file and replaces instances of them with shorter patterns. The more and longer the repeated patterns, the more the file can be compressed. What happens when you zip two files together? If they have similar content, they will compress well. If they have different content, they won't compress as well. So, if you have some text and you want to find out what language it is, zip it with example texts for any language it might be. The language it compresses best with is the language it is mostly likely to be. If the languages you are considering aren't too similar (e.g. Dutch & German, not Norwegian & Swedish), this technique is actually very reliable.
Socrates is a man.Which can be restated in a way that makes its logic more obvious:
Man is mortal.
Therefore, Socrates is mortal.
If Socrates is a man and if something is a man then it is mortal, then Socrates is mortal.The validity of any proposition that can be constructed from only the above-mentioned concepts is decidable. By "validity" I mean the proposition is true independent of anything else. "If something is both large and round, then it is large" is true whether or not anything large and/or round actually exists. The above-mentioned proof of Socrates' mortality is valid, too. By "proposition" I mean the meaning of a declarative, true-or-false statement. By "decidable" I mean someone could write a computer program that would the determine any one of these proposition's validity, and it would work for any proposition.
// All men are mortal.I would test it through the command prompt like this:
x,Hx->Mx
// Socrates is a man.
Hs
// Therefore,
->
// Socrates is mortal.
Ms
((x,Hx->Mx)&Hs)->MsThis is the basic categorical syllogism. You can add comments by adding "//" and text behind it:
((x,Hx->Mx)&Hs)->Ms //the basic categorical syllogismmpl.exe will ignore anything behind "//" . If a line only contains a comment, mpl.exe will ignore it completely:
// the basic categorical syllogismA statement can be spread across multiple lines. mpl.exe treats separate lines as if they were separate operand in a logical conjunction, so
((x,Hx->Mx)&Hs)->Ms
means the same asAx|BxBx->CxCx
(Ax|Bx)&(Bx->Cx)&(Cx)If a binary operator is on a line by itself, every line before it is conjoined and treated as its left operand; everything after it is conjoined and treated as its right operand. So
x,H->Mxmeans the same as
Hs
->
Ms
This allows us to symbolize logical arguments and test their validity. Think of the first two lines in the text above as the premises of an argument and the last line as the conclusion. As with computer programs, comments can be helpful:((x,Hx->Mx)&Hs)->Ms
// All men are mortal.
x,Hx->Mx
// Socrates is a man.
Hs
// Therefore,
->
// Socrates is mortal.
Ms