//A \emph{complete extension} is ...


? inter:
	
	(! R: in_rule_generate(R) =>  
		( 
			(! A: in_pos_body_generate(R,A) => inter(A)) 
			& 
			(! A: in_neg_body_generate(R,A) => ~ inter(A))
		 => 
		 	(? A: in_head_generate(R,A) & inter(A))     
	 	) 
 	) 
 	&
 	(~ ? inter_sub:
 		( ! A: in_atom_generate(A) & inter_sub(A) => inter(A)) 
 		& 
 		( ? A: in_atom_generate(A) & inter(A) & ~ inter_sub(A) )
 		& 
 		( !A: in_parameter_generate(A) => ( inter(A) <=> inter_sub(A) ))
 		& 
	 	(
	 		! R: in_rule_generate(R) =>  
			( 
				(! A: in_pos_body_generate(R,A) => inter_sub(A)) 
				& 
				(! A: in_neg_body_generate(R,A) => ~ inter(A))
			 => 
			 	(? A: in_head_generate(R,A) & inter_sub(A))     
		 	) 
	 	) 
 	)
 	
 	
 	//SO FAR: STABLE MODEL
 	//NOW: UNSTABLE MODEL
 	
 	& 
 	~ ? inter_test:
 		(! A: ( in_atom_test(A) &  in_atom_generate(A) ) => ( inter(A) <=> inter_test(A) ) )
 		&
		(! R: in_rule_test(R) =>  
			( 
				((! A: in_pos_body_test(R,A) => inter_test(A)) 
				& 
				(! A: in_neg_body_test(R,A) => ~ inter_test(A)))
			 => 
			 	(? A: in_head_test(R,A) & inter_test(A))     
		 	) 
	 	) 
	 	&
	 	(~ ? inter_sub_test:
	 		( ! A: in_atom_test(A) & inter_sub_test(A) => inter_test(A)) 
	 		& 
	 		( ? A: in_atom_test(A) & inter_test(A) & ~ inter_sub_test(A) )
	 		& 
	 		( !A: in_parameter_test(A) => ( inter_test(A) <=> inter_sub_test(A) ))
	 		& 
		 	(
		 		! R: in_rule_test(R) =>  
				( 
					((! A: in_pos_body_test(R,A) => inter_sub_test(A)) 
					& 
					(! A: in_neg_body_test(R,A) => ~ inter_test(A)))
				 => 
				 	(? A: in_head_test(R,A) & inter_sub_test(A))     
			 	) 
		 	)
		 )	
		 	
		 .


