/* une diée de ce qui était attendu ...
1- Preuves : ['A' (x,y) : ((v(y) & c(x,y)) -> s(x)) , 'A' x : (f(x) -> c(x,x)) ] |- 'A' x : ((v(x) & f(x)) -> s(x))


2- Prolog :

freq(L,S) :- freq(L , [] , S).

freq([] , S , S).

freq([N|L] , S1 , S3) :- maj(N,S1,S2) , freq(L,S2,S3).


3-Sem. Struct.

% R-for

(for(I1, Be,I2 , I3), M) '-i->' M1 :-

(I1, M) '-i->' M2 , (while(Be, (I3 ; I2)), M2) '-i->' M1 .

DCG :

inst(for(I1,B,I2,I3)) --> [for] , ['('] , sa(I1) , [';'] , exb(B) , [';'] , sa(I2) , [')'] , [do] , prog(I3) , [end] .

sa(AST) --> [A] , {atom(A)}, [':='] , exp(E) , fsa(F) , {saf(A=E,F , AST)}.

saf(A,[] , A).

saf(I,S , (I;S)) :- S \= [] .

fsa([]) --> [] .

fsa(SA) --> [','] , sa(SA).


4 - JAVA :
class SimpleCompteur extends Observable{
   private int count = 0;
   
   public void inc() { 
      count++; 
      setChanged();
      notifyObservers(new Integer(count)); 
   }
}
   
class SimpleObserver implements Observer  {

   public void update( Observable sender, Object arg ) {
      System.out.println( "From " + sender + " With value: " + arg);
   }
}