Lists and conjunctions and disjunctions

Documentation on exports

list_to_conj(List,Conj,End)

Conj is the conjunction made up of the elements of List plus a final element End.

Usage 1:list_to_conj(A,B)

Conj is the conjunction made up of the elements of List. ([] is true). It runs in both ways.

?- list_to_conj( A , a ).

A = [a] ? ;

no
?- list_to_conj( A , (a,V) ).

A = [a,V] ? ;

no
?- list_to_conj( A , (a,V,b) ).

A = [a,V,b] ? ;

no
?- list_to_conj( [A] , B ).

B = A ? ;

no
?- list_to_conj( [a,A] , B ).

B = (a,A) ? ;

no
?- list_to_conj( [a,A,b] , B ).

B = (a,A,b) ? ;

no
?- list_to_conj( [] , B ).

B = true ? ;

no

Usage 2:list_to_conj(A,B)

conj_to_list(Conj,List)

List is the list made up of the elements of conjunction Conj (true is []).

Usage 1:list_to_disj(A,B)

Disj is the disjunction made up of the elements of List. ([] is true). It runs in both ways. Examples:

?- list_to_disj( [a] , A ).

A = a ? ;

no
?- list_to_disj( [a,b] , A ).

A = (a;b) ? ;

no
?- list_to_disj( [a,B,b] , A ).

A = (a;B;b) ? ;

no
?- list_to_disj( [a,b,B] , A ).

A = (a;b;B) ? ;

no
?- list_to_disj( A , (a) ).

A = [a] ? ;

no
?- list_to_disj( A , (a;b) ).

A = [a,b] ? ;

no
?- list_to_disj( A , (a;B;b) ).

A = [a,B,b] ? ;

no
?- 

Usage 2:list_to_disj(A,B)

disj_to_list(Disj,List)

List is the list made up of the elements of disjunction Disj (true is []).

Turns a conjunctive (normal form) formula into a list (of lists of ...). As a side-effect, inner conjunctions get flattened. No special care for true.

Inverse of conj_to_llist/2. No provisions for anything else than a non-empty list on input (i.e., they will go `as are' in the output.

Turns a disjunctive (normal form) formula into a list (of lists of ...). As a side-effect, inner disjunctions get flattened. No special care for true.

Inverse of disj_to_llist/2. No provisions for anything else than a non-empty list on input (i.e., they will go `as are' in the output.

PREDICATEbody2list/2
No further documentation available for this predicate.

Usage 1:asbody_to_conj(A,B)

Transforms assertion body A into a conjuntion (B). It runs in both ways

Usage 2:asbody_to_conj(A,B)

No further documentation available for this predicate.

Usage:

The usual prolog way of writing conjuntions and disjuntions in a body using ',' and ';'

    REGTYPEt_conj/1

    Usage:

    Conjuntions.

      REGTYPEt_disj/1

      Usage:

      Disjunctions.

        No further documentation available for this predicate.

        Documentation on imports

        This module has the following direct dependencies: