func islando(q l.V) l.Goal { db.Assert("A", North_of, "C") db.Assert("B", North_of, "D") db.Assert("D", East_of, "C") db.Assert("B", East_of, "A") membero := l.StructMemberoConstructor4(n) alabaster_island, durian_island, banana_island := l.Fresh3() pwana_island, quero_island, skern_island, rayou_island := l.Fresh4() hotel_island, koala_island, jai_island, skating_island := l.Fresh4() return l.And( l.Unify(Nation{Island{"A", v(), v(), v()}, Island{"B", v(), v(), v()}, Island{"C", v(), v(), v()}, Island{"D", v(), v(), v()}}, q), // 1 north_of(pwana_island, koala_island), //2 east_of(quero_island, alabaster_island), //3 east_of(hotel_island, durian_island), //4 north_south_bridge(skern_island, jai_island), //5 west_east_bridge(rayou_island, banana_island), //6 disconnected(skating_island, jai_island), // membero(Island{pwana_island, "Pwana", v(), v()}, q), membero(Island{quero_island, "Quero", v(), v()}, q), membero(Island{rayou_island, "Rayou", v(), v()}, q), membero(Island{skern_island, "Skern", v(), v()}, q), // membero(Island{alabaster_island, v(), "alabaster", v()}, q), membero(Island{banana_island, v(), "bananas", v()}, q), membero(Island{v(), v(), "coconuts", v()}, q), membero(Island{durian_island, v(), "durian fruit", v()}, q), // membero(Island{hotel_island, v(), v(), "hotel"}, q), membero(Island{skating_island, v(), v(), "ice skating rink"}, q), membero(Island{jai_island, v(), v(), "jai alai stadium"}, q), membero(Island{koala_island, v(), v(), "koala preserve"}, q), ) }
func babbyo(q l.V) l.Goal { keiths_last_name, libbys_last_name, margos_last_name, noras_last_name, ottos_last_name := l.Fresh5() keiths_age, noras_age, margos_age, ottos_age, libbys_age := l.Fresh5() iveys_age, fells_age, halls_age := l.Fresh3() membero := l.StructMemberoConstructor5(c) return l.And( l.Unify(Children{Child{"Keith", keiths_last_name, keiths_age}, Child{"Libby", libbys_last_name, libbys_age}, Child{"Margo", margos_last_name, margos_age}, Child{"Nora", noras_last_name, noras_age}, Child{"Otto", ottos_last_name, ottos_age}}, q), //2 l.Difference(keiths_age, 1, iveys_age), l.Difference(iveys_age, 1, noras_age), //3 l.Difference(fells_age, 3, margos_age), //4 l.Mult(halls_age, 2, ottos_age), // 1 membero(Child{"Libby", "Jule", v()}, q), // membero(Child{v(), "Fell", fells_age}, q), membero(Child{v(), "Gant", v()}, q), membero(Child{v(), "Hall", halls_age}, q), membero(Child{v(), "Ivey", iveys_age}, q), membero(Child{v(), "Jule", v()}, q), membero(Child{v(), v(), 2}, q), membero(Child{v(), v(), 3}, q), membero(Child{v(), v(), 4}, q), membero(Child{v(), v(), 5}, q), membero(Child{v(), v(), 6}, q), ) }