equal
deleted
inserted
replaced
46 *) |
46 *) |
47 fun add_key_of_terms (t, cs) = |
47 fun add_key_of_terms (t, cs) = |
48 let fun rands (f$t, cs) = CombK :: rands (f, add_key_of_terms(t, cs)) |
48 let fun rands (f$t, cs) = CombK :: rands (f, add_key_of_terms(t, cs)) |
49 | rands (Const(c,_), cs) = AtomK c :: cs |
49 | rands (Const(c,_), cs) = AtomK c :: cs |
50 | rands (Free(c,_), cs) = AtomK c :: cs |
50 | rands (Free(c,_), cs) = AtomK c :: cs |
51 | rands (Bound i, cs) = AtomK (Term.bound i "") :: cs |
51 | rands (Bound i, cs) = AtomK (Term.bound i) :: cs |
52 in case (head_of t) of |
52 in case (head_of t) of |
53 Var _ => VarK :: cs |
53 Var _ => VarK :: cs |
54 | Abs _ => VarK :: cs |
54 | Abs _ => VarK :: cs |
55 | _ => rands(t,cs) |
55 | _ => rands(t,cs) |
56 end; |
56 end; |
179 | rands t (Net{comb,atoms,...}, nets) = |
179 | rands t (Net{comb,atoms,...}, nets) = |
180 case t of |
180 case t of |
181 f$t => foldr (matching unif t) nets (rands f (comb,[])) |
181 f$t => foldr (matching unif t) nets (rands f (comb,[])) |
182 | Const(c,_) => look1 (atoms, c) nets |
182 | Const(c,_) => look1 (atoms, c) nets |
183 | Free(c,_) => look1 (atoms, c) nets |
183 | Free(c,_) => look1 (atoms, c) nets |
184 | Bound i => look1 (atoms, Term.bound i "") nets |
184 | Bound i => look1 (atoms, Term.bound i) nets |
185 | _ => nets |
185 | _ => nets |
186 in |
186 in |
187 case net of |
187 case net of |
188 Leaf _ => nets |
188 Leaf _ => nets |
189 | Net{var,...} => |
189 | Net{var,...} => |