Z and HTML

HTML's support for mathematics is minimal. And even the proposed extensions will not cover the whole of the Z symbol zoo. So for now, a suitable approach is to insert the characters as tiny images (transparent gifs) --- but remember that they will not scale with the text.

I am building up a set of useful Z symbols, which can be used in Web-Z documents. (The larger chunks of Z in the example are large images, not carefully composed from many small images!) With these symbols, you can compose such Z gems as

%A x%Z @ %E y%N @ x <y

%A x, y%Z | x =/= y @ x <y \/ y <x

Z Character gifs

base language

symbol name 'ascii' HTML code example
%P powerset %P %P X
× cross %x &#215; X × Y
@ spot @ { S @ x }
|- shows |- |- p \/ ¬ p

%e in %e 2 %e %N
¬ not %not &#172; ¬ -2 %e %N
/\ and /\ P /\ Q
\/ or \/ P \/ Q
=> implies => P => Q
<=> equivalence <=> P <=> Q
%A for all %A %A S @ x
%E exists %E %E S @ x , %E1 S @ x

=^= schema define =^= S =^= T \ U
%S|\ schema projection %S|\ S %S|\ T
%S; schema composition %S; S %S; T
%S>> schema piping %S>> S %S>> T

toolkit

symbol name 'ascii' example
=/= , %/e not equal , not in =/=, %/e 1 =/= 2 %/e { 3 }

(/) emptyset (/) (/) %/e %P1 X
%c_ , %c subset , proper %c_ , %c { 1 } %c_ { 1 } %c { 1 , 2 }
%u , %uu union , generalised %u , %uu a %u b \ %uu C
%n , %nn intersection , generalised %n , %nn a %n b \ %nn C

<-> , |-> relations , maplet <-> , |-> X <-> Y , x |-> y
%; , %o composition %; , %o r %; s = s %o r
<: , <: restriction <: , :> a <: r <: b
<-: , <-: anti-restriction <-: , :-> a <-: r <-: b
(| , |) image (| , |) r (| a |)
(+) override (+) r (+) s = (dom s <-: r) %u s

-|-> , --> functions -|-> , --> X -|-> Y , X --> Y
>-|-> , >--> injections >-|-> , >--> X >-|-> Y , X >--> Y
-|->> , -->> surjections -|->> , -->> X -|->> Y , X -->> Y
>-->> bijection >-->> X >-->> Y

%N , %Z naturals , integers %N , %Z 1 %e %N1 %c_ %N %c_ %Z
<= , <= less or equal , greater or equal <= , >= 1 <= 5 <= 3
%F finite sets %F dom # = %F X
-||-> , >-||-> finite functions , injections -||-> , >-||-> X -||-> Y , X >-||-> Y

%< , %> sequence brackets %< , %> %< a , b %>
%^ concatenation %^ s %^ t
/| , |\ extraction , filtering /| , |\ p /| s |\ b = squash (p <: s <: b)

[| , |] bag brackets [| , |] [| a , a , b |]
%# , (x) multiplicity , scaling %# , (x) ( n %# B ) (x) x
%Be , %Bc_ bag member , subbag %Be , %Bc_ x %Be B %Bc_ C

Greek gifs (beware geeks bearing gifs?)

Eventually, we will be able to write HTML like &XI; to get %Xi%. But for now:

letter name 'ascii' HTML code
%alpha% , A alpha %alpha% , A
%beta% , B beta %beta% , B
%gamma% , %Gamma% gamma %gamma% , %Gamma%
%delta% , %Delta% delta %delta% , %Delta%
%eta% , E epsilon %epsilon% , E
%zeta% , Z zeta %zeta% , Z
%eta% , H eta %eta% , H
%theta% , %vartheta% , %Theta% theta %theta% , %vartheta% , %Theta%
%iota% , I iota %iota% , I
%kappa% , K kappa %kappa% , K
%lambda% , %Lambda% lambda %lambda% , %Lambda%
µ , M mu %mu% , M &#181;
%nu% , N nu %nu% , N
%xi% , %Xi% xi %xi% , %Xi%
o , O omicron o , O
%pi% , %varpi% , %Pi% pi %pi% , %varpi% , %Pi%
%rho% , P rho %rho% , P
%sigma% , %varsigma% , %Sigma% sigma %sigma% , %varsigma% , %Sigma%
%tau% , T tau %tau% , T
%upsilon% upsilon %upsilon%
%phi% , %varphi% , %Phi% phi %phi% , %varphi% , %Phi%
%chi% , X chi %chi% , X
%psi% , %Psi% psi %psi% , %Psi%
%omega% , %Omega% omega %omega% , %Omega%

other symbols

symbol name
aleph aleph
approx approximate equality
equiv equivalent to
root square root
proportional proportional to
infinity infinity

top , bottom top , bottom
|><| bowtie
black box , white box black box , white box
diamond , triangle diamond , triangle