ATermAppl and = ATermUtils.makeSimplifiedAnd( Arrays.asList( c1, c2 ) );
createConceptsFromAxiom( and, ATermUtils.BOTTOM );
}
private void processAxiom(ATermAppl axiom) {
AFun fun = axiom.getAFun();
if( fun.equals( ATermUtils.DISJOINTSFUN ) ) {
ATermList concepts = (ATermList) axiom.getArgument( 0 );
int n = concepts.getLength();
ATermAppl[] simplified = new ATermAppl[n];
for( int i = 0; !concepts.isEmpty(); concepts = concepts.getNext(), i++ ) {
simplified[i] = ELSyntaxUtils.simplify( (ATermAppl) concepts.getFirst() );
}
for( int i = 0; i < n - 1; i++ ) {
for( int j = i + 1; j < n; j++ ) {
createDisjointAxiom( simplified[i], simplified[j] );
}
}
}
else {
ATermAppl sub = (ATermAppl) axiom.getArgument( 0 );
ATermAppl sup = (ATermAppl) axiom.getArgument( 1 );
sub = ELSyntaxUtils.simplify( sub );
sup = ELSyntaxUtils.simplify( sup );
if( fun.equals( ATermUtils.SUBFUN ) ) {
createConceptsFromAxiom( sub, sup );
}
else if( fun.equals( ATermUtils.EQCLASSFUN ) ) {
createConceptsFromAxiom( sub, sup );
createConceptsFromAxiom( sup, sub );
}
else if( fun.equals( ATermUtils.DISJOINTFUN ) ) {
createDisjointAxiom( sub, sup );
}
else {
throw new IllegalArgumentException( "Axiom " + axiom + " is not EL." );
}