In the Taaable interface, the field "Ingredients I Want" is filled in with the tokens baking chocolate and orange and the field "Types I Want" is filled in with the token cake.

2. *Retrieval.* The retrieval procedure generates the similarity path SP = σ1 in which the substitution σ1 = baking chocolate chocolate is generated automatically from the ontology O from the axiom baking chocolate ⇒
chocolate. SP is applied to tgt in order to produce the modified query srce = cake∧chocolate∧orange. The system retrieves the recipe Ultralight Chocolate Cake, whose representation Sol(srce) is:
Sol(srce) = cake ∧ cocoa ∧ orange ∧ . . . ∧ *Nothing else* Since the ontology O contains the axiom cocoa ⇒ chocolate, Sol(srce)
solves the query srce: Sol(srce) is such that Sol(srce) O srce.

3. *Adaptation.* AKB is assumed to be empty, so to construct the adaptation path AP, the substitution chocolate baking chocolate is generated automatically from σ1. This substitution is further specialized into the substitution Σ1 = cocoa baking chocolate, according to the axiom cocoa ⇒
chocolate of O. A first solution Sol g(tgt) is computed by applying to Sol(srce) the adaptation path AP = Σ1. The user suggests that an ingredient is missing in Sol g(tgt) but could not identify a repair strategy. An AK
discovery is triggered in order to suggest gradual refinements of Sol g(tgt).

4. *Choosing the Training Set.* The training set TS is chosen from Σ1: AK is learned by comparing the recipes containing cocoa with the recipes containing baking chocolate. TS is composed of the set of variations ∆kℓ ∈ L∆ between pairs of recipes (Rk, Rℓ) ∈ CB × CB such that {cocoa-, baking chocolate+} ⊆ ∆kℓ.

5. *Mining and Filtering.* A value is given to the support threshold σs and the mining step outputs a set of variations. A filter retains only the variations that correspond to substitutions applicable to modify Sol(srce).

6. *Solution Test and Validation.* The user selects the learned variation
∆ = {cocoa-, baking chocolate+, oil-} from the result set. ∆ is interpreted as the substitution Σ = cocoa ∧ oil baking chocolate, which suggests to replace cocoa by baking chocolate in the retrieved recipe and to remove oil. The user explains this rule by the fact that baking chocolate contains more fat than cocoa, and therefore substituting cocoa by baking chocolate implies to reduce the quantity of fat in the recipe.

Further solution refinements are proposed to the user. The set of learned variations is filtered in order to retain only the substitutions ∆
′that are more specific than ∆, i.e., such that ∆ ⊆ ∆
′. Among the retained variations is the variation ∆
′ = {cocoa-, baking chocolate+, oil-, vanilla-}, which is interpreted as the substitution Σ
′ = cocoa∧oil∧vanilla baking chocolate.

Σ
′suggests to also remove vanilla in the recipe *Ultralight Chocolate Cake*. The user is satisfied with the refined solution Sol g(tgt) resulting from the application of the adaptation path AP = Σ
′to Sol(srce), so the reformulation
(baking chocolate chocolate, cocoa ∧ oil ∧ vanilla baking chocolate)
is added to the adaptation knowledge base AKB.