Częścią logicznego języka jest zapis matematyczny. W jednej z wersji:
Używa się 84 znaków (dostępnych bezpośrednio z klawiatury):
a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 1 2 3 4 5 6 7 8 9 0 ` ~ ! @ # $ % ^ & * ( ) - _ = + [ { ] } ; : ' " \ | , < . > / ?
Symbole dzieli się dowolnymi białymi znakami (spacja, znak tabulacji, enter).
Jest sześć pojęć pierwotnych, których nie precyzuje się nawet aksjomatami.
(
,(
- nawiasy używane jak w Lispie\l
- operator lambda przyjmujący dwa argumenty (zmienną związaną i wyrażenie; tworzy raczej funkcjonały niż funkcje)\V
- operator jednoargumentowy, przyjmuje funkcjonał i zwraca prawdę, jeśli coś może dać jedenani
- operator logiczny dwuargumentowy=
- operator dwuargumentowy
Ani zastępuje wszystkie funkcje logiczne (z innymi znakami można łatwiej):
a\b | 0 | 1 |
0 | ||
1 |
00 0 00 ( ani a ( ani a a ) ) 00 a i b 01 ( ani ( ani a a ) ( ani b b ) ) 00 a i ~b 10 ( ani b ( ani a b ) ) 00 a 11 a 01 ~a i b 00 ( ani a ( ani a b ) ) 01 b 01 b 01 a albo b 10 ( ani ( ani a b ) ( ani ( ani a a ) ( ani b b ) ) 01 a lub b 11 ( ani ( ani a b ) ( ani a b ) ) 10 a ani b 00 ( ani a b ) 10 a <=> b 01 (ani ( ani a ( ani a b ) ) ( ani b ( ani a b ) ) ) 10 ~b 10 ( ani b b ) 10 b => a 11 (ani ( ani a ( ani a b ) ) ( ani a ( ani a b ) ) ) 11 ~a 00 ( ani a a ) 11 a => b 01 (ani ( ani b ( ani a b ) ) ( ani b ( ani a b ) ) ) 11 ~a lub ~b 10 ( ani ( ani ( ani a a ) ( ani b b ) ) ( ani ( ani a a ) ( ani b b ) ) ) 11 1 11 ( ani ( ani a ( ani a a ) ) ( ani a ( ani a a ) ) )
Implikację a=>b można też zapisać
( ani ( ani ( ani a a ) b ) ( ani ( ani a a ) b ) )
Co odpowiada definicji
( = ( \l x ( \l y ( ani ( ani ( ani x x ) y ) ( ani ( ani x x ) y ) ) ) ) )
Z powyższych tworzymy zdanie, w którym mamy zdanie b przy założeniu zdefiniowania implikacji
( ani ( ani ( ani ( = ( \l x ( \l y ( ani ( ani ( ani x x ) y ) ( ani ( ani x x ) y ) ) ) ) ) ( = ( \l x ( \l y ( ani ( ani ( ani x x ) y ) ( ani ( ani x x ) y ) ) ) ) ) ) b ) ( ani ( ani ( = ( \l x ( \l y ( ani ( ani ( ani x x ) y ) ( ani ( ani x x ) y ) ) ) ) ) ( = ( \l x ( \l y ( ani ( ani ( ani x x ) y ) ( ani ( ani x x ) y ) ) ) ) ) ) b ) )
Definiujemy też tradycyjne operatory logiczne
( = ~ ( \l x ( ani x x ) ) ) ( = i ( \l x ( \l y ( ani ( ~ x ) ( ~ y ) ) ) ) ) ( = lub ( \l x ( \l y ( ~ ( ani x y ) ) ) ) ) ( = \A ( \l y ( ~ ( \V ( \l x ( ~ ( y x ) ) ) ) ) )