
it.unibz.inf.ontop.substitution.UnifierBuilder Maven / Gradle / Ivy
package it.unibz.inf.ontop.substitution;
import com.google.common.collect.ImmutableList;
import it.unibz.inf.ontop.model.term.ImmutableTerm;
import java.util.Optional;
import java.util.function.Function;
import java.util.function.IntFunction;
import java.util.stream.IntStream;
import java.util.stream.Stream;
/**
* Creates a unifier for args1 and args2
*
* The operation is as follows
*
* {x/y, m/y} composed with (y,z) is equal to {x/z, m/z, y/z}
*
*/
public interface UnifierBuilder {
UnifierBuilder unify(ImmutableList extends T> args1, ImmutableList extends T> args2);
UnifierBuilder unify(IntStream indexes, IntFunction extends T> args1, IntFunction extends T> args2);
UnifierBuilder unify(Stream stream, Function args1, Function args2);
UnifierBuilder unify(T t1, T t2);
Optional> build();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy