Subst/Unifier.thy
changeset 249 492493334e0f
parent 0 7949f97df77a
equal deleted inserted replaced
248:c3913a79b6ae 249:492493334e0f
    19 rules  (*Definitions*)
    19 rules  (*Definitions*)
    20 
    20 
    21   Idem_def         "Idem(s) == s <> s =s= s"
    21   Idem_def         "Idem(s) == s <> s =s= s"
    22   Unifier_def      "Unifier(s,t,u) == t <| s = u <| s"
    22   Unifier_def      "Unifier(s,t,u) == t <| s = u <| s"
    23   MoreGeneral_def  "r >> s == ? q.s =s= r <> q"
    23   MoreGeneral_def  "r >> s == ? q.s =s= r <> q"
    24   MGUnifier_def    "MGUnifier(s,t,u) == Unifier(s,t,u) & \
    24   MGUnifier_def    "MGUnifier(s,t,u) == Unifier(s,t,u) & 
    25 \		    (! r.Unifier(r,t,u) --> s >> r)"
    25 		    (! r.Unifier(r,t,u) --> s >> r)"
    26   MGIUnifier_def   "MGIUnifier(s,t,u) == MGUnifier(s,t,u) & Idem(s)"
    26   MGIUnifier_def   "MGIUnifier(s,t,u) == MGUnifier(s,t,u) & Idem(s)"
    27 
    27 
    28   UWFD_def
    28   UWFD_def
    29   "UWFD(x,y,x',y') == \
    29   "UWFD(x,y,x',y') == 
    30 \    (vars_of(x) Un vars_of(y) < vars_of(x') Un vars_of(y')) |  \
    30     (vars_of(x) Un vars_of(y) < vars_of(x') Un vars_of(y')) |  
    31 \    (vars_of(x) Un vars_of(y) = vars_of(x') Un vars_of(y') & x <: x')"
    31     (vars_of(x) Un vars_of(y) = vars_of(x') Un vars_of(y') & x <: x')"
    32 
    32 
    33 end
    33 end