['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'] 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)