Unicode Mapping for ProofPower
[ProofPower Logo]

Unicode Mapping for ProofPower


The mapping is defined in terms of a basic translation table, which, subject to some additional rules, defines a translation from ProofPower to Unicode or from Unicode to ProofPower. There are some notes giving the rationale for the mapping.

Basic Translation Table

The following table gives a one-to-one mapping from a subset of the ProofPower extended character set to the Unicode character set. The range of the mapping includes all the ProofPower extended characters with the exception of the byte 0x8B.

The LaTeX column contains GIFs showing the typeset form of each character (produced using dvipng). The GIFs should display properly in any browser without any Unicode support. The Unicode column shows the corresponding Unicode glyph as rendered by your web browser.
Byte LaTeX Unicode Code Point Unicode Name
0x800x002286SUBSET OF OR EQUAL TO
0x810x002A65Z NOTATION RANGE ANTIRESTRICTION
0x820x002A04N-ARY UNION OPERATOR WITH PLUS
0x83𝕌0x01D54CMATHEMATICAL DOUBLE-STRUCK CAPITAL U
0x84Δ0x000394GREEK CAPITAL LETTER DELTA
0x850x002218RING OPERATOR
0x86Φ0x0003A6GREEK CAPITAL LETTER PHI
0x87Γ0x000393GREEK CAPITAL LETTER GAMMA
0x880x002514BOX DRAWINGS LIGHT UP AND RIGHT
0x890x0022CECURLY LOGICAL OR
0x8AΘ0x000398GREEK CAPITAL LETTER THETA
0x8B Translated into a sequence of two code points. See below
0x8CΛ0x00039BGREEK CAPITAL LETTER LAMDA
0x8D0x002208ELEMENT OF
0x8E0x002209NOT AN ELEMENT OF
0x8F0x002916RIGHTWARDS TWO-HEADED ARROW WITH TAIL
0x90Π0x0003A0GREEK CAPITAL LETTER PI
0x91🄼0x01F13CSQUARED LATIN CAPITAL LETTER M
0x920x0025B7WHITE RIGHT-POINTING TRIANGLE
0x93Σ0x0003A3GREEK CAPITAL LETTER SIGMA
0x94🅃0x01F143SQUARED LATIN CAPITAL LETTER T
0x95Υ0x0003A5GREEK CAPITAL LETTER UPSILON
0x96𝔹0x01D539MATHEMATICAL DOUBLE-STRUCK CAPITAL B
0x97Ω0x0003A9GREEK CAPITAL LETTER OMEGA
0x98Ξ0x00039EGREEK CAPITAL LETTER XI
0x99Ψ0x0003A8GREEK CAPITAL LETTER PSI
0x9A0x002205EMPTY SET
0x9B0x0022CFCURLY LOGICAL AND
0x9C0x002550BOX DRAWINGS DOUBLE HORIZONTAL
0x9D0x002552BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
0x9E0x002915RIGHTWARDS ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
0x9F0x0021FBRIGHTWARDS ARROW WITH DOUBLE VERTICAL STROKE
0xA00x002282SUBSET OF
0xA10x002229INTERSECTION
0xA20x003009RIGHT ANGLE BRACKET
0xA30x002296CIRCLED MINUS
0xA40x0021D4LEFT RIGHT DOUBLE ARROW
0xA50x0022C2N-ARY INTERSECTION
0xA60x00225CDELTA EQUAL TO
0xA70x003008LEFT ANGLE BRACKET
0xA80x002987Z NOTATION LEFT IMAGE BRACKET
0xA90x002988Z NOTATION RIGHT IMAGE BRACKET
0xAA0x002194LEFT RIGHT ARROW
0xAB0x002295CIRCLED PLUS
0xAC0x00231CTOP LEFT CORNER
0xAD0x002192RIGHTWARDS ARROW
0xAE0x00231DTOP RIGHT CORNER
0xAF0x00211DDOUBLE-STRUCK CAPITAL R
0xB00x002588FULL BLOCK
0xB10x002227LOGICAL AND
0xB20x002228LOGICAL OR
0xB3¬0x0000ACNOT SIGN
0xB40x0021D2RIGHTWARDS DOUBLE ARROW
0xB50x002200FOR ALL
0xB60x002203THERE EXISTS
0xB70x002981Z NOTATION SPOT
0xB8×0x0000D7MULTIPLICATION SIGN
0xB90x0024C8CIRCLED LATIN CAPITAL LETTER S
0xBA0x002982Z NOTATION TYPE COLON
0xBB0x002A3EZ NOTATION RELATIONAL COMPOSITION
0xBC0x002264LESS-THAN OR EQUAL TO
0xBD0x002260NOT EQUAL TO
0xBE0x002265GREATER-THAN OR EQUAL TO
0xBF𝕊0x01D54AMATHEMATICAL DOUBLE-STRUCK CAPITAL S
0xC00x00222AUNION
0xC1α0x0003B1GREEK SMALL LETTER ALPHA
0xC2β0x0003B2GREEK SMALL LETTER BETA
0xC30x002291SQUARE IMAGE OF OR EQUAL TO
0xC4δ0x0003B4GREEK SMALL LETTER DELTA
0xC5ϵ0x0003F5GREEK LUNATE EPSILON SYMBOL
0xC6ϕ0x0003D5GREEK PHI SYMBOL
0xC7γ0x0003B3GREEK SMALL LETTER GAMMA
0xC8η0x0003B7GREEK SMALL LETTER ETA
0xC9ι0x0003B9GREEK SMALL LETTER IOTA
0xCAθ0x0003B8GREEK SMALL LETTER THETA
0xCBκ0x0003BAGREEK SMALL LETTER KAPPA
0xCCλ0x0003BBGREEK SMALL LETTER LAMDA
0xCDμ0x0003BCGREEK SMALL LETTER MU
0xCEν0x0003BDGREEK SMALL LETTER NU
0xCF0x002900RIGHTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE
0xD0π0x0003C0GREEK SMALL LETTER PI
0xD1χ0x0003C7GREEK SMALL LETTER CHI
0xD2ρ0x0003C1GREEK SMALL LETTER RHO
0xD3σ0x0003C3GREEK SMALL LETTER SIGMA
0xD4τ0x0003C4GREEK SMALL LETTER TAU
0xD5υ0x0003C5GREEK SMALL LETTER UPSILON
0xD60x002102DOUBLE-STRUCK CAPITAL C
0xD7ω0x0003C9GREEK SMALL LETTER OMEGA
0xD8ξ0x0003BEGREEK SMALL LETTER XI
0xD9φ0x0003C6GREEK SMALL LETTER PHI
0xDAζ0x0003B6GREEK SMALL LETTER ZETA
0xDB0x00298FLEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
0xDC0x002502BOX DRAWINGS LIGHT VERTICAL
0xDD0x00298ERIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
0xDE0x0022C3N-ARY UNION
0xDF0x0021F8RIGHTWARDS ARROW WITH VERTICAL STROKE
0xE00x0021A3RIGHTWARDS ARROW WITH TAIL
0xE10x002A64Z NOTATION DOMAIN ANTIRESTRICTION
0xE20x0022A5UP TACK
0xE30x0021D0LEFTWARDS DOUBLE ARROW
0xE40x002283SUPERSET OF
0xE50x002287SUPERSET OF OR EQUAL TO
0xE6𝔽0x01D53DMATHEMATICAL DOUBLE-STRUCK CAPITAL F
0xE70x002197NORTH EAST ARROW
0xE80x002198SOUTH EAST ARROW
0xE90x002261IDENTICAL TO
0xEA0x002195UP DOWN ARROW
0xEB0x002040CHARACTER TIE
0xEC0x0021BFUPWARDS HARPOON WITH BARB LEFTWARDS
0xED0x0021A6RIGHTWARDS ARROW FROM BAR
0xEE0x002115DOUBLE-STRUCK CAPITAL N
0xEF0x0021A0RIGHTWARDS TWO HEADED ARROW
0xF00x002119DOUBLE-STRUCK CAPITAL P
0xF1🅉0x01F149SQUARED LATIN CAPITAL LETTER Z
0xF20x0025C1WHITE LEFT-POINTING TRIANGLE
0xF30x00211ADOUBLE-STRUCK CAPITAL Q
0xF40x0022A2RIGHT TACK
0xF50x00208DSUBSCRIPT LEFT PARENTHESIS
0xF60x00208ESUBSCRIPT RIGHT PARENTHESIS
0xF70x00251CBOX DRAWINGS LIGHT VERTICAL AND RIGHT
0xF80x00FE63SMALL HYPHEN-MINUS
0xF90x0021BEUPWARDS HARPOON WITH BARB RIGHTWARDS
0xFA0x002124DOUBLE-STRUCK CAPITAL Z
0xFB0x0027E6MATHEMATICAL LEFT WHITE SQUARE BRACKET
0xFC0x002500BOX DRAWINGS LIGHT HORIZONTAL
0xFD0x0027E7MATHEMATICAL RIGHT WHITE SQUARE BRACKET
0xFE0x002914RIGHTWARDS ARROW WITH TAIL WITH VERTICAL STROKE
0xFF0x00250CBOX DRAWINGS LIGHT DOWN AND RIGHT


ProofPower to Unicode

Translating ProofPower into Unicode converts a stream of bytes into a stream of Unicode code points. An ASCII string of the form "%xHHHHHH%", where HHHHHH is a string of 6 upper-case hexadecimal digits representing a value in the range 0x000100 to 0x10FFFF, is translated into the Unicode code point with that value. Strings of this form are identified reading from left to right. Any byte in the range 0x00 to 0x7F not appearing in such a string is translated into the Unicode code point with the same numeric value. A byte in the range 0x80 to 0xFF other than 0x8B is translated into the Unicode code point identified in the basic translation table above. The byte 0x8B (representing distributed concatenation in Z) is translated into the sequence of 2 Unicode code points shown below:
Byte LaTeX Code Point Sequence Unicode
0x8B0x002040 0x00002F⁀/

Unicode to ProofPower

Translating Unicode converts a stream of code points into a stream of bytes. A Unicode code point in the range 0x000000 to 0x00007F is translated into the byte with the same numeric value. A Unicode code point listed in the Code Point column in the basic translation table is translated into the byte with the numeric value given in the Byte column. A Unicode code point in the range 0x000080 to 0x10FFFF that is not listed in the basic translation table is translated into the ASCII string "%xHHHHHH%", where HHHHHH represents the value of the code point as 6 upper-case hexadecimal digits.

Rationale

The mapping for Z symbols (other than paragraph mark-up) follows the ISO Z Standard Unicode mark-up. An exception is that the ASCII minus sign is translated unchanged while the unary minus sign 0xF8 is translated into SMALL HYPHEN-MINUS. Unfortunately, SMALL HYPHEN-MINUS often seems to be rendered bigger than HYPHEN-MINUS.

Unicode does not provide any single glyphs that resemble the decorated Quine corners provided in the ProofPower character set for quoting HOL types, ML and Z. Squared letters T, M and Z have been used as a convenient single character translation for these.

The %xHHHHHH% format allows any code point to be used in a ProofPower identifier. Strings of this form are highly unlikely to occur in existing scripts and so there is no requirement for a string of this form to be translated into Unicode as 9 ASCII characters.


Copyright © Lemma 1 Ltd.
Created by  Rob Arthan [rda at lemma-one dot com]
Last updated: 11th March 2015