home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / spezial / 01 / newton / zuzieh.pro < prev   
Encoding:
Prolog Source  |  1987-06-22  |  2.4 KB  |  52 lines

  1. /********************************************************************/
  2. /*                          ZUZIEH.PRO                              */
  3. /*                   Zusammenfassung von Termen                     */
  4. /********************************************************************/
  5.  
  6. predicates 
  7.     zusammenziehen(term,term)
  8.  
  9. clauses
  10.     zusammenziehen(mal(A,B),npot(AV,nconst(2))) IF
  11.         vereinfache(A,AV) AND vereinfache(B,BV) AND AV = BV AND !. 
  12.     zusammenziehen(mal(A,npot(B,N)),npot(AV,plus(nconst(1),N))) IF 
  13.         vereinfache(A,AV) AND vereinfache(B,BV) AND AV = BV AND !. 
  14.     zusammenziehen(mal(npot(B,N),A),npot(AV,plus(nconst(1),N))) IF 
  15.         vereinfache(A,AV) AND vereinfache(B,BV) AND AV = BV AND !. 
  16.     zusammenziehen(div(A,npot(B,N)),div(nconst(1),
  17.                  npot(AV,plus(nconst(1),N)))) IF 
  18.         vereinfache(A,AV) AND vereinfache(B,BV) AND AV = BV AND !. 
  19.     zusammenziehen(div(npot(B,N),A),npot(AV,minus(N,nconst(1)))) IF 
  20.         vereinfache(A,AV) AND vereinfache(B,BV) AND AV = BV AND !. 
  21.     zusammenziehen(div(A,B),nconst(1)) IF 
  22.         vereinfache(A,AV) AND vereinfache(B,BV) AND AV = BV AND !. 
  23.     zusammenziehen(minus(A,B),nconst(0)) IF 
  24.         vereinfache(A,AV) AND vereinfache(B,BV) AND AV = BV AND !. 
  25.     zusammenziehen(plus(A,B),mal(nconst(2),AV)) IF 
  26.         vereinfache(A,AV) AND vereinfache(B,BV) AND AV = BV AND !. 
  27.     zusammenziehen(plus(A,mal(N,B)),mal(N1,AV)) IF
  28.         vereinfache(plus(N,nconst(1)),N1)  
  29.         AND vereinfache(A,AV) AND vereinfache(B,BV)
  30.         AND AV = BV AND ! .
  31.     zusammenziehen(plus(A,mal(B,N)),mal(N1,AV)) IF
  32.         vereinfache(plus(N,nconst(1)),N1)  
  33.         AND vereinfache(A,AV) AND vereinfache(B,BV)
  34.         AND AV = BV AND ! .
  35.     zusammenziehen(plus(mal(N,B),A),mal(N1,AV)) IF
  36.         vereinfache(plus(N,nconst(1)),N1)  
  37.         AND vereinfache(A,AV) AND vereinfache(B,BV)
  38.         AND AV = BV AND ! .
  39.     zusammenziehen(plus(mal(B,N),A),mal(N1,AV)) IF
  40.         vereinfache(plus(N,nconst(1)),N1)  
  41.         AND vereinfache(A,AV) AND vereinfache(B,BV)
  42.         AND AV = BV AND ! .
  43.  
  44.     zusammenziehen(minus(mal(N,B),A),mal(N1,AV)) IF
  45.         vereinfache(minus(N,nconst(1)),N1)  
  46.         AND vereinfache(A,AV) AND vereinfache(B,BV)
  47.         AND AV = BV AND !.
  48.     zusammenziehen(minus(mal(B,N),A),mal(N1,AV)) IF
  49.         vereinfache(minus(N,nconst(1)),N1)  
  50.         AND vereinfache(A,AV) AND vereinfache(B,BV)
  51.         AND AV = BV AND !.
  52.