
66 Cal.Rptr.3d 1 (2007)
154 Cal.App.4th 547
YIELD DYNAMICS, INC., Plaintiff and Appellant,
v.
TEA SYSTEMS CORPORATION, et al., Defendants and Respondents.
No. H029604.
Court of Appeal of California, Sixth District.
August 23, 2007.
As Modified on Denial of Rehearing September 21, 2007.
*6 Russo & Hale, Jack Russo, Michael V. Risch, Palo Alto, for Plaintiff and Appellant Yield Dynamics, Inc.
Ackerman & Kevorkian, Michael G. Ackerman, Kevin B. Kevorkian, Santa Clara, *7 for Defendant and Respondent TEA Systems Corporation, et al.
RUSHING, P.J.
Plaintiff Yield Dynamics, Inc. (Yield) brought this action against a former employee, Terrence Zavecz, two business entities of which he is a principal, and others, alleging among other things that Zavecz breached a contract to convey certain computer code to Yield and not to compete with it, and that he and other defendants misappropriated certain trade secrets by using some of the code to create competing products. After a nonjury trial, the court entered judgment for the defendants, finding among other things that Yield had failed to establish that the code constituted a trade secret. On appeal Yield mounts a broad attack on the judgment and associated orders.
We detect no error, and will affirm the judgment.

BACKGROUND

I. History[1]
All of the parties are involved in developing or marketing software products designed to facilitate the fabrication (manufacture) of microchips (integrated circuits). According to Jonathan Buckheit, Yield's founder and chief executive officer, Yield develops and markets software for "yield enhancement," i.e., monitoring and controlling the fabrication process so as to increase the proportion of microchips that perform satisfactorily.[2] Essentially this involves monitoring the fabrication process in order to detect, analyze, and correct manufacturing errors.
Defendant Zavecz is the founder and, as relevant here, sole employee of defendant TEA Systems Corporation (TEA). He developed two software applications, OASnt and FPAex, which he marketed to microchip manufacturers. These products were designed to facilitate the analysis of lithography data, i.e., measurements of the photolithographic stage of fabrication, in which an image of the circuit is imprinted onto a silicon wafer by the projection of light through a reticle, which is an optical mask somewhat analogous to a photographic slide.[3]
The events leading to this lawsuit commenced while Zavecz was developing a more highly automated lithography product named MAPA.[4] Buckheit testified that *8 Zavecz sought assistance in developing MAPA so that he could fulfill an existing contract-with National Semiconductor, a microchip manufacturer. This evolved into a written agreement in May 1999 (the asset agreement) under which Zavecz and his wife, as president and shareholders of TEA, sold to Yield TEA's interest in OASnt, FPAex, MAPA, and "[a]ll of Seller's software ... relating in any way" to these products. In exchange TEA received forgiveness of $73,457.15 in debt plus 100,000 shares of Yield common stock.[5] The agreement also contemplated that Yield would employ Zavecz as Vice President of Lithography Applications at a base salary of $100,000 per year, with stock options and commissions. The agreement included a covenant by Mr. and Mrs. Zavecz not to compete for three years from its effective date.
Zavecz commenced employment with Yield in June 1999. This apparently entailed his coming to California while leaving his family behind at their Pennsylvania home. In connection with his employment he executed two additional agreements. An "Employee Inventions and Proprietary Rights Assignment Agreement" (the invention agreement) provided that Zavecz would not disclose certain of Yield's information, which was deemed confidential; that inventions made by him in the course of his employment belonged to Yield; that he would disclose and assign any such inventions to Yield; and that inventions made within a year after his separation of employment would be presumed to have been conceived during employment, and thus the property of Yield. A "Confidentiality Agreement" reiterated his duty not to disclose Yield's "Confidential Information" as there defined.
In mid-2000 Zavecz threatened to resign and proposed, among several alternatives, "unwindfing]" the parties' existing agreements. He was invited instead to develop a business plan under which Yield would open an engineering office in Pennsylvania. He developed such a proposal, but Buckheit did not approve of it because it would create a separate division under Zavecz's semi-autonomous control. Buckheit made a counterproposal which Zavecz refused, again offering to "unwind the deal."
In late 2000, Yield undertook to convert OASnt and FPAex from the RPL programming language, in which they had been written, into the C programming language.[6] This became necessary, Buckheit testified, because after Yield added some automation routines to OASnt and installed the resulting product for a client, the software exhibited "glitches that we literally could not fix" due to "a bug in the RPL programming language itself." Yield decided to convert the entire product from RPL to C "in order to be able to fix the bug and save the customer." Buckheit asked Zavecz to assist in this project, but *9 Zavecz said that "[i]t was not one of his priorities" and that he expected it to be addressed by his separate division, for which he was then "making plans." Buckheit reminded Zavecz that his plan for a separate division had been disapproved, though Zavecz remained free to appeal that decision to the Yield board of directors. Zavecz never did so.
In December 2000, Zavecz went to Pennsylvania. In late January, 2001, after he refused a directive to return to California, Yield terminated his employment. In April 2001, Yield filed an action in Pennsylvania to accelerate and collect upon a promissory note reflecting a loan of $50,000 it had made to Zavecz. In August 2003 Yield brought an action on the note in California. This produced a stipulated judgment in Yield's favor. Disputes over execution of the judgment generated two appeals to this court. (Yield Dynamics, Inc. v. Zavecz (Dec. 21, 2005, H028585), 2005 WL 3485660 [nonpub. opn.]; Yield Dynamics, Inc. v. Zavecz (Dec. 21, 2005, H028146), 2005 WL 3485656 [nonpub. opn].) Their substance need not concern us here.
Meanwhile, sometime in 2001, but after the termination of Zavecz's employment, Buckheit learned that Zavecz was proposing to make a presentation at the conference of a professional organization identified at trial as SPIE, which according to one of the Pennsylvania decisions in a related case stands for Society of Photolithographic Instrumentation Engineers. Zavecz apparently intended to include in the presentation "screen shot[s]," or images of a computer display, that Buckheit believed were "directly taken from [Yield] marketing presentations...." The convention hosts acceded to Yield's demands that these materials be removed from the presentation and returned to it.
In February 2003, Buckheit learned that Zavecz had developed a new product, Weir, which Buckheit considered similar to the products he had sold to Yield under the asset purchase agreement. In July 2003, Yield brought this action against TEA, Zavecz, and five other defendants, including Sub-Lambda Systems, Inc. (Sub-Lambda), another entity apparently founded by Zavecz. In August 2003 Zavecz petitioned to compel arbitration, pursuant to an arbitration clause in the employment agreement, of so much of the dispute as concerned that agreement. In the course of the ensuing arbitration, Buckheit saw slides from which he concluded that Zavecz had conducted a professional presentation using screen shots "that had been generated by the OASnt software and were labeled as OASnt" but "were now being generated by ... Weir."
In April 2005, Yield filed its first amended complaint setting forth seven causes of action: (1) misappropriation of trade secrets, including source code, by Zavecz and other defendants; (2) breach of the asset agreement by Zavecz and TEA, in that they failed to turn over all intellectual property transferred under the agreement, attempted to sell competing software, and created and sold software based on intellectual property sold to Yield under the agreement; (3) breach by Zavecz of the invention and confidentiality agreements, in that he failed to return confidential materials upon termination of his employment, and used and disclosed confidential information after termination; (4) fraud by Zavecz and TEA in the inception of the asset agreement, in that they entered into that agreement without intending to perform their obligations under it; (5) breach by Zavecz of his fiduciary duties as an employee, apparently based on the foregoing misconduct; (6) declaratory relief with respect to the dispute between the parties; and (7) unfair competition by Zavecz in *10 violation of Business and Professions Code sections 17200 et sequitur, in that he taught a course using "screenshots" of products sold to Yield and developed by it, while representing them as products of TEA.[7]
In the period 1999-2001, Yield offered OASnt, FPAex, and MAPA for sale, as well as its own preexisting product, Genesis. In 2001 or 2002, it stopped offering FPAex as a stand-alone product. By 2004 it was no longer offering OASnt for sale by itself. However MAPA had been integrated into a new product, EnTune.[8] As of 2004 Yield was offering EnTune for sale to a number of companies. As of trial no copies of that product had sold.

II. Trial Proceedings

Early in trial Yield settled with four defendants whom it had accused of helping Zavecz, TEA, and Sub-Lambda Systems to misappropriate trade secrets. Later Yield withdrew its declaratory relief claim and dismissed with prejudice its claim for breach of fiduciary duty. The case proceeded against Zavecz, TEA and Sub-Lambda on theories of misappropriation of trade secrets, breach of contract, fraud, and unfair competition.
Yield waived its right to jury trial, but defendants did not. In pretrial colloquy the court raised the possibility of trying the case without a jury, but defendants stood on their right to jury trial. The court raised the possibility of conducting a nonjury trial of equitable issues, followed by a trial of any remaining legal issues. Yield filed a memorandum conceding the court's power to try equitable issues first and thereby obviate a jury trial if its findings disposed of all causes of action. With matters in this posture, and with no jury seated, counsel for Yield delivered his opening statement to the court. At its conclusion, defendants moved for nonsuit, contending principally that (1) Yield had presented no basis for a monetary award on the trade secrets claim, i.e., for compensatory damages, unjust enrichment, or a royalty; (2) Yield had received the benefit of its bargain and had suffered no damage as the result of any breach of contract or fraud; and (3) there could be no wrongful competition because Yield had stopped selling the products in question before defendants sold any product claimed to have been derived from them.
The court deferred a ruling on the motion for nonsuit and elected to "proceed day-by-day for several days hearing the case in equity and attending to all of the issues that the court can properly attend to on equity claims." Alluding to prior discussions, the court affirmed that Yield was "going to submit evidence, what evidence there is, and be prepared to then comment upon that at the end of the entire presentation ... in aid of the court's continuing consideration of the motions for *11 nonsuit." Yield's attorney agreed to "put in all of [his] evidence." He presented evidence over the course of five days. He then answered affirmatively the court's question, "[D]oes the plaintiff rest in its case-in-chief?" The court stated that, having heard "evidence on the plaintiffs entire case," it would now hear defendants' motion to dismiss under Code of Civil Procedure section 631.8. Yield's attorney assented in the court's recital that he had "agree[d] to put in all of the evidence on all of the claims that you [had]."[9]
After taking the matter under submission, the court issued a written "Ruling on Motion for Judgment" in which it found for defendants on all claims. Yield filed a four-page request for statement of decision propounding 32 questions to the court. Writing that the request was "overbroad and makes requests ... to which the court is not required to respond," the court directed defendants to prepare a statement of decision. Defendants submitted a proposed statement of decision. Yield filed 12 pages of objections. Defendants submitted an amended proposed statement of decision. Yield filed 15 pages of "renewed" objections. The court signed the revised proposed statement, incorporating by reference its written ruling on the motion for judgment. The court rendered judgment. Yield immediately appealed from the judgment, an award of attorney fees to defendants (see pt. VI, post), and the denial of a motion by Yield for terminating discovery sanctions (see pt. VII, post).

DISCUSSION

I. Standard of Review

California appellate courts are generally constrained by three principles of appellate review: First, the trial court's judgment is presumptively correct, such that error must be affirmatively demonstrated, and where the record is silent the reviewing court will indulge all reasonable inferences in support of the judgment. (Schnabel v. Superior Court (1993) 5 Cal.4th 704, 718, 21 Cal.Rptr.2d 200, 854 P.2d 1117; Border Business Park, Inc. v. City of San Diego (2006) 142 Cal.App.4th 1538, 1550, 49 Cal.Rptr.3d 259; Blasiar, Inc. v. Fireman's Fund Ins. Co. (1999) 76 Cal.App.4th 748, 757, 90 Cal.Rptr.2d 374.) This means that an appellant must do more than assert error and leave it to the appellate court to search the record and the law books to test his claim. The appellant must present an adequate argument including citations to supporting authorities and to relevant portions of the record. (Kurinij v. Hanna & Morton (1997) 55 Cal.App.4th 853, 865, 64 Cal.Rptr.2d 324; City of Lincoln v. Barringer (2002) 102 Cal.App.4th 1211, 1239, 126 Cal.Rptr.2d 178.) Of course this also means that during trial, the parties must ensure that an adequate record is made of errors by *12 which they are or may be aggrieved; ordinarily, errors not reflected in the trial record will not, and indeed cannot, sustain a reversal on appeal. (See Estate of Davis (1990) 219 Cal.App.3d 663, 670, fn. 13, 268 Cal.Rptr. 384; Ward v. Litowsky (1970) 5 Cal.App.3d 437, 440, 85 Cal.Rptr. 278; but see Code Civ. Proc, § 909 [authorizing appellate courts to receive evidence and make findings].)
Second, findings must be sustained if they are supported by substantial evidence, even though the evidence could also have justified contrary findings. (Hellman v. La Cumbre Golf & Country Club (1992) 6 Cal.App.4th 1224, 1229, 8 Cal.Rptr.2d 293; Key v. McCabe (1960) 54 Cal.2d 736, 738, 8 Cal.Rptr. 425, 356 P.2d 169.) When combined with the foregoing principle this means that an appellant who challenges a factual determination in the trial courta jury verdict, or a finding by the judge in a nonjury trialmust marshal all of the record evidence relevant to the point in question and affirmatively demonstrate its insufficiency to sustain the challenged finding. (Huong Que, Inc. v. Luu (2007) 150 Cal.App.4th 400, 409, 58 Cal. Rptr.3d 527.)
Third, even if error is demonstrated it will rarely warrant reversal unless it appears "reasonably probable that a result more favorable to the appealing party would have been reached in the absence of the error." (People v. Watson (1956) 46 Cal.2d 818, 836, 299 P.2d 243; see Cal. Const., art. 6, § 13.) This means the appellant must show not only that error occurred but that it is likely to have affected the outcome.
Yield contends that the first two principles are at least partially inapplicable here, and that we should review the entire judgment de novo, i.e., without deference to the trial court's judgment, for three reasons: (1) "the principal errors are ones of law," (2) the trial court's issuance of a statement of decision limits appellate deference to those matters expressly found in the statement, and (3) the evidence on some issues was "undisputed."
It is of course true that we will not defer to a trial court's determination on a question of law. (JKH Enterprises, Inc. v. Department of Industrial Relations (2006) 142 Cal.App.4th 1046, 1058, 48 Cal.Rptr.3d 563; San Bernardino Valley Audubon Society v. City of Moreno Valley (1996) 44 Cal.App.4th 593, 600, 51 Cal.Rptr.2d 897.) As will appear, however, Yield's claims of legal error depend on insupportable readings of the record which disperse like a veil of smoke when exposed to the breeze of logical scrutiny. Nor does the presence of "undisputed" facts open the case to wholesale de novo review. It is a rare case in which all facts are disputed. The relevance of "undisputed facts" depends entirely on the context in which they are considered. Their presence does not automatically exempt an entire case from the principles noted above. If it did, those principles would rarely if ever apply.
This leaves us with Yield's claim that deficiencies in the trial court's statement of decision preclude indulging inferences in favor of the judgment on issues not affirmatively resolved by the trial court. This argument invokes the statutory rule that where a request for a statement of decision properly specifies an issue for resolution by the court, and the court fails after objection to address that issue in the statement of decision, a reviewing court "shall not ... infer [ ] on appeal ... that the trial court decided in favor of the prevailing party as to those facts or on that issue." (Code Civ. Proc, § 634 (§ 634).) Operation of this rule, however, is conditioned on (1) an initial request that adequately "specif[ies]" the "principal controverted issues" *13 as to which the requesting party seeks a statement of decision (Code Civ. Proc, § 632 (§ 632)); (2) a failure by the statement to "resolve" the "controverted issue" thus specified, or an ambiguity in its resolution (§ 634); and (3) a record showing that "the omission or ambiguity was brought to the attention of the trial court" (ibid.).
Here it is doubtful that any of these conditions is present. Yield's request for a statement of decision posed 32 questions. Many of them are queries on purely legal issues, e.g., "The legal test the court used to determine which elements [Yield] was required to prove...." Most of the rest are intolerably compound, argumentative, tendentious, or vague, reading more like interrogatories of the "when did you stop beating your wife" variety than like specifications of principal controverted issues as to which an express ruling is sought. For example, the request asked, "Given the testimony of Jonathan Buckheit and Terrence Zavecz ..., whether the Court found, as part of its determination that there were no trade secrets, that the contents of any source code at issue was [sic] generally known, and if so, which facts support that finding[.]" While the first part of this-question is presented in a form calling for a yes or no answer, it obviously cannot be adequately answered in that manner; indeed it must be deciphered, and the translated version set out, before any meaningful answer can be given. The second part of the question, demanding "which facts support that finding," is wholly beyond the scope of the statutory procedure and warranted no response at all.
We do not suppose perfection can fairly be required in the framing of a request for a statement of decision, but neither do we suppose that a trial judge can be required to sift through a host of improper specifications in search of the few arguably proper ones. A party cannot be prevented from using the request as a way of arguing with the court rather than clarifying the grounds of its decision. But neither should a party who makes that choice be entitled to rely on the resulting document to insulate the judgment from the presumption of correctness.
Here only three of the 32 questions approximate non-argumentative specifications of factual issues.[10] It is doubtful that even these three raised "principal controverted issues." (§ 632, italics added.) While we have found no existing definition of that phrase, it is settled that the trial court need not, in a statement to decision, "address all the legal and factual issues raised by the parties." (Muzquiz v. City of Emeryville (2000) 79 Cal.App.4th 1106, 1124-1125, 94 Cal.Rptr.2d 579.) It "is required only to set out ultimate findings rather than evidentiary ones." (Ibid.) "`[U]timate fact [ ]'" is a slippery term, but in general it refers to a core fact, such as an element of a claim or defense, without which the claim or defense must fail. (See Black's Law Dictionary (8th ed.2004), p. 629, italics in original ["A fact essential to the claim or the defense.Also termed elemental fact; principal fact."].) It is distinguished conceptually from "evidentiary facts" and "conclusions of law." (See 4 Witkin, Cal. Procedure (4th ed. 1997) Pleading, § 339, pp. 436-437.)
The statement of decision here, while going well beyond a recital of the ultimate facts found by the court, clearly *14 disclosed that it had decided the trade secret claim, for instance, based on its determination that Yield had failed to establish two facts essential to its claim: that the information identified by Yield as trade secrets possessed independent economic value, and that defendant's use of that information injured Yield or otherwise gave rise to grounds for relief. Since the statement adequately disclosed the court's determination on these ultimate facts, it was sufficient as to that cause of action and the rule against inferences favorable to the judgment cannot come into play. A similar analysis applies to the other causes of action; at least, Yield makes no attempt to show otherwise.
Finally, even if the proposed statement of decision had failed to adequately address some principal controverted issues as to which Yield had requested a statement, the modified standard of review invoked by Yield would come into play only if "the omission or ambiguity [had been] brought to the attention of the trial court...." (§ 634.) Yield's objections to the proposed statement of decision failed entirely to perform this function. They may be broadly summarized as (1) requests to correct or clarify recitals concerning the procedural history of the case, including the contentions of the parties; (2) challenges to certain recitals on grounds that they were mutually inconsistent; (3) attacks on legal premises that Yield considered implicit in the statement of decision; (4) claims that certain recitals were irrelevant; (5) assertions that recitals were unsupported by evidence; (6) further interrogatories into the details of the court's reasoning process; (7) claims of inconsistency with the court's "tentative decision"; (8) assertions of new questions of evidentiary fact (i.e., not specified in the original request); and (9) assertions of at least one issue that appears not to have been raised during trial, though it was alleged in the complaint. Nowhere did Yield point to a principal controverted issue that was set forth in the request for statement of decision and that the trial court had left unresolved, or resolved ambiguously, in the proposed statement of decision. After defendants nonetheless submitted an amended proposed statement of decision, Yield filed "renewed" objections which were, literally, more of the samethe number of objections had grown to 34 and the length of the document had grown by 2 pages, to 14. Still, not a single objection conformed to the manifest purpose and effect of sections 632 and 634.
Given this history we emphatically reject any suggestion that the standard of review is affected by supposed deficiencies in the statement of decision. None of the statutory conditions for a modified standard of review is present. We will therefore apply the principles first noted above.

II. Misappropriation of Trade Secret


A. Independent Economic Value


1. Background
Yield's first cause of action boiled down at trial largely to the premise that Zavecz tortiously misappropriated eight segments of source code that he had sold to Yield.[11] The segments, variously referred to as import functions, routines, or procedures, effected or facilitated the importation of metrology data into the program in which *15 they were used.[12] The misappropriation consisted of defendants' supposed copying of those segments in their Weir product.
The trial court rejected this claim primarily on the ground that Yield had failed to establish that the eight routines possessed the independent value necessary to constitute a trade secret. By statutory definition, a trade secret is information that "[d]erives independent economic value, actual or potential, from not being generally known to the public or to other persons who can obtain economic value from its disclosure or use...." (Civ.Code, § 3426.1, subd. (d)(1).) The court found "no credible evidence" that the eight procedures at issue satisfied this test. It provided a lengthy recital of pertinent evidenceor more precisely, lack of evidenceon this subject.[13]
Yield attacks this ruling on two broad grounds: that the trial court misconceived the law governing what constitutes "independent economic value," and that the record contains ample evidence of such value, some of it acknowledged in the statement of decision. Neither ground withstands scrutiny.

2. Errors of Law
As noted above, Yield contends that the trial court was laboring under numerous misconceptions of the governing law, as supposedly reflected in its statement of decision. Yield's arguments on this point all follow the same unsound pattern. First it culls out a statement by the trial court to *16 the effect that Yield failed to prove a specified fact. From this Yield extracts the proposition that the trial court considered the identified fact to be an invariable prerequisite to finding a trade secret. Yield then asserts that the identified fact is not necessary to such a finding. From this it concludes that the court erred on a question of law. The error, of course, is in the second step: the court's observation that Yield failed to prove fact X does not justify a supposition that the court considered X an invariable prerequisite for a finding of independent economic value.
For example, the trial court noted Yield's failure to show that the routines at issue "involved any new or innovative advances in software programming." Yield assumes that this reflects a belief by the trial court that "a trade secret must be `unique' or `novel' in order to be protected." We join Yield in doubting that California law imposes any such categorical requirement. (See Rest.3d, Unfair Competition, § 39, com. f, p. 431 ["Although trade secret cases sometimes announce a `novelty' requirement, the requirement is synonymous with the concepts of secrecy and value as described in this Section and the correlative exclusion of self-evident variants of the known art."]; cf. O'Grady v. Superior Court (2006) 139 Cal.App.4th 1423, 1477, 44 Cal.Rptr.3d 72, quoting DVD Copy Control Association v. Bunner (2003) 31 Cal.4th 864, 878, 4 Cal.Rptr.3d 69, 75 P.3d 1 [Supreme Court "declared the primary purposes of California trade secret law to be `to promote and reward innovation and technological development and maintain commercial ethics'"].)
However, the record provides no foundation for the supposition that the trial court held the view thus imputed to it. In alluding to the absence of "new or innovative advances," the court appeared not to be applying some categorical rule of law but striving to flesh out its conclusion that Yield had failed to establish the requisite independent economic value. This was a subsidiary element of Yield's prima facie case, and Yield therefore bore the burden of proving it. (See Sargent Fletcher, Inc. v. Able Corp. (2003) 110 Cal.App.4th 1658, 1668, 3 Cal.Rptr.3d 279.) The trial court was attempting to explain its determination that Yield had not carried this burden, which placed it in the awkward position of substantiating a negative. This it undertook to do by identifying ways in which Yield might have, but had not, proven its claim. So viewed there is nothing about the trial court's statements that suggests reliance on erroneous legal principles.
Similarly, Yield seizes upon the court's statement that the procedures in question "did not perform any of the applications which make these programs commercially attractive." Yield's expert Smith had testified on cross-examination that users buy programs for their "applications," meaning "[w]hat the user is going to use it for...." Yield does not deny that the eight allegedly purloined routines were subsidiary to the ultimate function (application) for which a customer would purchase the software products involved here.[14] Rather Yield denounces the quoted recital as irrelevant because the routines did not have to constitute the heart (or "engine") of Yield's software to constitute trade secrets. Again we have no quarrel with the legal premise, but again the record fails to show *17 that the court believed the allegedly copied routines could possess value only if they provided the same "application" as Yield's products. Rather the court recognized that another way Yield might have proven the requisite element was to show that the routines were intrinsically valuable to the end user. The court's acknowledgment of Yield's failure to establish value by this means does not betray any misapprehension about the governing law.
In a similar vein, Yield writes that the court erroneously supposed "that the information at issue could not be a trade secret because Defendant Zavecz had experience in the industry and the people testifying about value did not have extensive information [sic] in the industry.... [A]s a matter of law, the status of potential defendants cannot define independent economic value." Assuming that a valid legal premise inheres somewhere in this statement, we see no basis for Yield's interpretation of the statements alluded to. The court did not suggest that Zavecz's experience categorically deprived the routines of value. The gist of its comments about experience was that anyone with comparable experience could have written the routines, perhaps quite easilyor more precisely, that Yield had failed to show otherwise. The reference to the lack of relevant experience on the part of Yield's programmer witnesses apparently reflects doubts about the weight to which their testimony was entitled, not some mistaken notion about the effect of a misappropriator's expertise.

3. "Findings" Contrary to Judgment
Yield also contends that the statement of decision "recites sufficient findings to support economic value." The argument appears to proceed as follows: (1) The court wrote that the eight routines "would provide `some help' to a programmer in creating new routines or a similar function or save time in programming"; (2) such a finding is "alone sufficient for a finding of independent economic value"; (3) therefore the court erred by finding that there was no evidence of value.
Every step in this argument is flawed. The first premise is a classic example of quoting out of context. The court did not write that the routines would in fact provide "some help." That phrase appears as follows: "The testimony on this point from Elena Dehtyar (who was a percipient witness and not an expert) was that the source code procedures in question would provide `some help' to a program[m]er in creating new routines or a similar function or save time in programming: Ms. Dehtyar was unfamiliar with the formatting of the data produced by the metrology devices in question. As a result, she used [Yield]'s source code to assist her in formatting the data. The data formats are not trade secrets of [Yield] as they are the result of the particular vendor's design of their product. There was no credible evidence that creating import functions to import data formats that have been and continue to be available to any one purchasing the vendor's products is a trade secret." This language does not constitute a finding that the routines were helpful, but an acknowledgment of testimony to that effect and an explanation of why the court found that testimony insufficient to establish the requisite value. The court was pointing out holes in Yield's case, not making "findings" in its favor.
Second, it is not true that evidence of "some" helpfulness or usefulness, if credited, would compel a finding of independent economic value. The Restatement defines a trade secret as business or technical information "that is sufficiently valuable and secret to afford an actual or potential economic advantage over others." *18 (Rest.3d, Unfair Competition, § 39.) The advantage "need not be great," but must be "more than trivial." (Rest.3d, Unfair Competition, § 39, com. e, p. 430.) Merely stating that information was helpful or useful to another person in carrying out a specific activity, or that information of that type may save someone time, does not compel a factfinder to conclude that the particular information at issue was "sufficiently valuable ... to afford an ... economic advantage over others." (Rest.3d, Unfair Competition, § 39.) The factfinder is entitled to expect evidence from which it can form some solid sense of how useful the information is, e.g., how much time, money, or labor it would save, or at least that these savings would be "more than trivial." (Rest.3d., Unfair Competition, § 39, com. e.) Here the court's decision plainly rested on the absence of such evidence, e.g., "the length of time that it would take a program[m]er familiar with metrology devices and experienced in the lithography industry to create such functions."
Third, the trial court did not, as Yield asserts, find that there was "no evidence of independent economic value." The court actually found "[n]o credible evidence showing that the information in question had an independent economic value." (Italics added.) There is of course a difference. By ignoring it, Yield seeks to sidle around the question whether the court was entitled to find that Yield's evidence lacked sufficient probative value to carry its burden. Without addressing that question, it cannot possibly demonstrate error in the judgment actually rendered.

4. Evidence Contrary to Judgment
Yield asserts that the record contains other evidence, not acknowledged in the statement of decision, supporting a finding of independent economic value. Of course this proposition by itself cannot establish reversible error. As pointed out above (see pt. I, ante), the trial court's resolution of factual issues will generally survive appellate review so long as substantial evidence supports it. The presence of evidence supporting contrary inferences is at best remotely pertinent. Yield asserts that the court "disregarded" evidence supporting a finding of value, but we see no basis whatever for this assertion. Perhaps it rests on the trial court's failure to refer in its statement of decision to all of the facts Yield now cites. But the court was not required to mention every arguably pertinent item of evidence before it, let alone explain in minute detail its view of each item. So far as the record shows, the court listened attentively to all of the testimonyoften questioning witnesses or seeking clarification from counseland carefully weighed and considered everything before it in reaching a decision.
Yield asserts that "[a]s a matter of law, th[e] evidence supports a legal determination of trade secrecy." (Italics added.) If the phrase "as a matter of law" means anything in the present context, it is that the evidence was so overwhelmingly onesided that no reasonable factfinder could find against the complaining party. (See Grisham v. Philip Morris U.S.A., Inc. (2007) 40 Cal.4th 623, 637, 54 Cal.Rptr.3d 735,151 P.3d 1151, quoting Boeken v. Philip Morris, Inc. (2005) 127 Cal.App.4th 1640, 1666, 26 Cal.Rptr.3d 638 [reasonableness of reliance on defendants' statements "`may be decided as a matter of law only if the facts permit reasonable minds to come to just one conclusion'"].) But while Yield cites a long list of facts that might support a finding of reasonable value, it points to, and we have found, no evidence that would compel a reasonable factfinder to reach such a finding. The trial court was entitled to find each of the cited facts equivocal, *19 vague, or otherwise lacking in probative force.
Thus Yield asserts than an inference of independent economic value arises from the parties' own conduct, starting with the fact that Yield maintained these routines in confidence, and toward that end entered into non-disclosure agreements with Zavecz and other employees. But Yield's protection of its code from general disclosure could hardly show that the eight routines at issue possessed independent economic value. Apparently it kept all of its code confidential, even though some of it came from outside sources, including public ones.[15]
A company thus mixing original and potentially valuable information with public or otherwise less valuable information will have an obvious incentive to err on the side of nondisclosure, since there is generally no risk in that course, and certainly none sufficient to counterbalance the obvious risks of allowing truly valuable information to be freely disclosed. A decision to view information as confidential thus reflects at most an opinion that secrecy may be advantageous. The question here was whether the fragments of Yield code claimed to have been used by Zavecz in writing his own later programs were in fact valuable by virtue of their secrecy or whether Yield merely treated them as confidential because of a blanket policy of nondisclosure. Nothing in the record compelled the trial court to adopt the former view in preference to the latter.
Yield cites evidence that (1) programs such as Weir would not work without import routines; (2) import routines can be difficult to write and present multiple design alternatives; (3) by memorizing or saving previously written code, a programmer can save time in programming and testing; (4) the comments accompanying executable source code can themselves be valuable to programmers trying to implement similar routines; and (5) the routines at issue were written over a period of years and had been tested and modified to correct for errors.
The first four of these assertions are, and rest on, nothing more than vague generalities. That most or all programs require import functions does not mean that the secrecy of a specific import function has independent economic value. Airplanes need wings to fly, but that does not mean that all wing designs have independent economic value. Most of Yield's evidence on this point amounts to nothing more than the seemingly self-evident fact that if someone has already written a routine to perform a given function, access to that code may be of some use to another programmer who wants to include a similar *20 function in his own software. This does not mean that the advantage in any particular case is "more than trivial." (Rest.3d, Unfair Competition, § 39, com. e, p. 430.) Indeed it is only one side of the equation. For the code to actually be valuable, its advantages must outweigh its disadvantages, and this net advantage must be more than trivial.
One question of seemingly obvious relevance to this calculus is, how good is the code in question, meaning not only how well if performs the attempted functions a point not at issue herebut how readily adaptable it is to use by other programmers in other contexts. Here the only evidence on this point appears to have been testimony by Yield's expert Smith that the routines at issue did not rise to the quality of code that has been designed for use by others, or in multiple contexts: "Often when you write code that other people will use, you have to make it of higher quality. The choices you make have to make sure that it is very robust and very solid and will work in the future and it's well documented. Mr. Zavecz's code does not qualify for that." This testimony supported a general inference that there are potential disadvantages in using other people's code, and that the extent of any positive advantage it affords may vary with its robustness in contexts other than the one for which it was designed, and its comprehensibility to other programmers. Smith found the code at issue here lacking in both respects.
Moreover, it seems inherent in the requirement of value, as codified, that it is relevant to ask to whom the information may be valuable. The statute does not speak of value in the abstract, but of the value that is "[d]eriv[ed] ... from not being generally known to the public or to other persons who can obtain economic value from its disclosure or use...." (Civ. Code, § 3426.1, subd. (d)(1), italics added.) In other words, the core inquiry is the value to the owner in keeping the information secret from persons who could exploit it to the relative disadvantage of the original owner. Smith's testimony supported an affirmative inference that the routines here had no value to anyone but the parties. It was valuable to Yield as part of a larger body of code it sought to incorporate in its products. It was valuable to Zavecz, if at all, because as its author he could understand it. In view of Smith's testimony, it is questionable whether the code had any potential value to anyone else. It follows that Yield needed to establish a more-than-trivial value in keeping the code from Zavecz. This required not only an advantage to Zavecz in using it but an advantage to Yield in keeping him from doing so. Such an inference would be supported by evidence that TEA or its products competed with Yield or its products. Yield failed to satisfy the trial court on this question. Further, since Zavecz was presumptively very familiar with the routines, having authored them, the value in withholding them from him was diminished by the probability that he could recreate them, or their equivalents, from his own knowledge and expertise.
To be sure, Smith testified that there is "[t]remendous value in some cases" in knowing "that your source code [has been] debugged and works." But when asked to quantify this value with respect to one of the routines here, he said, "It would depend tremendously on the exact person involved." The value would be less to a more experienced programmer, but "there would still be some value."[16] He further *21 acknowledged that when an existing block of code is incorporated into a new program written in a different language, it will still have to be debugged, though prior debugging may afford "a substantial benefit." Again, the testimony is striking for its vagueness, particularly given the centrality of this issue to the trade secret claim.
Yield cites the testimony of its employee Dehtyar that she found the eight procedures helpful in performing certain of her duties. She testified first that she worked on a project to convert the OASnt program from its original RPL source code to the C programming language. When asked whether it was "helpful to have the RPL code to write a similar C ... function," she replied, "Yes, basically we had to do exactly what [the] RPL code does." She testified that the team of which she was a member "had to go through the RPL code to build flow charts and understand it." The source code was "helpful in creating this flow chart."
As relevant to the question of value, this testimony is the equivalent of a statement that the original text of Hamlet's soliloquy is "helpful" to someone writing a new French edition of the play. Indeed a similar analogy was drawn by Yield's expert Smith in discussing the proposition that defendant Zavecz had made a "straight translation" of the subject routines "from RPL into Visual Basic." He agreed that this would resemble translation from French into English: "You would take the French and translate it into English and type it exactly the same." Leaving aside the oxymoron of a French translation "type[d] ... exactly the same" as the English original, this testimony confirms the impossibility of making such a conversion without the original.[17] This in turn limits the probative value of Dehtyar's testimony that the original source code was "helpful" in the conversion to C. It was not merely "helpful"; it was self-evidently indispensable, in the same way that if an employer instructs an employee to paint a car, the car becomes indispensable (and thus "helpful") in the employee's work. The usefulness inheres in the nature of the assignment, not the worth of the car.
Ms. Dehtyar was later involved in a project to "integrate] MAPA into En-Tune," Yield's subsequent product. In the course of that assignment she again essentially copied one of the import routines. As direct evidence of value this testimony suffers from the same flaw as the one just noted, i.e., it appears to reflect nothing more than the self-evident proposition that a thing on which an employee has been instructed to carry out some action is "helpful" to that employee in complying with that instruction. Dehtyar also testified to the effect that she could not have written such an import routine, if called upon to do so, because she "didn't know how to process" files of the type being imported, and that the files required additional processing of a type not apparent from looking at the files alone. But as the trial court recognized, Ms. Dehtyar appeared *22 to lack relevant programming experience. A novice having no idea how to change the oil on his jalopy might find it helpful to consult the relevant section of a secret manual for a custom luxury car; but this would not establish that the information he usedinstructions on how to change oilpossessed independent economic value. There was no evidence tending to show how difficult it would have been for Dehtyar or another programmer to discover the relevant information had the source code not been available. Dehtyar was never asked to say more than that the code she converted, and then "integrat[ed]," was helpful to her.
Yield asserts that the eight routines made up a substantial part of TEA's Weir program. We assume for present purposes that if a large part of defendants' programs were composed of Yield's source code, that fact might indeed support an inference of independent economic value. But while Yield asserts that it "presented evidence of the relative amount of the Weir program that was copied from or relied on [Yield's] source code," no such showing was actually made. Yield asserted that "the copied code was approximately fifty pages of source code." But saying that X number of pages (or lines or bytes) were copied is meaningless without some frame of comparison, e.g., what proportion this was of the entire Weir source code. Yield's claim is like saying a fish must be big if it is 30 inches in length. Thirty inches makes for a sizable catch in a Montana trout stream, but it is a veritable minnow on a marlin boat off Cabo San Lucas. Without a comparative context, such a characterization cannot be tested and need not be credited. It is a numerator without a denominator.
Nor did Yield's expert Smith establish "the relative amount of the Weir program that was copied from or relied on [Yield's] source code." He calculated that the functions he identified took up, by line count, some 9.4 percent of a file named import.bas. He identified a second class of functions, taking up about 20 percent of that file, that he would not say were copied from Yield's code, but that contained a characteristic that he took to mean they were somehow derived from it.[18] A third group of functions, taking up about 48 percent of the import.bas file, did not contain evidence of copying but "use[d]" the first group of functions "for proper functioning."
This methodology, if accepted, would establish that about 80 percent of the import.bas file consisted of code taken from or using Yield's code. But the trial court was not obliged to accept this approach. The rationale for including the second category of code was obscure at best and opaque at worst, and the inclusion of the third categorycode that "used" the eight assertedly purloined routineswas not self-evidently sound. A defendant might steal the plaintiffs design for a distributor cap and use it in building his automobile. The entire automobile may be said to "use" the distributor cap to accomplish its essential function, which is to move. This does not mean that the entire automobile is in any reasonable sense derived from or dependent upon the purloined design.
Smith's analysis suffers from a more fundamental deficiency, which is that it never purports to say what proportion of defendant's program was composed of, or relied upon, the eight routines at issue. *23 He opined only upon the prevalence of those routines in a single file. In an possible attempt to deflect the obvious objection to this approach, Smith declared that the file, "[i]mport.bas," was "by far the largest Basic file in the WeirAnalysis source." But this statement too omits crucial data: How many files made up the Weir source code, and more importantly, what was the aggregate size of the files and what proportion of that number did the eight routines constitute? Smith acknowledged that he did not know what percentage import.bas made up of the total Weir program, nor how many files there were in that program. Asked if there were thousands, he said, "I don't think so, but I would hate to say." He seemed to testify that he had examined 373 files in an attempt to "identify all of the subroutines and functions in the Basic files, but only those ending in dot bas, to find all of the functions in them...." It is possible that this number actually referred to functions, not files. The fact remains that these questions were never satisfactorily answered by Yield. There was simply no basis for the trial court to find, by any quantitative measure, how pervasive these functions were in defendants' software.
This weakness in Yield's case was an explicit subject of challenge throughout trial. Early on, in arguing that Yield would be unable to establish that defendants had been unjustly enriched, defense counsel said, "[W]hen you look at Mr. Zavecz's programs, less than one percent, a fraction of one percent, is at issue." Some days later he said to the court that Yield's attorney "has not told you, and I think that's intentional, what percentage of the total Weir PSFM product ... comprises the allegedly stolen code. It is less than one percent. His expert, Mr. Smith, when asked in his deposition, do you have any information as to the total percentage the allegedly stolen code represents to the entire product, his answer was no." (Italics added.) Counsel for Yield later said, "[W]e disagree that it was only one percent of the code." At no time, however, did he rise to his adversary's explicit challenge to specify what proportion of the entire Weir program was taken up by the eight routines. Instead he offered vague promises and assertions, such as, "[O]ur expert is going to give different testimony about the percentages," and, "Mr. Smith will testify that the import dot bas file is actually the largest file in . .. the entire package and I think accounts for a good portion of the entire source code." (Italics added.) That the only concrete evidence on the crucial points was elicited in cross-examination was a strong indication of Yield's inability to dispute counsel's assertion and amply justified an inference that a full and accurate picture would reveal that these routines played only a minute role in the overall Weir program.
The learned trial judge was not obliged to blind himself to these telling omissions. Nor are we. That court was entitled to reject Yield's evidence of value as unpersuasive, as do we, in the absence of persuasive testimony from a qualified witness that the particular routines at issue were so distinctly advantageous to a competitor that their secrecy was itself economically valuable to Yield. Vague allusions to helpfulness in contexts of doubtful materiality might support a finding of independent economic value, but certainly could not compel such a finding. Even less availing were undemonstrated claims that the allegedly misappropriated code played a pervasive role in defendants' programs.

B. Unjust Enrichment and Royalties

As an alternative basis for a defense judgment on the first cause of action, the trial court found that Yield failed to establish any basis for monetary relief on *24 the trade secret claim, having presented "no evidence of any damages," "no evidence regarding what a reasonable royalty might be," and "no evidence of unjust enrichment." Yield's attack on these findings follows the pattern previously noted. Without pointing to any unequivocal evidence tending to impeach the judgment, it simply repeats on appeal the contentions the trial court rightly found unpersuasive. That the court was correct follows from Yield's failure, discussed above, to establish what proportion of the Weir code was made up by the eight routines at issue. Without that information there was no apparent basis to determine either the extent of any "enrichment" attributable to that code nor the basis for any royalty payment. Yield tacitly concedes that the alleged misappropriation caused it no actual damages. We can see no error in the court's treatment of this issue.

III. Breach of Contract


A. Overview

As argued in Yield's brief, its second and third causes of action for breach of contract rest on the following theories: (1) defendants Zavecz and TEA breached the asset purchase agreement by failing to deliver the promised code and all associated rights; (2) they breached the non-competition agreement by "developing and selling competing products within the time they had agreed not to"; (3) by developing and selling Weir for his own account, Zavecz violated an agreement that all inventions by him during his employment would belong to Yield; (4) by failing to disclose that product to Yield he breached a contractual obligation to do so; and (5) his retention and use of Yield's source code violated a contractual undertaking to preserve the confidentiality of Yield's confidential" information.
The trial court found that "defendants substantially performed all their obligations under the contracts in question and did not engage in any material breach of contract." Yield pounces upon the qualifiers "substantially" and "material," arguing that substantial performance is not a defense to a breach of contract claim. While the court's use of these qualifiers may be regrettable, it is hardly fatal. The court went on to recite facts and findings tending to establish that no breach occurred, substantial or otherwise. In addition, referring to all of the alleged breaches of contract, the court found that Yield "did not prove that it sustained any economic damages as a result of [any] act or omission of defendants." Yield contests this finding as to some causes of action but overlooks or ignores it as to others.

B. Asset Transfer Agreement

Yield argues that Zavecz committed an "undisputed" breach of the asset transfer agreement when he "failed to provide three source code files for OASnt." As Yield concedes in the ensuing sentence, Zavecz did provide those files, though Yield claimed that he did so tardily, causing delays in the conversion of OASnt into the C language. This is not a self-evident breach of contract. The contract did not specify a time for delivery. In such a case, a reasonable time will be inferred.[19]*25 Yield's argument tacitly assumes that a week's delay in delivery was unreasonable and thus a breach. An argument resting on an undemonstrated premise cannot establish a basis for reversal. Nor did Yield establish any concrete damages flowing from this conduct.
Next Yield focuses on certain code known as the KLA code, which had apparently been used in, or derived from, certain software products on which Zavecz worked before entering into the asset agreement with Yield. Yield asserts that the presence of this code in the conveyed products breached an express warranty in the asset agreement that Zavecz owned or could convey a license to use all of the code conveyed. But so far as we can discern, Yield never identified any concrete injury associated with this conduct. It asserts that its principal Buckheit would never have entered the asset agreement had he known about this code, but this suggests a claim for rescission based on mistake or fraud in the inducement, a remedy Yield never requested. It might also suggest a claim for damages for detrimental reliance, but no attempt was made to quantify such a claim, if indeed such a claim was communicated to the trial court at all. Indeed Yield all but concedes the absence of damages with respect to the alleged breaches of the asset agreement, arguing instead, in a very cursory manner, that it was entitled to specific performance, nominal damages, or both. It fails to persuade us that it was entitled to either.

B. Non-Competition Agreement

With respect to the non-competition agreement, the court appeared to find that defendants' later product Weir did not compete with Yield's products. Yield does not address this proposition directly until well into its reply brief, where it cites what it calls "substantial evidence that Weir competed not only with FPAex but with other products of [Yield]." Five pages of the appendix are cited, but not discussed, in support of this claim. These materials, which appear to describe the Weir product, are nearly meaningless without accompanying expert testimony. Certainly they do not on their face establish error. The question of competition involves several subsidiary issues, such as whether Weir's functions overlapped those of any of the original TEA products other than FPAex, which Yield conceded it had stopped selling in 2001. We will not attempt to weave our way through these minutiae, because on its face Yield's appellate showing is insufficient to establish error.
Yield asserts that even if it had stopped selling its FPAex product before defendants made any efforts to sell Weir, Yield was "entitled to the benefit of its bargain, namely Zavecz's revenues for a period equal to his head start, as well as an injunction barring sales activities for a period of time." (Fn. omitted.) Neither authority nor legal argument is offered in support of this assertion, and the only record citation is a to a single page apparently reflecting some of defendants' gross revenues. We will not undertake what we are confident would be a vain search through this labyrinth of possibilities to see whether one of them leads to reversible *26 error. That was Yield's burden, which it has failed to carry.

C. Invention and Disclosure Agreement

Yield argues that Zavecz breached the "Inventions Agreement," under which he was obligated to assign to Yield any inventions made while he was employed by Yield. Yield cites the agreement's provision that inventions conceived within one year after the termination of employment are rebuttably presumed to have been conceived during employment. Yield also cites the requirement that Zavecz "disclose and describe" any inventions.
Yield's challenge to this portion of the judgment appears to rest in pertinent part on the premise that Zavecz conceived of his Weir program within one year after the termination of his employment with Yield, but failed to disclose or assign it to Yield. A key part of the evidence on which Yield relies, however, is an email message in which, by its own description, Zavecz "presented the idea to [Yield] management." This would appear to preclude any claim for failure to disclose new inventions, since by Yield's own account, Zavecz did disclose it, or at least what Yield claims was the germ of it. The claim must therefore rest on his failure to assign the idea in question. We are directed to no evidence that Yield made any timely demand upon him to do so before he had developed it, on his own time, and well after termination of his employment, into a marketable product. We see no reason to question the trial court's determination that Yavecz's conduct in this regard did not constitute a breach of contract.

D. Confidentiality Agreement

Yield contends that whether or not the code used by Zavecz constituted a trade secret, it was confidential information under his agreement with Yield to maintain the confidence of such information. We fail to see how Zavecz's putative retention of code he himself wrote could constitute a breach of confidence. We are directed to no evidence that he disclosed the code to third parties. We need not delve far into the question, however, because even if a breach was shown, damages were not.

IV. Fraud

As set forth in the complaint, Yield's fraud claim rested on the allegation that defendants Zavecz and TEA "induced the execution of the Asset Agreement fraudulently" in that, at the time they entered into it, they "had no intention ... to fulfill their obligations under its terms." This indeed describes a kind of fraud, for while fraud requires the intentional misrepresentation of a fact, the speaker's intention may constitute a fact for this purpose. (5 Witkin, Summary of Cal. Law (10th ed. 2005) Torts, § 781, p. 1131.) Promissory fraud thus consists of making a promise without the present intention to perform it, i.e., misrepresenting the speaker's then-present intentions. (Ibid.) In order to prevail on such a claim, Yield had to introduce evidence sufficient to persuade the trial court that at the time defendants entered into the asset transfer agreement, they lacked the intention to perform their undertakings. (See id. at p. 1132 ["A declaration of intention, although in the nature of a promise, made in good faith, without intention to deceive, and in the honest expectation that it will be fulfilled, does not constitute fraud, even though it is not carried out"].)
The trial court expressly found that Yield failed to carry this burden: "The court does not find persuasive evidence that defendants represented that important facts were true, when they were false *27 in fact, that defendants knew the representation was false or that they made the representations recklessly and without regard for the truth, or that defendants intended that plaintiff rely on representations." The court found a failure of proof on every other element of the tort as well.
In response Yield simply restates its arguments concerning Zavecz's supposedly wrongful failure to deliver the KLA code and the Limet code. This argument is insufficient on its face to show any error in the court's ruling. Mere nonperformance of a promise does not establish that the promise was fraudulent when made. Nor did Yield establish the damage element of the claim. In argument to the trial court, Yield's counsel acknowledged that it was "difficult to say what the damages are"-on this claim, suggesting that "at least nominal damages" should be awarded. On appeal Yield again alludes to nominal damages, also contending that it was damaged by the costs it incurred, i.e., sums paid to defendants, under the asset purchase agreement. No authority is cited for allowing nominal damages on a tort claim, and no coherent basis is supplied for disturbing the trial court's factual findings that Yield failed to prove injury.

V. Unfair Competition

As stated in its complaint, Yield's claim for unfair competition under Business and Professions Code sections 17200 et sequitur rested on Zavecz's alleged presentation of Yield "screenshots" as his own products at a 2003 trade conference. In its initial ruling on defendants' motion for judgment, which was incorporated in its statement of decision, the trial court found that this cause of action failed because Yield "has not shown that any business act or practice of defendants, whether unlawful, fraudulent, or unfair was a cause of any injury or damage to [it]." In the statement of decision itself, the court further found that Yield "submitted no evidence that defendants were attempting to `pawn off any [of] [Yield's] products as being sold or manufactured by defendants," that at the time in question Yield no longer sold the product depicted, and that there was "no evidence that any customer was confused or was likely to be confused by the screen shots...."
On appeal Yield asserts that it also pursued relief under this cause of action for defendant's alleged misappropriation of its trade secrets. The complaint contains an allegation that "Defendants has [sic] also claimed as its [sic] proprietary technology functions that Plaintiff is informed and believe [sic] were part of the misappropriated trade secrets." Yield's trial brief also alludes to trade secret violations in this context. Apart from that we see no indication that this theory was actually pursued at trial. In any event, we have elsewhere disposed of the trade secret claim, and so are left with the theory addressed by the trial court, which is the presentation of Yield's "screen shots." To sustain the judgment we need look no further than the court's finding that the evidence provided no basis for a damage award. Yield disregards that explicit finding entirely. It is dispositive.

VI. Attorney Fees


A. Introduction

After the court issued its proposed decision, defendants Zavecz, TEA, and Sub-Lambda moved for attorney fees. Although the motion did not specify a dollar amount, it proposed a fee based on 560.35 hours (as of the filing of the motion) at an hourly rate of $350, with a multiplier of 1.5, which would yield a total of $294,183.75. At the argument on the motion this was adjusted slightly to yield a total request of $291,375. The trial court *28 allowed a fee of $175,000. Using undisclosed arithmetic, Yield asserts that the trial court "awarded nearly all fees requested by Defendants...." It contends that this order was erroneous in numerous respects. The argument shares many of the vices of Yield's arguments on the merits, and fares no better.
A request for an award of attorney fees is entrusted to the trial court's discretion and will not be overturned in the absence of a manifest abuse of discretion, a prejudicial error of law, or necessary findings not supported by substantial evidence. (See PLCM Group v. Drexler (2000) 22 Cal.4th 1084, 1095, 95 Cal. Rptr.2d 198, 997 P.2d 511; Honey Baked Hams, Inc. v. Dickens (1995) 37 Cal. App.4th 421, 424, 43 Cal.Rptr.2d 595, disapproved on another point in Santisas v. Goodin (1998) 17 Cal.4th 599, 614, fn. 8, 71 Cal.Rptr.2d 830, 951 P.2d 399; Acree v. General Motors Acceptance Corp. (2001) 92 Cal.App.4th 385, 403, 112 Cal.Rptr.2d 99.) Where fees are claimed under a contract allowing for their recovery, the scope of activities for which fees may be recovered is governed by the terms of the contract. (See Santisas v. Goodin, supra, 17 Cal.4th 599, 608, 71 Cal.Rptr.2d 830, 951 P.2d 399; Code Civ. Proc, § 1021.) Unless the contract permits it, an award may not include fees incurred solely in the pursuit or defense of claims not arising from the contract. (Reynolds Metals Co. v. Alperson (1979) 25 Cal.3d 124, 129, 158 Cal. Rptr. 1, 599 P.2d 83.) However, all fees falling within the provision are recoverable, even if the activities on which the fees are predicated also supported the prosecution or defense of claims outside the provision. The prevailing party is entitled to recover all expenses incurred in litigating "`common issues'" between covered and uncovered claims or defenses. (Silver v. Boatwright Home Inspection, Inc. (2002) 97 Cal.App.4th 443, 450, fn. 3, 118 Cal. Rptr.2d 475; Reynolds Metals, supra, 25 Cal.3d at pp. 129-130, 158 Cal.Rptr. 1, 599 P.2d 83.) And the trial court need not seek to disentangle claims so as to apportion fees when the matters litigated are "so interrelated that it would have been impossible to separate them into claims for which attorney fees are properly awarded and claims for which they are not...." (See Akins v. Enterprise Rentr-A-Car Company (2000) 79 Cal.App.4th 1127, 1133, 94 Cal.Rptr.2d 448.)
Defendants invoked two legal grounds for an award of fees. The asset purchase agreement contained a fee provision stating as follows: "If any Action is commenced by either party concerning this Agreement, the prevailing party shall recover from the losing party reasonable attorneys' fees and costs and expenses, including those of appeal and not limited to taxable costs, incurred by the prevailing party, in addition to all other remedies to which the prevailing party may be entitled." (Italics added.) In addition, Civil Code section 3426.4 (§ 3426.4) provides that when a claim for misappropriation of trade secrets is "made in bad faith," the court "may award reasonable attorney's fees and costs to the prevailing party."

B. Statutory Award

Yield challenges any award under section 3426.4 on the ground that the trial court could not predicate an award on the statute without stating the basis for its decision. We reject this contention. The only authority cited in its support is not a trade secrets case but a case charging discrimination in violation of federal law. (Harman v. City and County of San Francisco (2006) 136 Cal.App.4th 1279, 1308, 39 Cal.Rptr.3d 589.) In that context the court deemed it "reasonable" to follow federal authorities requiring a statement of *29 decision in support of any fee award. The court acknowledged California decisions in other contexts holding that trial courts need not provide a written explanation of their fee awards. (Ibid, citing Ketchum v. Moses (2001) 24 Cal.4th 1122, 1140, 104 Cal.Rptr.2d 377, 17 P.3d 735; Rebney v. Wells Fargo Bank (1991) 232 Cal.App.3d 1344, 1349, 284 Cal.Rptr. 113; see Maria P. v. Riles (1987) 43 Cal.3d 1281, 1294, 240 Cal.Rptr. 872, 743 P.2d 932.) Yield also contends that the court could not properly find Yield guilty of "bad faith" because it excluded evidence bearing on that issue. This contention finds more traction. The "bad faith" contemplated by section 3426.4 means not only that the claim is objectively specious but that the plaintiff acted with subjective bad faith. (Gemini Aluminum v. California Custom Shapes (2002) 95 Cal. App.4th 1249, 1263, 116 Cal.Rptr.2d 358.) This means "`that the action or tactic [was] pursued for an improper motive.'" (Ibid., quoting Summers v. City of Cathedral City (1990) 225 Cal.App.3d 1047, 1072, 275 Cal.Rptr. 594.) That question `"involves a factual inquiry into the plaintiffs subjective state of mind [citations]: Did he or she believe the action was valid? What was his or her intent or purpose in pursuing it?'" (Gemini Aluminum v. California Custom Shapes, supra 95 Cal.App.4th at p. 1263, 116 Cal.Rptr.2d 358, quoting Knight v. City of Capitola (1992) 4 Cal. App.4th 918, 932, 6 Cal.Rptr.2d 874.)
Here, in opposition to the motion for fees, Yield proffered evidence including a declaration by Yield principal Buckheit and excerpts from the deposition of defense expert Robert Stillerman. Buckheit declared that Yield's misappropriation claims concerned the source code as modified at the time of Zavecz's separation from employment, not as it existed at the time of the asset purchase agreement. Stillerman acknowledged that portions of the Weir code appeared identical to portions of Yield's code.
In its order awarding attorney fees the trial court granted a motion by defendants to strike these two items of evidence. This order appears erroneous. The declaration of Buckheit is curiously couched in terms of his opinions concerning the theory on which the case was pleaded; still it appears relevant as evidence of his subjective good faith. Likewise the Stillerman deposition tended logically to support an inference that Yield's principals subjectively believed the trade secret claim had merit, and were pursuing it for that reason. This made it relevant and competent evidence to oppose a fee award under section 3426.4.
As nearly as we can determine, the basis for striking this evidence was that the issue of bad faith had to be decided on the evidence presented at trial. This rationale cannot be sustained. The subjective element of bad faith, at least, might be proven or refuted by evidence that would have been wholly irrelevant at trial. Buckheit's subjective opinion about Zavecz's liability, for instance, had no place at trial and could not properly have been introduced. The question at trial was whether defendants had misappropriated a trade secret of plaintiffs. The question on the fee motion under section 3426.4 was whether Yield in fact acted for an improper motive in bringing and pursuing the action. Competent evidence bearing on that issue, if seasonably presented in opposition to the fee motion, could and should have been received and considered.[20]
*30 However we see no basis to conclude that any par; of the fee award actually rested on" section 3426.4, or that the court's posited reliance on that statute affected the result. Even in the absence of that statute the court would have had ample justification to allow fees on the trade secret claims, and we think would have done so, under the contractual fee provision. That claim shared issues in common, and was intractably intertwined, with the claims for breach of the asset agreement. One of the breaches of that agreement explicitly set out in the complaint is "[c]reating and selling software based on intellectual property sold to Yield Dynamics." This is precisely the conduct at the heart of the trade secret claim.
We see no evidence that Yield ever disavowed this theory of liability. Even in its trial brief it alluded to the trade secret misappropriation as a breach of contract, stating, "According to the clear terms of the ... Asset Agreement, the Zavecz Defendants had a duty not to use Yield's trade secrets.... [¶] In direct contravention of those contractual and legal obligations, the Zavecz Defendants misappropriated Yield's trade secret software in the development of their new products...."
Under these circumstances the trial court could conclude quite correctly that there was no basis on which to distinguish between activities undertaken in defense of the contract claims and those in defense of the trade secret claim. Indeed, it is difficult to see how it could have concluded otherwise. The propriety of the court's posited reliance on section 3426.4 therefore appears academic.

C. Contractual Award
Yield contends that most of the causes of action here did not fall within the fee clause of the asset purchase agreement. Even if accepted, this premise does not point inexorably to error. The trial court allowed about 60 percent of the requested award. This figure may reflect the denial of recovery for the causes of action Yield insists fell outside the agreement.
In any event Yield fails to establish that the trial court was obliged to reduce the fee to reflect an apportionment for activities in the defense of claims outside the coverage of the fee clause. It is undisputed that the alleged failure to deliver code under the asset purchase agreement and breaches of the non-competition provisions of that agreement fell squarely within the fee clause and therefore supported fee awards. With respect to the remaining claims the parties argue at length about the meaning and application of the fee clause, and specifically whether claims were "concerning this Agreement" so as to fall within the clause. The question is academic, however, insofar as the claims whose coverage is disputed involved issues in common with those whose coverage is not, or were "so interrelated that it would have been impossible to separate them" for purposes of an apportionment. (Akins v. Enterprise Rent-A-Car Company, supra, 79 Cal.App.4th at p. 1133, 94 Cal.Rptr.2d 448.)
We have already concluded that issues surrounding the alleged misuse of trade secrets were wholly embraced within the claim for breach of the asset purchase agreement as pleaded in the complaint. The remaining claims are those for breach of the invention agreement, breach of the *31 confidentiality agreement, fraud, and Unfair business practices. The fraud claim is easily disposed of; as alleged and argued by Yield, it largely overlaps, and indeed seems to some extent have been conflated with, the claims for breach of the asset purchase agreement. This conflation extends to a heading in Yield's reply brief, where it describes the fraud claim as follows: "Under the Terms of the [Asset Purchase] Agreement ... [Defendants] Were Required to Provide All Materials ..., Such That the Failure to Provide Those Materials [Furnished] Sufficient Evidence of Fraud." Later Yield asserts that it was damaged by the alleged fraud "primarily by not receiving the benefit of its bargain with Respondents." Of course the phrase "benefit of the bargain" comes from contract, not tort law. It is doubtful that there was any significant distinction between the fraud claim as conceived by Yield and the claim for breach of the asset purchase agreement. Certainly the record suggests no distinction sufficient to support an apportionment of attorney fees.
Rather than address the interrelatedness of the fraud and contract claims, counsel for Yield seeks to persuade us that fraud claims are somehow categorically excluded from any contractual fee award. He writes that in Exxess Electronixx v. Heger Realty Corp. (1998) 64 Cal.App.4th 698, 711, 75 Cal.Rptr.2d 376, the court "expressly held" that "a claim for fraud ... cannot be covered by a contractual attorneys' fees provision as a matter of law because the duty to not commit such fraud arises precontractually, not as a result of any obligation or right undertaken contractually." (Italics in original.) The case supports no such proposition. On the cited page the court set forth some of its reasons for concluding that a broker was not entitled to recover, under a fee clause in a lease to which it was not a party, the fees it incurred in defeating the lessee's action against the broker for failing to disclose defects in the leased premises. Contrary to Yield's depiction of the case, the court explicitly recognized that "`"parties may validly agree that the prevailing party will be awarded attorney fees incurred in any litigation between themselves, whether such litigation sounds in tort or in contract."'" (Id. at p. 708, 75 Cal.Rptr.2d 376, quoting Santisas v. Goodin, supra, 17 Cal.4th 599, 608, 71 Cal. Rptr.2d 830, 951 P.2d 399; italics added, capitalization omitted.) In other words, the language of the fee clause controls its scope. There the lease allowed fees for actions "to enforce the terms hereof or declare rights hereunder...." (Id. at p. 702, 75 Cal.Rptr.2d 376.) The court concluded, unsurprisingly, that the tenants' constructive fraud claim against a third party did not seek to enforce or declare rights under the lease. (Id. at pp. 709, 713, 75 Cal.Rptr.2d 376.)
The claim for breach of the invention agreement presents a closer question. As we understand it, the gist of that claim was that Zavecz invented the core of the Weir product either while still employed by Yield or so shortly thereafter as to raise the contractual presumption that it was conceived during that employment; in either case, the theory goes, the Weir program, or at least the idea for it, belonged to Yield. This theory appears to be distinct from two of the three alleged breaches of the asset purchase agreement: the failure to deliver then-existing code as promised in the agreement, and the misappropriation of that code. However it possesses at least some common issues with the third alleged breach, which is the breach of the covenant not to compete. Both claims focused on the history and circumstances of the development of the Weir product. Yield points to no discovery, evidence, or proceedings that would *32 have been reasonably necessary to defend the claim under the invention agreement but not that "under the asset purchase agreement. It therefore fails to persuade us that the trial court was required to apportion fees to reflect disallowance for activities in defense of this claim.
The claim for breach of the confidentiality agreement is impossible to distinguish with precision, if at all, from the claim for misappropriation of trade secretswhich, again, is one of the breaches of the asset purchase agreement alleged in the complaint. The only additional fact cited in Yield's discussion of this claim is that "[Yield] kept its source code confidential." This is hardly a significant divergence from the trade secret theory, which of course required a "secret." So far as we can discern, the two claims rested, in at least some of their permutations, on identical facts. The court did not err by failing, if it did fail, to reduce the fees to account for this claim.
This brings us to the claim for unfair business practices, which rested on Zavecz's allegedly unfair presentation of "screen shots" from defendant's products. This claim did rest on a core of facts that appears factually distinct from the asset agreement. However, in their motion for fees defendants conceded that they were not entitled to recover for activities in defense of this claim, and suggested a five percent reduction from the total fee claimed. Yield's counsel twice brought this concession to the court's attention at the hearing on the motion. We see no reason to doubt that the court's award, which was some 40 percent less than requested, included an appropriate adjustment on account of this concession.

D. Issue Preclusion
Yield contends that whatever the merits might otherwise be with respect to recoverability of fees, the denial of fees in other disputes between the parties precluded their allowance here under the doctrine of collateral estoppel (issue preclusion).
For a prior adjudication to give rise to issue preclusion, it must appear that the identical issue was actually litigated and necessarily decided in a prior proceeding. (Sabek, Inc. v. Engelhard Corp. (1998) 65 Cal.App.4th 992, 997, 76 Cal.Rptr.2d 882.) None of the proceedings cited by Yield satisfies these conditions.
Yield first cites the arbitrator's award on Yield's claims against Zavecz under the parties' employment agreement, which included an arbitration clause but not a fee provision.[21] The arbitrator did not hold any of the causes of action adjudicated here to be outside the attorney fee clause in the asset purchase agreement. Rather he declared, "Since this arbitration is explicitly not under [the asset purchase] agreement and there is no attorneys' fee provision under the employment agreement, none is [i.e., no fees are] granted here." The only issues before him were whether Zavecz was entitled to certain commissions and stock options under the employment agreement, and whether he had breached that agreement by using certain materials protected under the separate confidentiality agreement. Because he explicitly limited his ruling to conduct in violation of the employment agreement only, he did not actually or necessarily decide any issue concerning coverage of the fee provision in the asset agreement.
Yield next cites two rulings by Pennsylvania state courts. In the first, Judge Black of the Court of Common Pleas, *33 Lehigh County, allowed attorney fees to Zavecz for successfully prosecuting a counterclaim against Yield concerning the issuance of stock options in connection with the asset purchase agreement. In the second, an intermediate appellate court reversed Judge Black's allowance of fees on the ground that with respect to the relief on which the award was predicated, Zavecz had not prevailed under the asset purchase agreement, but had necessarily prevailed on some other basis. This conclusion appears to rest not on the substance of the claims but on Pennsylvania rules of pleading. In any event we see no basis for issue preclusion, because it does not appear that the claim at issue there resembles any of the claims here. In allowing or disallowing fees, the Pennsylvania courts do not appear have decided the "identical issue" to any issue before us.
Finally Yield cites a memorandum and order by Judge Sanchez of the United States District Court for the Eastern District of Pennsylvania, in which he allowed Mrs. Zavecz an award of fees incurred in successfully compelling Yield to release and issue certain stock options to her under the asset purchase agreement. Yield cites the case, apparently, because the court allowed fees only for recovering options withheld under the asset purchase agreement, not for recovering options resulting from a subsequent stock split. The claim for fees as to the latter block, however, was apparently asserted under a rule of court; in any event, it had been withdrawn by the time of the court's ruling. As far as we can tell, the question whether this claim "concern[ed]" the asset purchase agreement was never litigated. Moreover, since the claim does not resemble any claim decided in this action that issue was not "identical" to any issue here.
Yield has failed to establish that any of the cited proceedings gave rise to issue preclusion with respect to the recoverability of attorney fees here.

VII. Terminating Sanctions

Yield contends that the trial court erred in dealing with a noticed motion by which Yield sought the imposition on defendants of discovery sanctions up to and including striking their answer and entering a default judgment against them. Yield asserts that the court "never heard that motion, nor gave it any attention." The exact nature of the claimed error is obscure. Yield does not deny that the court ruled on the motion. Yield itself secured a ruling by noting in objections to the statement of decision that it failed to "address Plaintiffs Motion for Sanctions; Plaintiff requests a statement that the motion was denied, whether directly or by implication." (Italics added.) In evident response, the final statement of decision recited, "Plaintiffs motion for terminating sanctions or, in the alternative, evidentiary sanctions was denied."
Yield's objection apparently rests on the notion that the trial court should have conducted a formal hearing on the motion. But there is no evidence that Yield took reasonable steps, or any steps, to secure such a hearing or to place the present objection before the trial court. "In the hurry of the trial many things may be, and are, overlooked which would readily have been rectified had attention been called to them. The law casts upon the party the duty of looking after his legal rights and of calling the judge's attention to any infringement of them. If any other rule were to obtain, the party would in most cases be careful to be silent as to his objections until it would be too late to obviate them, and the result would be that few judgments would stand the test of an *34 appeal." (Grimshaw v. Ford Motor Co. (1981) 119 Cal.App.3d 757, 784, 174 Cal. Rptr. 348; Sommer v. Martin (1921) 55 Cal.App. 603, 610, 204 P. 33.)
Here the logical time to press for a hearing on the motion was at the very beginning of trial, when a favorable ruling could obviate further proceedings. It does not appear that Yield ever requested a hearing. The one time it brought the motion to the trial court's attention was in its objections to the statement of decision, and there it did not demand a hearing, but instead asked the court to deny the motion, or more accurately, memorialize a denial that Yield asserted had already been issued. Any error in granting this request without a formal hearing on the motion was invited, and cannot be pursued on appeal. (See Diamond Springs Lime Co. v. American River Constructors (1971) 16 Cal.App.3d 581, 606-607, 94 Cal.Rptr. 200.)

DISPOSITION
The judgment is affirmed.
WE CONCUR: PREMO and ELIA, JJ.
NOTES
[1]  Because of the procedural posture of the case when judgment was entered, the record consists almost entirely of evidence introduced by Yield in support of its claims. From necessity, we rely on that evidence to establish the relevant circumstances, without intending to suggest that the matters here recited have been conclusively established.
[2]  Buckheit categorized yield enhancement products into offline analysis systems, which facilitate the analysis of production data by engineers after completion of the fabrication process, and automated (or "advanced") production (or "process") control systems (APCs), which supply information, and may facilitate error correction, while fabrication is underway. The line of demarcation between these categories is hazy, as some products may perform functions of both types.
[3]  Although we see no competent evidence comprehensively describing the function of these programs, counsel for Yield told the trial court that OASnt stands in part for optical analysis system; it processed metrology dataessentially, measurements of a microchip using a machine designed for that purposeto evaluate how accurately the image of circuitry has been printed on the silicon wafer. FPAex, which stands in part for focal plane aberration, processed the same kind of data to aid in evaluating the accuracy with which the reticle was focused.
[4]  In Buckheit's classification scheme (see ante, fn. 2), OASnt and FPAex were apparently offline analysis products, while MAPA was more an APC product. He testified that OASnt was the "computational engine for MAPA," while "[t]he remaining part of MAPA is the automation layer that automatically feeds the data into the computational algorithm and take[s] the result and then does something with the result." He also described MAPA as OASnt plus "an automation layer."
[5]  Yield stock was not publicly traded. The only sale prior to the date of the parties' agreement had been at $0.50 a share. The stated exercise price on options at the time of the agreement was $0.30 per share.
[6]  Witnesses also called RPL, or the version used here, "RS/1," which more precisely refers to a particular product containing the RPL language. The version of the C language used here was actually the more advanced C + +, but the parties often referred to it simply as "C." Similarly, the Visual Basic language was also called "VB" and simply "Basic."
[7]  As reproduced in the appendix, the amended complaint lacks the exhibits referred to in its text. This is an apparent violation of California Rules of Court, rule 8.124(g), which states in part, "Filing an appendix constitutes a representation that the appendix consists of accurate copies of documents in the superior court file." (See former Cal. Rules of Court, rule 5(g).) The appendix also fails to comply with the rule requiring the contents to be "arranged chronologically," and to include a "chronological index." (Cal. Rules of Court, rules 8.144(a)(1)(C), 8.144(b)(1), 8.124(d)(1); see former Cal. Rules of Court, rules 9(a)(1)(C), 9(b)(1), 5(d)(1).)
[8]  Buckheit testified that MAPA's "automation" layer was written in the C language, while the OASnt portion (sometimes referred to as "[t]he modeling portion") was written in RPL. Eventually MAPA was converted in its entirety to C. Thereafter Yield undertook to "integrate" or "convert[]" MAPA into En-Tune.
[9]  The quoted phrase is transcribed as "all of the claims that you would." The transcript provides further evidence of the detriment inflicted on our justice system by continued exclusive reliance on a single pair of human ears to generate a written record of court proceedings. The most risible of the numerous transcription errors here is the following passage, attributed to Yield's attorney: "More importantly, the source code doesn't work with Abbott. Mr. Zavecz says it's fundamental. Mr. Smith says it doesn't work with Abbott. Mr. Zavecz said it doesn't work with Abbott." (Italics added.) There is no evidence of an Abbott in this case, nor of anyone who works with an Abbotta Costello, as it were. The italicized phrase is surely a mistranscription of "without it." Of course, for every detectable mistranscription there is no way of knowing how many utterances have been distorted or omitted. Yet for several decades, our system has turned a deaf ear (so to speak) to readily available technology that could guard against this significant, but largely overlooked, hazard.
[10]  These are: (1) "Whether the Court found that Defendants did not sell Weir PSFM prior to May 24, 2002...."; (2) "Whether [certain] representations/omissions were material...."; and (3) "Whether Defendants used screenshots of OASnt in its [sic] SPIE slides...."
[11]  "Source code" refers to "`the computer program code as the programmer originally writes it, in the programming language being used. It must be changed into object code before the computer can execute it, unless the program was originally written in object code.'" (Scott, Information Technology Law (3d ed.2007) § 2.12[b], p. 2-42, fn. 175, quoting U.S. Copyright Ofc, Compendium of Copyright Practices II (1984) § 326.)
[12]  "Metrology data" was described by Buckheit as information about a particular chip and perhaps its "context," or production history to date.
[13]  "No evidence was admitted relating to their value to a competitor nor was there any evidence that these functions, in and of themselves, would provide a competitive advantage to a competitor. Although plaintiff may have kept its source code confidential after receiving it from defendants there was no evidence that the functions at issue were unknown in the industry. There was no evidence presented regarding the length of time that it would take a program[m]er familiar with metrology devices and experienced in the lithography industry to create such functions. The testimony on this point from Elena Dehtyar (who was a percipient witness and not an expert) was that the source code procedures in question would provide `some help' to a program[m]er in creating new routines or a similar function or save time in programming: Ms. Dehtyar was unfamiliar with the formatting of the data produced by the metrology devices in question. As a result, she used [Yield]'s source code to assist her in formatting the data. The data formats are not trade secrets of [Yield] as they are the result of the particular vendor's design of their product. There was no credible evidence that creating import functions to import data formats that have been and continue to be available to any one purchasing the vendor's products is a trade secret. Further, the evidence established that defendant Zavecz created similar import functions for KLA which were not shown to be a trade secret.

"The functions or procedures in question did not perform any of the applications which make these programs commercially attractive. The evidence was that import functions or procedures are common to virtually every type of software program that can be conceived of. The evidence was that import functions may be obtained from the internet. The defendant Terrence Zavecz had written similar import routines in the past for his prior employer, KLA Systems. Plaintiff's expert testified that the use of the old routines would provide some help or would be helpful in writing new routines. He did not testify that the import routines contained in the Yield programs involved any new or innovative advances in software programming. In fact, plaintiff's expert was unfamiliar with the semiconductor industry in general and with the fields of Lithography and Metrology specific to it and was not able to compare content and functionality to other similar programs written by other manufacturers having similar function. He was, however, certain that other metrology measuring programs existed and that they would also use similar import routines."
[14]  Smith acknowledged that the programs used mathematical algorithms to perform their primary functions, and that while counsel for Yield had initially asked him to focus on those algorithms in looking for evidence of copying, he had "found no useful matches." We take this as evidence that the core functions of defendants' programs were not derived from Yield's code.
[15]  Yield's principal Buckheit acknowledged that its programs included code from public sources. He testified that the same is true of "[a]lmost all of the code that is written...." Yield's expert Smith testified that the programs Yield purchased from defendants were "very large and have many things in them.... Presumably some is public knowledge and some is not public knowledge...." He acknowledged that programmers regularly "use code functions or features that you might obtain from public sources in creating a new program." Thus some of the functions in the newer TEA programs seemed to come from "a book called Numerical Recipes in C." (See Press, et al., Numerical Recipes in C: The Art of Scientific Computing (2d ed.2002).)

Yield assails the trial court's statement that "import functions may be obtained from the internet." But while this exact testimony is not found in the record, Smith described one of the disks produced by defendants in discovery as containing what he described as "source code that is readily available on the internet." He added that he himself had "looked online" for additional code related to the code at issue here. This testimony renders harmless, if it does not sustain, the trial court's finding on this point, which is any event peripheral.
[16]  This testimony about the effects of experience seemed to overlook Smith's observation that one programmer's code may, depending on its quality, be more or less readily comprehensible to other programmers. A less experienced programmer thus might have more to gain by borrowing from existing code, but might also be expected to have more difficulty comprehending that code if it was relatively opaque, which Smith apparently considered the code here to be.
[17]  Smith's claim of straight translation seems an oversimplification in view of his testimony that the original language (RPL) and the new language (VB) were designed differently, so that some segments of the RPL code would be superfluous in VB and others would require substantial new programming. He testified, for example, that the RPL language is built, at least in part, around the creation of tables. Visual Basic, in contrast, "does not have that concept directly"; it would have to be "programmed in."
[18]  As nearly as we can understand Smith's report and testimony, these functions declared a variable ("ArrayCenter") that was tied in some way to one of the eight assertedly copied functions ("ArrayCenter"), but was not actually used in defendants' code. He apparently viewed it as a kind of superfluous vestige of the original RPL code.
[19]  On petition for rehearing, Yield asserts that the asset purchase agreement did specify a time for delivery of the three files at issue. This assertion relies on contract language, elided from Yield's brief, which it contends required delivery of the files on the agreement's "Effective Date," which was May 28, 1999, about a year and half before defendant delivered the files. What the cited provision actually states is "effective as of the close of business on the Effective Date," Zavecz would "sell, transfer, convey, assign and deliver ... all of [his] right, title and interest in and to all [his] assets ... which [he] was using or the use of which was necessary or related to . . . the operation of the Business ... including but not limited to those listed below...." This is not a clear undertaking to deliver physical possession of a particular file or block of code. That the failure to do so was not viewed as an immediate breach may be inferred from the passage of a year and a half before defendant demanded delivery. Assuming he was obligated to deliver physical possession of particular property upon demand, he had a reasonable time within which to do so.
[20]  We have no occasion to consider whether the statutory requirement that the claim be "made in bad faith" (§ 3426.4) concerns only the plaintiff's state of mind when the action is filed or also permits a fee award where the claim was initially brought in good faith but pursued beyond a point where the plaintiff no longer believed the case had merit. The initial assignment given to the expert Smith, for instance, suggested that Yield expected to find that much of the Weir code had been copied from Yield's code. That expectation supports a finding that Yield was acting in good faith, at least up the time Smith failed to confirm it.
[21]  We have no occasion to consider under what conditions, if any, an arbitration award should be permitted to give rise to issue preclusion.
