(provable(rule(A,C)) & provable(A)) => provable(C)
~provable(rule(A,C) | ~provable(A) | provable(C)
~provable(e(A,C)) | ~provable(A) | provable(C) #--CD
provable(e(e(X,Y),e(Y,X))) #--EC-4
provable(e(e(e(X,Y),Z),e(X,e(Y,Z)))) #--EC-5
~provable(e(e(e(a,v),e(c,a)),e(b,c))) #--Deny EC-1