
v(X,Y) :- X>=Y.
v(X,Y) :-
    X<Y,
    writeln(X),
    C is X+1,

    v(C,Y).

fac(1,1).
fac(N,V):-
    N > 1,
    M is N-1,
    fac(M,V1),
    V = N * V1.


fac2(1,Z,Z).
fac2(N,Z,V) :-
    N>1,
    M is N-1,
    Y is Z*N,
    fac2(M,Y,V).

%cis(0).
%cis(X):-
 %cis(Y),
 %Y < 9,
 %X is Y + 1.

cis(X) :- member(X, [0,1,2,3,4,5,6,7,8,9]).

vzor(0,X):- cis(X).
vzor(Y,X):-
    Y>0,
    M is Y-1,
    vzor(M,X1),
    cis(C),
    (X=X1+C; X=X1-C; X=X1*C).

hra(Lim, Cil, X) :-
    Lim1 is Lim - 1,
    vzor(Lim1, X),
    Cil is X.

nepraz([_|_]).

clen(H,[H|_]).
clen(P,[_|O]) :-
    clen(P,O).

inc([],[]).
inc([H|T],[H1|T1]) :-
    H1 is H+1,
    inc(T,T1).
all([]).
all([H|T]):-H,all(T).

exists([H|T]):-H;exists(T).
