// Block world, with 8 blocks A, B, C, D, E, F, G, H and one table // // Particularité : Complexe. // |B| // |A| |B| // |G| |F| // |C| ----> |C| // |H| |E| |F| |D| |A| |H| // // Facts meanings // ta = onTable(a) // oab = on(a, b) a is on b // na = nothingOnTopOf(a) // // Operators meanings // sAB = stack a on b // uAB = remove a from b, and put a on table. #facts (th, och, ogc, oag, oba, nb, te, ne, tf, nf, td, nd) #goal (oca, ofc, obf, ta, nb, th, nh) #operator //(op ) //Move action ( (op sAB (nb, ta, na) (oab) (nb, ta)) (op sAC (nc, ta, na) (oac) (nc, ta)) (op sAD (nd, ta, na) (oad) (nd, ta)) (op sAE (ne, ta, na) (oae) (ne, ta)) (op sAF (nf, ta, na) (oaf) (nf, ta)) (op sAG (ng, ta, na) (oag) (ng, ta)) (op sAH (nh, ta, na) (oah) (nh, ta)) (op sBA (na, tb, nb) (oba) (na, tb)) (op sBC (nc, tb, nb) (obc) (nc, tb)) (op sBD (nd, tb, nb) (obd) (nd, tb)) (op sBE (ne, tb, nb) (obe) (ne, tb)) (op sBF (nf, tb, nb) (obf) (nf, tb)) (op sBG (ng, tb, nb) (obg) (ng, tb)) (op sBH (nh, tb, nb) (obh) (nh, tb)) (op sCA (na, tc, nc) (oca) (na, tc)) (op sCB (nb, tc, nc) (ocb) (nb, tc)) (op sCD (nd, tc, nc) (ocd) (nd, tc)) (op sCE (ne, tc, nc) (oce) (ne, tc)) (op sCF (nf, tc, nc) (ocf) (nf, tc)) (op sCG (ng, tc, nc) (ocg) (ng, tc)) (op sCH (nh, tc, nc) (och) (nh, tc)) (op sDA (na, td, nd) (oda) (na, td)) (op sDB (nb, td, nd) (odb) (nb, td)) (op sDC (nc, td, nd) (odc) (nc, td)) (op sDE (ne, td, nd) (ode) (ne, td)) (op sDF (nf, td, nd) (odf) (nf, td)) (op sDG (ng, td, nd) (odg) (ng, td)) (op sDH (nh, td, nd) (odh) (nh, td)) (op sEA (na, te, ne) (oea) (na, te)) (op sEB (nb, te, ne) (oeb) (nb, te)) (op sEC (nc, te, ne) (oec) (nc, te)) (op sED (nd, te, ne) (oed) (nd, te)) (op sEF (nf, te, ne) (oef) (nf, te)) (op sEG (ng, te, ne) (oeg) (ng, te)) (op sEH (nh, te, ne) (oeh) (nh, te)) (op sFA (na, tf, nf) (ofa) (na, tf)) (op sFB (nb, tf, nf) (ofb) (nb, tf)) (op sFC (nc, tf, nf) (ofc) (nc, tf)) (op sFD (nd, tf, nf) (ofd) (nd, tf)) (op sFE (ne, tf, nf) (ofe) (ne, tf)) (op sFG (ng, tf, nf) (ofg) (ng, tf)) (op sFH (nh, tf, nf) (ofh) (nh, tf)) (op sGA (na, tg, ng) (oga) (na, tg)) (op sGB (nb, tg, ng) (ogb) (nb, tg)) (op sGC (nc, tg, ng) (ogc) (nc, tg)) (op sGD (nd, tg, ng) (ogd) (nd, tg)) (op sGE (ne, tg, ng) (oge) (ne, tg)) (op sGF (nf, tg, ng) (ogf) (nf, tg)) (op sGH (nh, tg, ng) (ogh) (nh, tg)) (op sHA (na, th, nh) (oha) (na, th)) (op sHB (nb, th, nh) (ohb) (nb, th)) (op sHC (nc, th, nh) (ohc) (nc, th)) (op sHD (nd, th, nh) (ohd) (nd, th)) (op sHE (ne, th, nh) (ohe) (ne, th)) (op sHF (nf, th, nh) (ohf) (nf, th)) (op sHG (ng, th, nh) (ohg) (ng, th)) (op uAB (na, oab) (ta, nb) (oab)) (op uAC (na, oac) (ta, nc) (oac)) (op uAD (na, oad) (ta, nd) (oad)) (op uAE (na, oae) (ta, ne) (oae)) (op uAF (na, oaf) (ta, nf) (oaf)) (op uAG (na, oag) (ta, ng) (oag)) (op uAH (na, oah) (ta, nh) (oah)) (op uBA (nb, oba) (tb, na) (oba)) (op uBC (nb, obc) (tb, nc) (obc)) (op uBD (nb, obd) (tb, nd) (obd)) (op uBE (nb, obe) (tb, ne) (obe)) (op uBF (nb, obf) (tb, nf) (obf)) (op uBG (nb, obg) (tb, ng) (obg)) (op uBH (nb, obh) (tb, nh) (obh)) (op uCA (nc, oca) (tc, na) (oca)) (op uCB (nc, ocb) (tc, nb) (ocb)) (op uCD (nc, ocd) (tc, nd) (ocd)) (op uCE (nc, oce) (tc, ne) (oce)) (op uCF (nc, ocf) (tc, nf) (ocf)) (op uCG (nc, ocg) (tc, ng) (ocg)) (op uCH (nc, och) (tc, nh) (och)) (op uDA (nd, oda) (td, na) (oda)) (op uDB (nd, odb) (td, nb) (odb)) (op uDC (nd, odc) (td, nc) (odc)) (op uDE (nd, ode) (td, ne) (ode)) (op uDF (nd, odf) (td, nf) (odf)) (op uDG (nd, odg) (td, ng) (odg)) (op uDH (nd, odh) (td, nh) (odh)) (op uEA (ne, oea) (te, na) (oea)) (op uEB (ne, oeb) (te, nb) (oeb)) (op uEC (ne, oec) (te, nc) (oec)) (op uED (ne, oed) (te, nd) (oed)) (op uEF (ne, oef) (te, nf) (oef)) (op uEG (ne, oeg) (te, ng) (oeg)) (op uEH (ne, oeh) (te, nh) (oeh)) (op uFA (nf, ofa) (tf, na) (ofa)) (op uFB (nf, ofb) (tf, nb) (ofb)) (op uFC (nf, ofc) (tf, nc) (ofc)) (op uFD (nf, ofd) (tf, nd) (ofd)) (op uFE (nf, ofe) (tf, ne) (ofe)) (op uFG (nf, ofg) (tf, ng) (ofg)) (op uFH (nf, ofh) (tf, nh) (ofh)) (op uGA (ng, oga) (tg, na) (oga)) (op uGB (ng, ogb) (tg, nb) (ogb)) (op uGC (ng, ogc) (tg, nc) (ogc)) (op uGD (ng, ogd) (tg, nd) (ogd)) (op uGE (ng, oge) (tg, ne) (oge)) (op uGF (ng, ogf) (tg, nf) (ogf)) (op uGH (ng, ogh) (tg, nh) (ogh)) (op uHA (nh, oha) (th, na) (oha)) (op uHB (nh, ohb) (th, nb) (ohb)) (op uHC (nh, ohc) (th, nc) (ohc)) (op uHD (nh, ohd) (th, nd) (ohd)) (op uHE (nh, ohe) (th, ne) (ohe)) (op uHF (nh, ohf) (th, nf) (ohf)) (op uHG (nh, ohg) (th, ng) (ohg)) )