src/Pure/zterm.ML
changeset 79427 6f852d23306a
parent 79426 b5ba5b767444
child 79428 4cd892d1a676
equal deleted inserted replaced
79426:b5ba5b767444 79427:6f852d23306a
   851     val unconstrain_proof = Same.commit (map_proof_types {hyps = true} unconstrain_ztyp);
   851     val unconstrain_proof = Same.commit (map_proof_types {hyps = true} unconstrain_ztyp);
   852 
   852 
   853     val constrain_instT =
   853     val constrain_instT =
   854       ZTVars.build (present_set |> Types.fold (fn (T, _) =>
   854       ZTVars.build (present_set |> Types.fold (fn (T, _) =>
   855         let
   855         let
   856           val ZTVar v = ztyp_of (unconstrain_typ T);
   856           val ZTVar v = ztyp_of (unconstrain_typ T) and U = ztyp_of T;
   857           val U = ztyp_of T;
       
   858           val equal = (case U of ZTVar u => u = v | _ => false);
   857           val equal = (case U of ZTVar u => u = v | _ => false);
   859         in not equal ? ZTVars.add (v, U) end));
   858         in not equal ? ZTVars.add (v, U) end));
   860     val constrain_proof =
   859     val constrain_proof =
   861       if ZTVars.is_empty constrain_instT then I
   860       if ZTVars.is_empty constrain_instT then I
   862       else
   861       else