src/Pure/Isar/locale.ML
changeset 28020 1ff5167592ba
parent 28005 0e71a3b1b396
child 28024 d1c2fa105443
equal deleted inserted replaced
28019:359764333bf4 28020:1ff5167592ba
  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