cooking_lunch-0


Synsets

Transition Paths By Task Scope Objects

graph TD; recipe-beefsteak_tomaton01-slicing(recipe: beefsteak_tomato.n.01-slicing); initial-beefsteak_tomaton01(initial: beefsteak_tomato.n.01); future-diced__beefsteak_tomaton01(future: diced__beefsteak_tomato.n.01); recipe-uncooked-half__beefsteak_tomaton01-dicing(recipe: uncooked-half__beefsteak_tomato.n.01-dicing); half__beefsteak_tomaton01(half__beefsteak_tomato.n.01); recipe-beefsteak_tomaton01-slicing --> half__beefsteak_tomaton01; initial-beefsteak_tomaton01 --> recipe-beefsteak_tomaton01-slicing; recipe-uncooked-half__beefsteak_tomaton01-dicing --> future-diced__beefsteak_tomaton01; half__beefsteak_tomaton01 --> recipe-uncooked-half__beefsteak_tomaton01-dicing;

Scenes

Full Definition

(define (problem cooking_lunch-0)
    (:domain omnigibson)

    (:objects
        bread_slice.n.01_1 bread_slice.n.01_2 - bread_slice.n.01
        parmesan.n.01_1 - parmesan.n.01
        parmesan__shaker.n.01_1 - parmesan__shaker.n.01
        beefsteak_tomato.n.01_1 - beefsteak_tomato.n.01
        diced__beefsteak_tomato.n.01_1 - diced__beefsteak_tomato.n.01
        mustard.n.02_1 - mustard.n.02
        mustard__bottle.n.01_1 - mustard__bottle.n.01
        steak.n.01_1 steak.n.01_2 - steak.n.01
        frying_pan.n.01_1 - frying_pan.n.01
        stove.n.01_1 - stove.n.01
        plate.n.04_1 plate.n.04_2 - plate.n.04
        countertop.n.01_1 - countertop.n.01
        carving_knife.n.01_1 - carving_knife.n.01
        sack.n.01_1 - sack.n.01
        electric_refrigerator.n.01_1 - electric_refrigerator.n.01
        floor.n.01_1 - floor.n.01
        agent.n.01_1 - agent.n.01
    )
    
    (:init 
        (ontop frying_pan.n.01_1 stove.n.01_1)
        (ontop carving_knife.n.01_1 countertop.n.01_1) 
        (ontop plate.n.04_1 countertop.n.01_1) 
        (ontop plate.n.04_2 plate.n.04_1) 
        (insource parmesan__shaker.n.01_1 parmesan.n.01_1)
        (inside parmesan__shaker.n.01_1 electric_refrigerator.n.01_1)
        (insource mustard__bottle.n.01_1 mustard.n.02_1)
        (inside mustard__bottle.n.01_1 electric_refrigerator.n.01_1)
        (inside steak.n.01_1 electric_refrigerator.n.01_1)
        (inside steak.n.01_2 electric_refrigerator.n.01_1)
        (not
            (cooked steak.n.01_1)
        )
        (not
            (cooked steak.n.01_2)
        )
        (inside bread_slice.n.01_1 sack.n.01_1)
        (inside bread_slice.n.01_2 sack.n.01_1)
        (ontop sack.n.01_1 countertop.n.01_1)
        (inside beefsteak_tomato.n.01_1 electric_refrigerator.n.01_1)
        (inroom stove.n.01_1 kitchen) 
        (inroom countertop.n.01_1 kitchen) 
        (inroom floor.n.01_1 kitchen) 
        (inroom electric_refrigerator.n.01_1 kitchen)
        (future diced__beefsteak_tomato.n.01_1)
        (ontop agent.n.01_1 floor.n.01_1)
    )
    
    (:goal 
        (and 
            (forall
                (?bread_slice.n.01 - bread_slice.n.01)
                (and 
                    (cooked ?bread_slice.n.01)
                    (covered ?bread_slice.n.01 ?parmesan.n.01_1)
                    (covered ?bread_slice.n.01 ?diced__beefsteak_tomato.n.01_1)
                    (covered ?bread_slice.n.01 ?mustard.n.02_1)
                )        
            )
            (forall 
                (?steak.n.01 - steak.n.01)
                (cooked ?steak.n.01)
            )
            (forpairs 
                (?bread_slice.n.01 - bread_slice.n.01)
                (?steak.n.01 - steak.n.01)
                (ontop ?steak.n.01 ?bread_slice.n.01)                
            )
            (forpairs
                (?bread_slice.n.01 - bread_slice.n.01)
                (?plate.n.04 - plate.n.04)
                (ontop ?bread_slice.n.01 ?plate.n.04)
            )
            (real ?diced__beefsteak_tomato.n.01_1)
        )
    )
)
  

Debugging: All Possible Recipes Resulting in Future Synsets

graph TD; initial-beefsteak_tomaton01(initial: beefsteak_tomato.n.01); future-diced__beefsteak_tomaton01(future: diced__beefsteak_tomato.n.01); recipe-beefsteak_tomaton01-slicing(recipe: beefsteak_tomato.n.01-slicing); missing-half__beefsteak_tomaton01(missing: half__beefsteak_tomato.n.01); recipe-uncooked-half__beefsteak_tomaton01-dicing(recipe: uncooked-half__beefsteak_tomato.n.01-dicing); initial-beefsteak_tomaton01 --> recipe-beefsteak_tomaton01-slicing; recipe-beefsteak_tomaton01-slicing --> missing-half__beefsteak_tomaton01; missing-half__beefsteak_tomaton01 --> recipe-uncooked-half__beefsteak_tomaton01-dicing; recipe-uncooked-half__beefsteak_tomaton01-dicing --> future-diced__beefsteak_tomaton01;