anchor.diff:              let! tm = atm
               let! ty = type_of v
               let! tm' = inst [ty, aty] tm
  -            return! AP_TERM tm' (ABS v th)
  +            let! th1 = ABS v th
  +            return! AP_TERM tm' (Choice.result th1)
           } : Protected<thm0>
   
   (* ------------------------------------------------------------------------- *)
  
positive.code: let MK_CONJ = 
      let andtm = parse_term @"(/\)"
      fun eq1 eq2 ->
          MK_COMB(AP_TERM andtm eq1, eq2)
  
  /// Disjoin both sides of two equational theorems.
  let MK_DISJ = 
      let ortm = parse_term @"(\/)"
      fun eq1 eq2 ->
          MK_COMB(AP_TERM ortm eq1, eq2)
  
  /// Universally quantifies both sides of equational theorem.
  let MK_FORALL = 
  
negative.code:             pp_print_break fmt 0 0
              pp_print_list_inttrmInner fmt tl
          | [] -> ()
      if al.Length = 0 then 
          pp_print_string fmt "No items"
      else 
          pp_open_hvbox fmt 0
          pp_print_list_inttrmInner fmt al
          pp_close_box fmt ()
  