(destroyctx 'abs3)
context abs3 nil

(v_pericolose_motore $x1) <- (vibr_pericolosa_A $x1)
			     (obj $x2)(vibr_pericolosa_B $x2)
			     (diff $x1 $x2);

(v_pericolose_motore $x1) <- (vibr_pericolosa_B $x1)
			     (obj $x2)(vibr_pericolosa_A $x2)
			     (diff $x1 $x2);

(v_pericolose_pompa $x1) <-  (vibr_pericolosa_C $x1)
			     (obj $x2)(vibr_pericolosa_D $x2)
			     (diff $x1 $x2);

(v_pericolose_pompa $x1) <-  (vibr_pericolosa_D $x1)
			     (obj $x2)(vibr_pericolosa_C $x2)
			     (diff $x1 $x2);

(v_pericolose_giunto $x1) <- (vibr_pericolosa_B $x1)
			     (obj $x2)(vibr_pericolosa_C $x2)
			     (diff $x1 $x2);

(v_pericolose_giunto $x1) <- (vibr_pericolosa_C $x1)
			     (obj $x2)(vibr_pericolosa_B $x2)
			     (diff $x1 $x2);

(v_pericolose_multiple $x1) <- (v_pericolose_motore $x1) ;
(v_pericolose_multiple $x1) <- (v_pericolose_pompa $x1) ;
(v_pericolose_multiple $x1) <- (v_pericolose_giunto $x1) ;


(sospetto_motore $x1) <- (supporto_sospetto_A $x1)
			 (obj $x2) (supporto_sospetto_B $x2)
			 (diff $x1 $x2) ;

(sospetto_motore $x1) <- (supporto_sospetto_B $x1)
			 (obj $x2) (supporto_sospetto_A $x2)
			 (diff $x1 $x2) ;

(sospetto_pompa $x1)  <- (supporto_sospetto_C $x1)
			 (obj $x2)(supporto_sospetto_D $x2)
			 (diff $x1 $x2) ;

(sospetto_pompa $x1)  <- (supporto_sospetto_D $x1)
			 (obj $x2)(supporto_sospetto_C $x2)
			 (diff $x1 $x2) ;

(sospetto_giunto $x1) <- (supporto_sospetto_B $x1)
			 (obj $x2)(supporto_sospetto_C $x2)
			 (diff $x1 $x2) ;
  
(sospetto_giunto $x1) <- (supporto_sospetto_C $x1)
			 (obj $x2)(supporto_sospetto_B $x2)
			 (diff $x1 $x2) ;
  

(v_pericolosa $x1) <- (v_alta $x1)(velin $x1) ;
(v_pericolosa $x1) <- (v_molto_alta $x1)(velin $x1) ;
(v_pericolosa $x1) <- (v_altissima $x1)(velin $x1) ;

(vibr_pericolosa $x1) <- (v_pericolosa $x1)
			 (obj $x2) (sospetto_out $x2)
			 (eqsup $x1 $x2);

(vibr_pericolosa_A $x1) <- (v_pericolosa $x1)
			   (suppA $x1)
			   (obj $x2)
                           (supporto_sospetto_A $x2) ;

(vibr_pericolosa_B $x1) <- (v_pericolosa $x1)
			   (suppB $x1)
			   (obj $x2)
                           (supporto_sospetto_B $x2) ;

(vibr_pericolosa_C $x1) <- (v_pericolosa $x1)
			   (suppC $x1)
			   (obj $x2)
                           (supporto_sospetto_C $x2) ;

(vibr_pericolosa_D $x1) <- (v_pericolosa $x1)
			   (suppD $x1)
			   (obj $x2)
                           (supporto_sospetto_D $x2) ;

(massimo_alto $x1) <- (v_alta $x1)
		      (max $x2)
		      (diff $x1 $x2) ;

(massimo_falte $x1) <- (falte $x1)
		       (max $x2)
		       (diff $x1 $x2) ;

(massimo_f123 $x1) <- (frpm1_2_3 $x1)
		       (max $x2)
		       (diff $x1 $x2) ;

(massimo_fm $x1) <- (fm $x1)
		       (max $x2)
		       (diff $x1 $x2) ;

(massimo_ab $x1) <- (lato_motore $x1)
		       (max $x2)
		       (diff $x1 $x2) ;

(massimo_bc $x1) <- (lati_giunto $x1)
		       (max $x2)
		       (diff $x1 $x2) ;

(massimo_cd $x1) <- (lato_pompa $x1)
		       (max $x2)
		       (diff $x1 $x2) ;

(a_a_alta_out $x1) <- (ampout $x1)
                      (axial $x1)
                      (abbastanza_alto_out $x1)  ;

(a_r_alta_out $x1) <- (ampout $x1)
                      (rad $x1)
                      (abbastanza_alto_out $x1) ;

(v_a_alta_out $x1) <- (velout $x1)
                      (axial $x1)
                      (abbastanza_alto_out $x1) ;

(v_r_alta_out $x1) <- (velout $x1)
                      (rad $x1)
                      (abbastanza_alto_out $x1) ;

(sospetto_out $x1) <- (velin $x1)
		      (a_a_alta_out $x2)
		      (eqsup $x1 $x2);
(sospetto_out $x1) <- (velin $x1)
		      (a_r_alta_out $x2)
		      (eqsup $x1 $x2);
(sospetto_out $x1) <- (velin $x1)
		      (v_a_alta_out $x2)
		      (eqsup $x1 $x2);
(sospetto_out $x1) <- (velin $x1)
		      (v_r_alta_out $x2)
		      (eqsup $x1 $x2);


(supporto_sospetto_A $x1) <- (suppA $x1)
                             (sospetto_out $x1) ;
(supporto_sospetto_B $x1) <- (suppB $x1)
                             (sospetto_out $x1) ;
(supporto_sospetto_C $x1) <- (suppC $x1)
                             (sospetto_out $x1) ;
(supporto_sospetto_D $x1) <- (suppD $x1)
                             (sospetto_out $x1) ;


