UNION_CONV : conv -> conv
Given such a conversion, the function UNION_CONV returns a conversion that maps a term of the form {t1;...;tn} UNION s to the theorem
|- {t1;...;tn} UNION s = ti INSERT ... (tj INSERT s)
- UNION_CONV REDUCE_CONV (Term`{1;2;3} UNION {SUC 0;3;4}`); > val it = |- {1; 2; 3} UNION {SUC 0; 3; 4} = {2; SUC 0; 3; 4} : thm
- IN_CONV REDUCE_CONV (Term`1 IN {SUC 0;3;4}`);
The conversion supplied to UNION_CONV need not actually prove equality of elements, if simplification of the resulting set is not desired. For example:
- UNION_CONV NO_CONV ``{1;2;3} UNION {SUC 0;3;4}``; > val it = |- {1;2;3} UNION {SUC 0;3;4} = {1;2;SUC 0;3;4} : thm
- UNION_CONV NO_CONV ``{1;2;3} UNION s``; > val it = |- {1;2;3} UNION s = 1 INSERT (2 INSERT (3 INSERT s)) : thm