equal
deleted
inserted
replaced
1593 fun join_eqns get_reg prep_id ctxt id eqns = |
1593 fun join_eqns get_reg prep_id ctxt id eqns = |
1594 let |
1594 let |
1595 val id' = prep_id id |
1595 val id' = prep_id id |
1596 val eqns' = case get_reg id' |
1596 val eqns' = case get_reg id' |
1597 of NONE => eqns |
1597 of NONE => eqns |
1598 | SOME (_, _, eqns') => Termtab.join (fn t => fn (_, e) => e) (eqns, eqns') |
1598 | SOME (_, _, eqns') => Termtab.join (fn t => fn (_, e) => e) (eqns, eqns') |
1599 handle Termtab.DUP t => |
1599 handle Termtab.DUP t => |
1600 error ("Conflicting interpreting equations for term " ^ |
1600 error ("Conflicting interpreting equations for term " ^ |
1601 quote (Syntax.string_of_term ctxt t)) |
1601 quote (Syntax.string_of_term ctxt t)) |
1602 in ((id', eqns'), eqns') end; |
1602 in ((id', eqns'), eqns') end; |
1603 |
1603 |
1604 |
1604 |
1605 (* collect witnesses and equations up to a particular target for global |
1605 (* collect witnesses and equations up to a particular target for global |
1606 registration; requires parameters and flattened list of identifiers |
1606 registration; requires parameters and flattened list of identifiers |