native (library)

This module has the basic procedures for understanding predicates as builtins and properties as native properties.

Usage and interface

Documentation on exports

PREDICATEbuiltin/2
checks that a user level (property) predicate is declared native and translates it into the internal representation for that native (builtin or property) predicate.

native_prop_map(Prop,P,Vars)

Prop is a property P(Vars) representing a mapping map(Vars,P)

Defined as
native_prop_term(Prop) :-
        native:native(Prop).
native_prop_term(regtype(Prop)) :-
        callable(Prop).

Usage:native_prop_term(Prop)

Prop identifies a native property.

    PREDICATEwam_builtin/2
    No further documentation available for this predicate.

    Documentation on internals

    REGTYPEnative/1
    native(Prop)

    Prop is (the internal representation of) a native property: one that CiaoPP knows natively how to manipulate.

    native(covered(V,L)) :-
            var(V),
            list(L,var).
    native(free(L)) :-
            vlist(L).
    native(ground(L)) :-
            vlist(L).
    native(indep(L)) :-
            list(L,list(var)).
    native(instance(V,T)) :-
            var(V),
            nonvar(T).
    native(linear(L)) :-
            vlist(L).
    native(not_free(L)) :-
            vlist(L).
    native(not_ground(L)) :-
            vlist(L).
    native(sharing(L)) :-
            list(L,list(var)).
    native(covered).
    native(fails).
    native(is_det).
    native(mut_exclusive).
    native(non_det).
    native(not_covered).
    native(not_fails).
    native(not_mut_exclusive).
    native(sideff(X)) :-
            member(X,[pure,soft,hard]).
    native(steps(C)) :-
            cost_exp(C).
    native(steps_lb(C)) :-
            cost_exp(C).
    native(steps_ub(C)) :-
            cost_exp(C).
    native(steps_o(C)) :-
            cost_exp(C).
    native(cost(C)) :-
            resource_exp(C).
    native(terminates).
    native(size(C)) :-
            cost_exp(C).
    native(size(A,B)) :-
            var(A),
            cost_exp(B).
    native(size_lb(C)) :-
            cost_exp(C).
    native(size_ub(C)) :-
            cost_exp(C).
    native(size_o(C)) :-
            cost_exp(C).
    native(rsize(A,_B)) :-
            var(A).
    native(cardinality(_N,_M)).
    native(costb(_R,_N,_M)).
    native(X) :-
            native(X,X).
    

    REGTYPEvlist/1
    vlist(L) :-
            var(L).
    vlist(L) :-
            list(L,var).
    

    Documentation on imports

    This module has the following direct dependencies: