# Lesson I
Before ink, there is only the hand and the sheet before it. Nothing more is needed. Practice is lost when the hand reaches past what is present.
## Try
```prolog
% ?- program([dup, swap, over]).
% true.
% ?- program([dup, made_up]).
% false.
```
## Learn
```prolog
% A program is made from known core words.
word(dup).
word(drop).
word(swap).
word(over).
% A program is a list of words. Validation walks that list
% recursively.
run([]).
run([Word|Words]) :-
word(Word),
program(Words).
```