History log of /seL4-l4v-10.1.1/HOL4/src/postkernel/FullUnify.sml
Revision Date Author Comments
# eaf0c171 12-Feb-2017 Michael Norrish <Michael.Norrish@nicta.com.au>

Get FullUnify to build under Moscow ML


# a9935327 11-Feb-2017 Michael Norrish <Michael.Norrish@nicta.com.au>

Remove Unicode in comments in FullUnify.sml


# 6f2ea0f6 10-Feb-2017 Michael Norrish <Michael.Norrish@nicta.com.au>

Work towards a general unification module

There is an existing piece of code in src/simp/src, but it doesn't
handle type variables, which I think we want. (That's why I've called
this one FullUnify, because the other module has taken the Unify name,
at least for now.) The functions are parameterized by predicates for
specifying which variables should be treated as unifiable. I'm not
sure what the signature should be just yet, but that for
type-unification is probably right.

The term unification, not yet exposed in the sig, attempts to do a
very brain-dead handling of pattern-like situations when it sees
abstractions. The handling of the fact that terms are typed with
things that are themselves polymorphic is inspired by the code in
Isabelle (term environments are maps from strings to type-term pairs).