Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- domains
- i = integer
- list_i = i*
- list_l = list_i*
- predicates
- nondeterm leng(list_i,i)
- nondeterm index(list_l,i,list_i)
- nondeterm vvd(list_l,list_l)
- clauses
- index([L|LL],1,L).
- index([L|LL],N,Result):-X=N-1, index(LL,X,Result).
- leng([],0).
- leng([_|L],Res):-leng(L,R), Res=R+1.
- vvd([L1],[]):-leng(L1,N),index([L1|L],N,L2),L1=L2.
- vvd([L1],[L1]):-leng(L1,N),index([L1|L],N,L2),not(L1=L2).
- vvd([L1|L], Res):-leng(L1,N),index([L1|L],N,L2),not(L1=L2),Res=[L1|R],vvd(L,R).
- vvd([L1|L], Res):-leng(L1,N),index([L1|L],N,L2),L1=L2,Res=R,vvd(L,R).
- goal
- %vvd([[1],[1],[1]],Result).
- %index([[1,2,3],[4,5],[6]],2,Res).
- %leng([8,2,3,5],Res).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement