1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
\DOC CHAR_EQ_CONV
\TYPE {CHAR_EQ_CONV : term -> thm}
\SYNOPSIS
Proves equality or inequality of two HOL character literals.
\DESCRIBE
If {s} and {t} are two character literal terms in the HOL logic,
{CHAR_EQ_CONV `s = t`} returns:
{
|- s = t <=> T or |- s = t <=> F
}
\noindent depending on whether the character literals are equal or not equal,
respectively.
\FAILURE
{CHAR_EQ_CONV tm} fails f {tm} is not of the specified form, an equation
between character literals.
\EXAMPLE
{
# let t = mk_eq(mk_char 'A',mk_char 'A');;
val t : term = `ASCII F T F F F F F T = ASCII F T F F F F F T`
# CHAR_EQ_CONV t;;
val it : thm = |- ASCII F T F F F F F T = ASCII F T F F F F F T <=> T
}
\USES
Performing basic equality reasoning while producing a proof about characters.
\COMMENTS
There is no particularly convenient parser/printer support for the HOL {char}
type, but when combined into lists they are considered as strings and provided
with more intuitive parser/printer support. There is a corresponding proof rule
{STRING_EQ_CONV} for strings.
\SEEALSO
dest_char, mk_char, NUM_EQ_CONV, STRING_EQ_CONV.
\ENDDOC
|