*** Wrote class files in ./classes/
***
*** Fuzzy Facility for First-order terms
*** Run of Wed Aug 15 07:52:34 CEST 2018
*** 
*** This is a facility (under development) for fuzzy lattice operations on first-order terms
*** 
*** Type '#help;<CR>' for help or 'quit;<CR>' to quit (if no prompt upon an error, type ';<CR>')
*** 

  > #fun f/2 g/3 a/0 b/0;
!!! New functor added to signature: f/2
!!! New functor added to signature: g/3
!!! New functor added to signature: a/0
!!! New functor added to signature: b/0
*** The current signature has 4 functors: {f/2, g/3, a/0, b/0}
  > #sim f g .9 a b .7;
*** Declared similarities: 
	f g 0.9
	a b 0.7
  > #close;
*** Similarity closure computed (enter '#show;<CR>' to see it)
  > f(a,b) /\ g(b,a,b);
>>> Processing fuzzy unification
*** Fuzzy glb = f(a,b)
*** Approximation degree = 0.7
  > f(a,b) \/ g(b,a,b);
>>> Processing fuzzy generalization
*** Fuzzy lub = f(a,b)
*** Approximation degree = 0.7
  > #sim p q .6;
!!! Unknown functor p (similarity declaration ignored)
!!! Unknown functor q (similarity declaration ignored)
*** Declared similarities: 
	f g 0.9
	a b 0.7
  > #fun p/1 q/1;
!!! New functor added to signature: p/1
!!! Similarity closure re-computed (enter '#show;<CR>' to see it)
!!! New functor added to signature: q/1
!!! Similarity closure re-computed (enter '#show;<CR>' to see it)
*** The current signature has 6 functors: {f/2, g/3, a/0, b/0, p/1, q/1}
  > #close;
*** Similarity closure computed (enter '#show;<CR>' to see it)
  > #show;
*** The similarity closure of the declared similar functor pairs is:

     f/2  g/3  a/0  b/0  p/1  q/1  
     ---  ---  ---  ---  ---  ---  
f |  1.0  0.9  0.0  0.0  0.0  0.0 

g |  0.9  1.0  0.0  0.0  0.0  0.0 

a |  0.0  0.0  1.0  0.7  0.0  0.0 

b |  0.0  0.0  0.7  1.0  0.0  0.0 

p |  0.0  0.0  0.0  0.0  1.0  0.0 

q |  0.0  0.0  0.0  0.0  0.0  1.0 

*** Its set of similarity degrees is: {0.0, 0.7, 0.9, 1.0}

*** Its fuzzy partitions are:

*** >= 0.0:  {f,g,a,b,p,q}

*** >= 0.7:  {f,g} {a,b} {p} {q}

*** >= 0.9:  {f,g} {a} {b} {p} {q}

*** >= 1.0:  {f} {g} {a} {b} {p} {q}

  > #sim p q .6;
!!! New similarity declaration; old similarity cleared (re-compute with '#close;<CR>')
*** Declared similarities: 
	f g 0.9
	a b 0.7
	p q 0.6
  > #close;
*** Similarity closure computed (enter '#show;<CR>' to see it)
  > p(f(a,b)) /\ q(g(b,a,b));
>>> Processing fuzzy unification
*** Fuzzy glb = p(f(a,b))
*** Approximation degree = 0.6
  > p(f(a,b)) \/ q(g(b,a,b));
>>> Processing fuzzy generalization
*** Fuzzy lub = p(f(a,b))
*** Approximation degree = 0.6
  > r(f(a,b)) /\ s(g(b,a,b));
!!! New functor added to signature: r/1
!!! Similarity closure re-computed (enter '#show;<CR>' to see it)
!!! New functor added to signature: s/1
!!! Similarity closure re-computed (enter '#show;<CR>' to see it)
>>> Processing fuzzy unification
*** These terms are not fuzzy unifiable
  > #sim r s .4;
!!! New similarity declaration; old similarity cleared (re-compute with '#close;<CR>')
*** Declared similarities: 
	f g 0.9
	a b 0.7
	p q 0.6
	r s 0.4
  > r(f(a,b)) /\ s(g(b,a,b));
>>> Processing crisp unification
*** These terms are not unifiable
  > #close;
*** Similarity closure computed (enter '#show;<CR>' to see it)
  > r(f(a,b)) /\ s(g(b,a,b));
>>> Processing fuzzy unification
*** Fuzzy glb = r(f(a,b))
*** Approximation degree = 0.4


  > f(X,X) \/ g(b,a,b);
>>> Processing fuzzy generalization
*** Fuzzy lub = f(_0,_1)
*** Approximation degree = 0.9
*** Left substitution:
*** _0 = X
*** _1 = X
*** Right substitution:
*** _0 = b
*** _1 = a

THIS IS WRONG! It should be:

  > f(X,X) \/ g(b,a,b);
>>> Processing fuzzy generalization
*** Fuzzy lub = f(_0,_0)
*** Approximation degree = 0.7
*** Left substitution:
*** _0 = X
*** Right substitution:
*** _0 = b
  > 