refresh(_Concept) :-
	known(_Concept, _Value),
	ask_usr(_Concept, _Value).
refresh(_).					%% always succeed
refresh(_Concept, _Keys) :-
	known(_Concept, _Keys, _Value),
	ask_usr(_Concept, _Value).
refresh(_, _).					%% always succeed

%%  append(First_part, Second_part, List) iff List is the
%%  concatenation of the first two arguments.

append([], List, List).
append([Elem | First_part], Second_part, [Elem | List]) :-
  append(First_part, Second_part, List).

%% to support finding number of petri network arcs
llen('[]',0) :-
	!.
llen([_L0,_L1|_L2],_L) :-
	!,
	llen(_L2,_Len),
	_L is _Len + 2.
llen([_L0|_L1],_L) :-
	llen(_L1,_Len),
	_L is _Len + 1.

first([X|_],X).

