anchor.diff:              tac gl
           with Failure _ -> failwith "AP_THM_TAC"
   
  +/// Breaks apart equation between binary operator applications into equality between their arguments.
   let (BINOP_TAC : tactic) =
       let tac = MK_COMB_TAC |> THENL <| [AP_TERM_TAC; ALL_TAC] in
       fun gl -> 
  
positive.code: (* Perform refinement proof, tactic proof etc.                               *)
  (* ------------------------------------------------------------------------- *)
  
  let (mk_goalstate : goal -> goalstate) = 
      fun (asl, w) -> 
          if type_of w = bool_ty
  
negative.code:         with
          | Failure _ -> failwith "X_META_EXISTS_TAC: Failure."
  
  /// Changes existentially quantified variable to metavariable.
  let META_EXISTS_TAC((asl, w) as gl) = 
      let v = fst(dest_exists w)
      let avoids = itlist (union << frees << concl << snd) asl (frees w)
      let v' = mk_primed_var avoids v
      X_META_EXISTS_TAC v' gl
  
  /// Replaces universally quantified variable in theorem with metavariable.
  let (META_SPEC_TAC : term -> thm -> tactic) = 
      fun t thm (asl, w) -> 
          let fun1 l =
  