As far as I can see, you first create a list of clauses in the
clause array. This you then use to initialise the knowledge base
tell() method, you can add further expressions/clauses to the knowledge base.
In principle they are equivalent, in that both ways of doing this result in clauses being added to the knowledge base, only some at initialisation, others afterwards.
You might have a particular setting/domain which is fixed, and different expressions for different problems, so you can put all the common expressions in at the beginning, and add others later during processing.
CLICK HERE to find out more related problems solutions.