/* ese12.pro  */
/* GOAL :verticale(S)..orizzontale(S)  */

nowarnings         
domains
punto    = punto(integer,integer)
segmento = segmento(punto,punto)

predicates
verticale(segmento)
orizzontale(segmento)
clauses

verticale(segmento(punto(1,1),punto(1,8))).
verticale(segmento(punto(5,1),punto(5,9))).
orizzontale(segmento(punto(1,1),punto(9,1))).
orizzontale(segmento(punto(5,1),punto(15,1))).

ritorna