['plan.py', '1'] furniture-dusty ------------------- dust ------------------- floor-dusty furniture-clean DEL:floor-not-dusty DEL:furniture-dusty floor-not-dusty floor-dirty ------------------- wash-floor ------------------- floor-clean DEL:floor-dirty floor-dusty vaccuum-works ------------------- vaccuum ------------------- DEL:floor-dusty floor-dusty ------------------- sweep ------------------- floor-not-dusty DEL:floor-dusty initial props: ['floor-dusty', 'floor-dirty', 'furniture-dusty', 'vaccuum-works'] goal props: ['floor-clean', 'furniture-clean', 'floor-not-dusty'] plan1 ----- steps: ['init', 'goal'] open conditions: (floor-clean, goal) (furniture-clean, goal) (floor-not-dusty, goal) ========= Len of fringe: 1 fringe[0].state: plan1 --- plan1 ----- steps: ['init', 'goal'] open conditions: (floor-clean, goal) (furniture-clean, goal) (floor-not-dusty, goal) ------ Flaw chosen to work on next >> opencond ('floor-clean', 'goal') Successors (1 of them): plan2 ----- Adding new step 0*wash-floor The new causal link is: ('0*wash-floor', 'floor-clean', 'goal') Removing the opencond: ('floor-clean', 'goal') steps: ['init', 'goal', '0*wash-floor'] causal links: (0*wash-floor < floor-clean < goal) ordering constraints (other than those with goal or init): none open conditions: (furniture-clean, goal) (floor-not-dusty, goal) (floor-not-dusty, 0*wash-floor) (floor-dirty, 0*wash-floor) ========= Len of fringe: 1 fringe[0].state: plan2 --- plan2 ----- Adding new step 0*wash-floor The new causal link is: ('0*wash-floor', 'floor-clean', 'goal') Removing the opencond: ('floor-clean', 'goal') steps: ['init', 'goal', '0*wash-floor'] causal links: (0*wash-floor < floor-clean < goal) ordering constraints (other than those with goal or init): none open conditions: (furniture-clean, goal) (floor-not-dusty, goal) (floor-not-dusty, 0*wash-floor) (floor-dirty, 0*wash-floor) parent: plan plan1 ------ Flaw chosen to work on next >> opencond ('furniture-clean', 'goal') Successors (1 of them): plan3 ----- Adding new step 1*dust The new causal link is: ('1*dust', 'furniture-clean', 'goal') Removing the opencond: ('furniture-clean', 'goal') steps: ['init', 'goal', '0*wash-floor', '1*dust'] causal links: (0*wash-floor < floor-clean < goal) (1*dust < furniture-clean < goal) ordering constraints (other than those with goal or init): none open conditions: (floor-not-dusty, goal) (floor-not-dusty, 0*wash-floor) (floor-dirty, 0*wash-floor) (furniture-dusty, 1*dust) ========= Len of fringe: 1 fringe[0].state: plan3 --- plan3 ----- Adding new step 1*dust The new causal link is: ('1*dust', 'furniture-clean', 'goal') Removing the opencond: ('furniture-clean', 'goal') steps: ['init', 'goal', '0*wash-floor', '1*dust'] causal links: (0*wash-floor < floor-clean < goal) (1*dust < furniture-clean < goal) ordering constraints (other than those with goal or init): none open conditions: (floor-not-dusty, goal) (floor-not-dusty, 0*wash-floor) (floor-dirty, 0*wash-floor) (furniture-dusty, 1*dust) parent: plan plan2 ------ Flaw chosen to work on next >> opencond ('floor-not-dusty', 'goal') Successors (1 of them): plan4 ----- Adding new step 2*sweep The new causal link is: ('2*sweep', 'floor-not-dusty', 'goal') Removing the opencond: ('floor-not-dusty', 'goal') steps: ['init', 'goal', '0*wash-floor', '1*dust', '2*sweep'] causal links: (0*wash-floor < floor-clean < goal) (1*dust < furniture-clean < goal) (2*sweep < floor-not-dusty < goal) ordering constraints (other than those with goal or init): none open conditions: (floor-not-dusty, 0*wash-floor) (floor-dirty, 0*wash-floor) (furniture-dusty, 1*dust) (floor-dusty, 2*sweep) threats: (('2*sweep', 'floor-not-dusty', 'goal'), '1*dust') ========= Len of fringe: 1 fringe[0].state: plan4 --- plan4 ----- Adding new step 2*sweep The new causal link is: ('2*sweep', 'floor-not-dusty', 'goal') Removing the opencond: ('floor-not-dusty', 'goal') steps: ['init', 'goal', '0*wash-floor', '1*dust', '2*sweep'] causal links: (0*wash-floor < floor-clean < goal) (1*dust < furniture-clean < goal) (2*sweep < floor-not-dusty < goal) ordering constraints (other than those with goal or init): none open conditions: (floor-not-dusty, 0*wash-floor) (floor-dirty, 0*wash-floor) (furniture-dusty, 1*dust) (floor-dusty, 2*sweep) threats: (('2*sweep', 'floor-not-dusty', 'goal'), '1*dust') parent: plan plan3 ------ Flaw chosen to work on next >> opencond ('floor-not-dusty', '0*wash-floor') Successors (2 of them): plan5 ----- Adding causal link with existing step. The new causal link is: ('2*sweep', 'floor-not-dusty', '0*wash-floor') Removing the opencond: ('floor-not-dusty', '0*wash-floor') steps: ['init', 'goal', '0*wash-floor', '1*dust', '2*sweep'] causal links: (0*wash-floor < floor-clean < goal) (1*dust < furniture-clean < goal) (2*sweep < floor-not-dusty < goal) (2*sweep < floor-not-dusty < 0*wash-floor) ordering constraints (other than those with goal or init): (2*sweep < 0*wash-floor) open conditions: (floor-dirty, 0*wash-floor) (furniture-dusty, 1*dust) (floor-dusty, 2*sweep) threats: (('2*sweep', 'floor-not-dusty', 'goal'), '1*dust') (('2*sweep', 'floor-not-dusty', '0*wash-floor'), '1*dust') plan6 ----- Adding new step 3*sweep The new causal link is: ('3*sweep', 'floor-not-dusty', '0*wash-floor') Removing the opencond: ('floor-not-dusty', '0*wash-floor') steps: ['init', 'goal', '0*wash-floor', '1*dust', '2*sweep', '3*sweep'] causal links: (0*wash-floor < floor-clean < goal) (1*dust < furniture-clean < goal) (2*sweep < floor-not-dusty < goal) (3*sweep < floor-not-dusty < 0*wash-floor) ordering constraints (other than those with goal or init): (3*sweep < 0*wash-floor) open conditions: (floor-dirty, 0*wash-floor) (furniture-dusty, 1*dust) (floor-dusty, 2*sweep) (floor-dusty, 3*sweep) threats: (('2*sweep', 'floor-not-dusty', 'goal'), '1*dust') (('3*sweep', 'floor-not-dusty', '0*wash-floor'), '1*dust') ========= Len of fringe: 2 fringe[0].state: plan5 --- plan5 ----- Adding causal link with existing step. The new causal link is: ('2*sweep', 'floor-not-dusty', '0*wash-floor') Removing the opencond: ('floor-not-dusty', '0*wash-floor') steps: ['init', 'goal', '0*wash-floor', '1*dust', '2*sweep'] causal links: (0*wash-floor < floor-clean < goal) (1*dust < furniture-clean < goal) (2*sweep < floor-not-dusty < goal) (2*sweep < floor-not-dusty < 0*wash-floor) ordering constraints (other than those with goal or init): (2*sweep < 0*wash-floor) open conditions: (floor-dirty, 0*wash-floor) (furniture-dusty, 1*dust) (floor-dusty, 2*sweep) threats: (('2*sweep', 'floor-not-dusty', 'goal'), '1*dust') (('2*sweep', 'floor-not-dusty', '0*wash-floor'), '1*dust') parent: plan plan4 ------ Flaw chosen to work on next >> opencond ('floor-dirty', '0*wash-floor') Successors (1 of them): plan7 ----- Adding causal link with existing step. The new causal link is: ('init', 'floor-dirty', '0*wash-floor') Removing the opencond: ('floor-dirty', '0*wash-floor') steps: ['init', 'goal', '0*wash-floor', '1*dust', '2*sweep'] causal links: (0*wash-floor < floor-clean < goal) (1*dust < furniture-clean < goal) (2*sweep < floor-not-dusty < goal) (2*sweep < floor-not-dusty < 0*wash-floor) (init < floor-dirty < 0*wash-floor) ordering constraints (other than those with goal or init): (2*sweep < 0*wash-floor) open conditions: (furniture-dusty, 1*dust) (floor-dusty, 2*sweep) threats: (('2*sweep', 'floor-not-dusty', 'goal'), '1*dust') (('2*sweep', 'floor-not-dusty', '0*wash-floor'), '1*dust') ========= Len of fringe: 2 fringe[0].state: plan7 --- plan7 ----- Adding causal link with existing step. The new causal link is: ('init', 'floor-dirty', '0*wash-floor') Removing the opencond: ('floor-dirty', '0*wash-floor') steps: ['init', 'goal', '0*wash-floor', '1*dust', '2*sweep'] causal links: (0*wash-floor < floor-clean < goal) (1*dust < furniture-clean < goal) (2*sweep < floor-not-dusty < goal) (2*sweep < floor-not-dusty < 0*wash-floor) (init < floor-dirty < 0*wash-floor) ordering constraints (other than those with goal or init): (2*sweep < 0*wash-floor) open conditions: (furniture-dusty, 1*dust) (floor-dusty, 2*sweep) threats: (('2*sweep', 'floor-not-dusty', 'goal'), '1*dust') (('2*sweep', 'floor-not-dusty', '0*wash-floor'), '1*dust') parent: plan plan5 ------ Flaw chosen to work on next >> opencond ('furniture-dusty', '1*dust') Successors (1 of them): plan8 ----- Adding causal link with existing step. The new causal link is: ('init', 'furniture-dusty', '1*dust') Removing the opencond: ('furniture-dusty', '1*dust') steps: ['init', 'goal', '0*wash-floor', '1*dust', '2*sweep'] causal links: (0*wash-floor < floor-clean < goal) (1*dust < furniture-clean < goal) (2*sweep < floor-not-dusty < goal) (2*sweep < floor-not-dusty < 0*wash-floor) (init < floor-dirty < 0*wash-floor) (init < furniture-dusty < 1*dust) ordering constraints (other than those with goal or init): (2*sweep < 0*wash-floor) open conditions: (floor-dusty, 2*sweep) threats: (('2*sweep', 'floor-not-dusty', 'goal'), '1*dust') (('2*sweep', 'floor-not-dusty', '0*wash-floor'), '1*dust') ========= Len of fringe: 2 fringe[0].state: plan8 --- plan8 ----- Adding causal link with existing step. The new causal link is: ('init', 'furniture-dusty', '1*dust') Removing the opencond: ('furniture-dusty', '1*dust') steps: ['init', 'goal', '0*wash-floor', '1*dust', '2*sweep'] causal links: (0*wash-floor < floor-clean < goal) (1*dust < furniture-clean < goal) (2*sweep < floor-not-dusty < goal) (2*sweep < floor-not-dusty < 0*wash-floor) (init < floor-dirty < 0*wash-floor) (init < furniture-dusty < 1*dust) ordering constraints (other than those with goal or init): (2*sweep < 0*wash-floor) open conditions: (floor-dusty, 2*sweep) threats: (('2*sweep', 'floor-not-dusty', 'goal'), '1*dust') (('2*sweep', 'floor-not-dusty', '0*wash-floor'), '1*dust') parent: plan plan7 ------ Flaw chosen to work on next >> opencond ('floor-dusty', '2*sweep') Successors (3 of them): plan9 ----- Adding causal link with existing step. The new causal link is: ('init', 'floor-dusty', '2*sweep') Removing the opencond: ('floor-dusty', '2*sweep') steps: ['init', 'goal', '0*wash-floor', '1*dust', '2*sweep'] causal links: (0*wash-floor < floor-clean < goal) (1*dust < furniture-clean < goal) (2*sweep < floor-not-dusty < goal) (2*sweep < floor-not-dusty < 0*wash-floor) (init < floor-dirty < 0*wash-floor) (init < furniture-dusty < 1*dust) (init < floor-dusty < 2*sweep) ordering constraints (other than those with goal or init): (2*sweep < 0*wash-floor) threats: (('2*sweep', 'floor-not-dusty', 'goal'), '1*dust') (('2*sweep', 'floor-not-dusty', '0*wash-floor'), '1*dust') plan10 ----- Adding causal link with existing step. The new causal link is: ('1*dust', 'floor-dusty', '2*sweep') Removing the opencond: ('floor-dusty', '2*sweep') steps: ['init', 'goal', '0*wash-floor', '1*dust', '2*sweep'] causal links: (0*wash-floor < floor-clean < goal) (1*dust < furniture-clean < goal) (2*sweep < floor-not-dusty < goal) (2*sweep < floor-not-dusty < 0*wash-floor) (init < floor-dirty < 0*wash-floor) (init < furniture-dusty < 1*dust) (1*dust < floor-dusty < 2*sweep) ordering constraints (other than those with goal or init): (2*sweep < 0*wash-floor) (1*dust < 2*sweep) threats: (('2*sweep', 'floor-not-dusty', 'goal'), '1*dust') (('2*sweep', 'floor-not-dusty', '0*wash-floor'), '1*dust') plan11 ----- Adding new step 4*dust The new causal link is: ('4*dust', 'floor-dusty', '2*sweep') Removing the opencond: ('floor-dusty', '2*sweep') steps: ['init', 'goal', '0*wash-floor', '1*dust', '2*sweep', '4*dust'] causal links: (0*wash-floor < floor-clean < goal) (1*dust < furniture-clean < goal) (2*sweep < floor-not-dusty < goal) (2*sweep < floor-not-dusty < 0*wash-floor) (init < floor-dirty < 0*wash-floor) (init < furniture-dusty < 1*dust) (4*dust < floor-dusty < 2*sweep) ordering constraints (other than those with goal or init): (2*sweep < 0*wash-floor) (4*dust < 2*sweep) open conditions: (furniture-dusty, 4*dust) threats: (('2*sweep', 'floor-not-dusty', 'goal'), '1*dust') (('2*sweep', 'floor-not-dusty', '0*wash-floor'), '1*dust') (('init', 'furniture-dusty', '1*dust'), '4*dust') ========= Len of fringe: 4 fringe[0].state: plan9 --- plan9 ----- Adding causal link with existing step. The new causal link is: ('init', 'floor-dusty', '2*sweep') Removing the opencond: ('floor-dusty', '2*sweep') steps: ['init', 'goal', '0*wash-floor', '1*dust', '2*sweep'] causal links: (0*wash-floor < floor-clean < goal) (1*dust < furniture-clean < goal) (2*sweep < floor-not-dusty < goal) (2*sweep < floor-not-dusty < 0*wash-floor) (init < floor-dirty < 0*wash-floor) (init < furniture-dusty < 1*dust) (init < floor-dusty < 2*sweep) ordering constraints (other than those with goal or init): (2*sweep < 0*wash-floor) threats: (('2*sweep', 'floor-not-dusty', 'goal'), '1*dust') (('2*sweep', 'floor-not-dusty', '0*wash-floor'), '1*dust') parent: plan plan8 ------ Flaw chosen to work on next >> threat (('2*sweep', 'floor-not-dusty', 'goal'), '1*dust') Successors (1 of them): plan12 ----- Demotion: ordercons ('1*dust', '2*sweep') fixes threat (('2*sweep', 'floor-not-dusty', 'goal'), '1*dust') steps: ['init', 'goal', '0*wash-floor', '1*dust', '2*sweep'] causal links: (0*wash-floor < floor-clean < goal) (1*dust < furniture-clean < goal) (2*sweep < floor-not-dusty < goal) (2*sweep < floor-not-dusty < 0*wash-floor) (init < floor-dirty < 0*wash-floor) (init < furniture-dusty < 1*dust) (init < floor-dusty < 2*sweep) ordering constraints (other than those with goal or init): (2*sweep < 0*wash-floor) (1*dust < 2*sweep) threats: (('2*sweep', 'floor-not-dusty', '0*wash-floor'), '1*dust') ========= Len of fringe: 4 fringe[0].state: plan10 --- plan10 ----- Adding causal link with existing step. The new causal link is: ('1*dust', 'floor-dusty', '2*sweep') Removing the opencond: ('floor-dusty', '2*sweep') steps: ['init', 'goal', '0*wash-floor', '1*dust', '2*sweep'] causal links: (0*wash-floor < floor-clean < goal) (1*dust < furniture-clean < goal) (2*sweep < floor-not-dusty < goal) (2*sweep < floor-not-dusty < 0*wash-floor) (init < floor-dirty < 0*wash-floor) (init < furniture-dusty < 1*dust) (1*dust < floor-dusty < 2*sweep) ordering constraints (other than those with goal or init): (2*sweep < 0*wash-floor) (1*dust < 2*sweep) threats: (('2*sweep', 'floor-not-dusty', 'goal'), '1*dust') (('2*sweep', 'floor-not-dusty', '0*wash-floor'), '1*dust') parent: plan plan8 ------ Flaw chosen to work on next >> threat (('2*sweep', 'floor-not-dusty', 'goal'), '1*dust') Successors (1 of them): plan13 ----- Demotion: ordercons ('1*dust', '2*sweep') fixes threat (('2*sweep', 'floor-not-dusty', 'goal'), '1*dust') steps: ['init', 'goal', '0*wash-floor', '1*dust', '2*sweep'] causal links: (0*wash-floor < floor-clean < goal) (1*dust < furniture-clean < goal) (2*sweep < floor-not-dusty < goal) (2*sweep < floor-not-dusty < 0*wash-floor) (init < floor-dirty < 0*wash-floor) (init < furniture-dusty < 1*dust) (1*dust < floor-dusty < 2*sweep) ordering constraints (other than those with goal or init): (2*sweep < 0*wash-floor) (1*dust < 2*sweep) (1*dust < 2*sweep) threats: (('2*sweep', 'floor-not-dusty', '0*wash-floor'), '1*dust') ========= Len of fringe: 4 fringe[0].state: plan12 --- plan12 ----- Demotion: ordercons ('1*dust', '2*sweep') fixes threat (('2*sweep', 'floor-not-dusty', 'goal'), '1*dust') steps: ['init', 'goal', '0*wash-floor', '1*dust', '2*sweep'] causal links: (0*wash-floor < floor-clean < goal) (1*dust < furniture-clean < goal) (2*sweep < floor-not-dusty < goal) (2*sweep < floor-not-dusty < 0*wash-floor) (init < floor-dirty < 0*wash-floor) (init < furniture-dusty < 1*dust) (init < floor-dusty < 2*sweep) ordering constraints (other than those with goal or init): (2*sweep < 0*wash-floor) (1*dust < 2*sweep) threats: (('2*sweep', 'floor-not-dusty', '0*wash-floor'), '1*dust') parent: plan plan9 ------ Flaw chosen to work on next >> threat (('2*sweep', 'floor-not-dusty', '0*wash-floor'), '1*dust') Successors (1 of them): plan14 ----- Demotion: ordercons ('1*dust', '2*sweep') fixes threat (('2*sweep', 'floor-not-dusty', '0*wash-floor'), '1*dust') steps: ['init', 'goal', '0*wash-floor', '1*dust', '2*sweep'] causal links: (0*wash-floor < floor-clean < goal) (1*dust < furniture-clean < goal) (2*sweep < floor-not-dusty < goal) (2*sweep < floor-not-dusty < 0*wash-floor) (init < floor-dirty < 0*wash-floor) (init < furniture-dusty < 1*dust) (init < floor-dusty < 2*sweep) ordering constraints (other than those with goal or init): (2*sweep < 0*wash-floor) (1*dust < 2*sweep) (1*dust < 2*sweep) ========= Len of fringe: 4 fringe[0].state: plan13 --- plan13 ----- Demotion: ordercons ('1*dust', '2*sweep') fixes threat (('2*sweep', 'floor-not-dusty', 'goal'), '1*dust') steps: ['init', 'goal', '0*wash-floor', '1*dust', '2*sweep'] causal links: (0*wash-floor < floor-clean < goal) (1*dust < furniture-clean < goal) (2*sweep < floor-not-dusty < goal) (2*sweep < floor-not-dusty < 0*wash-floor) (init < floor-dirty < 0*wash-floor) (init < furniture-dusty < 1*dust) (1*dust < floor-dusty < 2*sweep) ordering constraints (other than those with goal or init): (2*sweep < 0*wash-floor) (1*dust < 2*sweep) (1*dust < 2*sweep) threats: (('2*sweep', 'floor-not-dusty', '0*wash-floor'), '1*dust') parent: plan plan10 ------ Flaw chosen to work on next >> threat (('2*sweep', 'floor-not-dusty', '0*wash-floor'), '1*dust') Successors (1 of them): plan15 ----- Demotion: ordercons ('1*dust', '2*sweep') fixes threat (('2*sweep', 'floor-not-dusty', '0*wash-floor'), '1*dust') steps: ['init', 'goal', '0*wash-floor', '1*dust', '2*sweep'] causal links: (0*wash-floor < floor-clean < goal) (1*dust < furniture-clean < goal) (2*sweep < floor-not-dusty < goal) (2*sweep < floor-not-dusty < 0*wash-floor) (init < floor-dirty < 0*wash-floor) (init < furniture-dusty < 1*dust) (1*dust < floor-dusty < 2*sweep) ordering constraints (other than those with goal or init): (2*sweep < 0*wash-floor) (1*dust < 2*sweep) (1*dust < 2*sweep) (1*dust < 2*sweep) ========= Len of fringe: 4 Result:********************** plan1 ----- steps: ['init', 'goal'] open conditions: (floor-clean, goal) (furniture-clean, goal) (floor-not-dusty, goal) plan2 ----- Adding new step 0*wash-floor The new causal link is: ('0*wash-floor', 'floor-clean', 'goal') Removing the opencond: ('floor-clean', 'goal') steps: ['init', 'goal', '0*wash-floor'] causal links: (0*wash-floor < floor-clean < goal) ordering constraints (other than those with goal or init): none open conditions: (furniture-clean, goal) (floor-not-dusty, goal) (floor-not-dusty, 0*wash-floor) (floor-dirty, 0*wash-floor) plan3 ----- Adding new step 1*dust The new causal link is: ('1*dust', 'furniture-clean', 'goal') Removing the opencond: ('furniture-clean', 'goal') steps: ['init', 'goal', '0*wash-floor', '1*dust'] causal links: (0*wash-floor < floor-clean < goal) (1*dust < furniture-clean < goal) ordering constraints (other than those with goal or init): none open conditions: (floor-not-dusty, goal) (floor-not-dusty, 0*wash-floor) (floor-dirty, 0*wash-floor) (furniture-dusty, 1*dust) plan4 ----- Adding new step 2*sweep The new causal link is: ('2*sweep', 'floor-not-dusty', 'goal') Removing the opencond: ('floor-not-dusty', 'goal') steps: ['init', 'goal', '0*wash-floor', '1*dust', '2*sweep'] causal links: (0*wash-floor < floor-clean < goal) (1*dust < furniture-clean < goal) (2*sweep < floor-not-dusty < goal) ordering constraints (other than those with goal or init): none open conditions: (floor-not-dusty, 0*wash-floor) (floor-dirty, 0*wash-floor) (furniture-dusty, 1*dust) (floor-dusty, 2*sweep) threats: (('2*sweep', 'floor-not-dusty', 'goal'), '1*dust') plan5 ----- Adding causal link with existing step. The new causal link is: ('2*sweep', 'floor-not-dusty', '0*wash-floor') Removing the opencond: ('floor-not-dusty', '0*wash-floor') steps: ['init', 'goal', '0*wash-floor', '1*dust', '2*sweep'] causal links: (0*wash-floor < floor-clean < goal) (1*dust < furniture-clean < goal) (2*sweep < floor-not-dusty < goal) (2*sweep < floor-not-dusty < 0*wash-floor) ordering constraints (other than those with goal or init): (2*sweep < 0*wash-floor) open conditions: (floor-dirty, 0*wash-floor) (furniture-dusty, 1*dust) (floor-dusty, 2*sweep) threats: (('2*sweep', 'floor-not-dusty', 'goal'), '1*dust') (('2*sweep', 'floor-not-dusty', '0*wash-floor'), '1*dust') plan7 ----- Adding causal link with existing step. The new causal link is: ('init', 'floor-dirty', '0*wash-floor') Removing the opencond: ('floor-dirty', '0*wash-floor') steps: ['init', 'goal', '0*wash-floor', '1*dust', '2*sweep'] causal links: (0*wash-floor < floor-clean < goal) (1*dust < furniture-clean < goal) (2*sweep < floor-not-dusty < goal) (2*sweep < floor-not-dusty < 0*wash-floor) (init < floor-dirty < 0*wash-floor) ordering constraints (other than those with goal or init): (2*sweep < 0*wash-floor) open conditions: (furniture-dusty, 1*dust) (floor-dusty, 2*sweep) threats: (('2*sweep', 'floor-not-dusty', 'goal'), '1*dust') (('2*sweep', 'floor-not-dusty', '0*wash-floor'), '1*dust') plan8 ----- Adding causal link with existing step. The new causal link is: ('init', 'furniture-dusty', '1*dust') Removing the opencond: ('furniture-dusty', '1*dust') steps: ['init', 'goal', '0*wash-floor', '1*dust', '2*sweep'] causal links: (0*wash-floor < floor-clean < goal) (1*dust < furniture-clean < goal) (2*sweep < floor-not-dusty < goal) (2*sweep < floor-not-dusty < 0*wash-floor) (init < floor-dirty < 0*wash-floor) (init < furniture-dusty < 1*dust) ordering constraints (other than those with goal or init): (2*sweep < 0*wash-floor) open conditions: (floor-dusty, 2*sweep) threats: (('2*sweep', 'floor-not-dusty', 'goal'), '1*dust') (('2*sweep', 'floor-not-dusty', '0*wash-floor'), '1*dust') plan9 ----- Adding causal link with existing step. The new causal link is: ('init', 'floor-dusty', '2*sweep') Removing the opencond: ('floor-dusty', '2*sweep') steps: ['init', 'goal', '0*wash-floor', '1*dust', '2*sweep'] causal links: (0*wash-floor < floor-clean < goal) (1*dust < furniture-clean < goal) (2*sweep < floor-not-dusty < goal) (2*sweep < floor-not-dusty < 0*wash-floor) (init < floor-dirty < 0*wash-floor) (init < furniture-dusty < 1*dust) (init < floor-dusty < 2*sweep) ordering constraints (other than those with goal or init): (2*sweep < 0*wash-floor) threats: (('2*sweep', 'floor-not-dusty', 'goal'), '1*dust') (('2*sweep', 'floor-not-dusty', '0*wash-floor'), '1*dust') plan12 ----- Demotion: ordercons ('1*dust', '2*sweep') fixes threat (('2*sweep', 'floor-not-dusty', 'goal'), '1*dust') steps: ['init', 'goal', '0*wash-floor', '1*dust', '2*sweep'] causal links: (0*wash-floor < floor-clean < goal) (1*dust < furniture-clean < goal) (2*sweep < floor-not-dusty < goal) (2*sweep < floor-not-dusty < 0*wash-floor) (init < floor-dirty < 0*wash-floor) (init < furniture-dusty < 1*dust) (init < floor-dusty < 2*sweep) ordering constraints (other than those with goal or init): (2*sweep < 0*wash-floor) (1*dust < 2*sweep) threats: (('2*sweep', 'floor-not-dusty', '0*wash-floor'), '1*dust') plan14 ----- Demotion: ordercons ('1*dust', '2*sweep') fixes threat (('2*sweep', 'floor-not-dusty', '0*wash-floor'), '1*dust') steps: ['init', 'goal', '0*wash-floor', '1*dust', '2*sweep'] causal links: (0*wash-floor < floor-clean < goal) (1*dust < furniture-clean < goal) (2*sweep < floor-not-dusty < goal) (2*sweep < floor-not-dusty < 0*wash-floor) (init < floor-dirty < 0*wash-floor) (init < furniture-dusty < 1*dust) (init < floor-dusty < 2*sweep) ordering constraints (other than those with goal or init): (2*sweep < 0*wash-floor) (1*dust < 2*sweep) (1*dust < 2*sweep)