QedeqVisitor.java
001 /* This file is part of the project "Hilbert II" - http://www.qedeq.org
002  *
003  * Copyright 2000-2011,  Michael Meyling <mime@qedeq.org>.
004  *
005  * "Hilbert II" is free software; you can redistribute
006  * it and/or modify it under the terms of the GNU General Public
007  * License as published by the Free Software Foundation; either
008  * version 2 of the License, or (at your option) any later version.
009  *
010  * This program is distributed in the hope that it will be useful,
011  * but WITHOUT ANY WARRANTY; without even the implied warranty of
012  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
013  * GNU General Public License for more details.
014  */
015 
016 package org.qedeq.kernel.se.visitor;
017 
018 import org.qedeq.kernel.se.base.module.Add;
019 import org.qedeq.kernel.se.base.module.Author;
020 import org.qedeq.kernel.se.base.module.AuthorList;
021 import org.qedeq.kernel.se.base.module.Axiom;
022 import org.qedeq.kernel.se.base.module.Chapter;
023 import org.qedeq.kernel.se.base.module.ChapterList;
024 import org.qedeq.kernel.se.base.module.Existential;
025 import org.qedeq.kernel.se.base.module.FormalProof;
026 import org.qedeq.kernel.se.base.module.FormalProofLine;
027 import org.qedeq.kernel.se.base.module.FormalProofLineList;
028 import org.qedeq.kernel.se.base.module.FormalProofList;
029 import org.qedeq.kernel.se.base.module.Formula;
030 import org.qedeq.kernel.se.base.module.FunctionDefinition;
031 import org.qedeq.kernel.se.base.module.Header;
032 import org.qedeq.kernel.se.base.module.Import;
033 import org.qedeq.kernel.se.base.module.ImportList;
034 import org.qedeq.kernel.se.base.module.InitialFunctionDefinition;
035 import org.qedeq.kernel.se.base.module.InitialPredicateDefinition;
036 import org.qedeq.kernel.se.base.module.Latex;
037 import org.qedeq.kernel.se.base.module.LatexList;
038 import org.qedeq.kernel.se.base.module.LinkList;
039 import org.qedeq.kernel.se.base.module.LiteratureItem;
040 import org.qedeq.kernel.se.base.module.LiteratureItemList;
041 import org.qedeq.kernel.se.base.module.Location;
042 import org.qedeq.kernel.se.base.module.LocationList;
043 import org.qedeq.kernel.se.base.module.ModusPonens;
044 import org.qedeq.kernel.se.base.module.Node;
045 import org.qedeq.kernel.se.base.module.PredicateDefinition;
046 import org.qedeq.kernel.se.base.module.Proof;
047 import org.qedeq.kernel.se.base.module.ProofList;
048 import org.qedeq.kernel.se.base.module.Proposition;
049 import org.qedeq.kernel.se.base.module.Qedeq;
050 import org.qedeq.kernel.se.base.module.ReasonType;
051 import org.qedeq.kernel.se.base.module.Rename;
052 import org.qedeq.kernel.se.base.module.Rule;
053 import org.qedeq.kernel.se.base.module.Section;
054 import org.qedeq.kernel.se.base.module.SectionList;
055 import org.qedeq.kernel.se.base.module.Specification;
056 import org.qedeq.kernel.se.base.module.Subsection;
057 import org.qedeq.kernel.se.base.module.SubsectionList;
058 import org.qedeq.kernel.se.base.module.SubsectionType;
059 import org.qedeq.kernel.se.base.module.SubstFree;
060 import org.qedeq.kernel.se.base.module.SubstFunc;
061 import org.qedeq.kernel.se.base.module.SubstPred;
062 import org.qedeq.kernel.se.base.module.Term;
063 import org.qedeq.kernel.se.base.module.Universal;
064 import org.qedeq.kernel.se.base.module.UsedByList;
065 import org.qedeq.kernel.se.base.module.VariableList;
066 import org.qedeq.kernel.se.common.ModuleDataException;
067 
068 /**
069  * Here are all elements to visit assembled that can be visited within a  QEDEQ module.
070  *
071  @author Michael Meyling
072  */
073 public interface QedeqVisitor extends ListVisitor {
074 
075     /**
076      * Visit certain element. Begin of visit.
077      *
078      @param   author              Begin visit of this element.
079      @throws  ModuleDataException Major problem occurred.
080      */
081     public void visitEnter(Author authorthrows ModuleDataException;
082 
083     /**
084      * Visit certain element. Begin of visit.
085      *
086      @param   authorList          Begin visit of this element.
087      @throws  ModuleDataException Major problem occurred.
088      */
089     public void visitEnter(AuthorList authorListthrows ModuleDataException;
090 
091     /**
092      * Visit certain element. Begin of visit.
093      *
094      @param   axiom               Begin visit of this element.
095      @throws  ModuleDataException Major problem occurred.
096      */
097     public void visitEnter(Axiom axiomthrows ModuleDataException;
098 
099     /**
100      * Visit certain element. Begin of visit.
101      *
102      @param   chapter             Begin visit of this element.
103      @throws  ModuleDataException Major problem occurred.
104      */
105     public void visitEnter(Chapter chapterthrows ModuleDataException;
106 
107     /**
108      * Visit certain element. Begin of visit.
109      *
110      @param   chapterList         Begin visit of this element.
111      @throws  ModuleDataException Major problem occurred.
112      */
113     public void visitEnter(ChapterList chapterListthrows ModuleDataException;
114 
115     /**
116      * Visit certain element. Begin of visit.
117      *
118      @param   formula       Begin visit of this element.
119      @throws  ModuleDataException Major problem occurred.
120      */
121     public void visitEnter(Formula formulathrows ModuleDataException;
122 
123     /**
124      * Visit certain element. Begin of visit.
125      *
126      @param   functionDefinition  Begin visit of this element.
127      @throws  ModuleDataException Major problem occurred.
128      */
129     public void visitEnter(InitialFunctionDefinition functionDefinitionthrows ModuleDataException;
130 
131     /**
132      * Visit certain element. Begin of visit.
133      *
134      @param   functionDefinition  Begin visit of this element.
135      @throws  ModuleDataException Major problem occurred.
136      */
137     public void visitEnter(FunctionDefinition functionDefinitionthrows ModuleDataException;
138 
139     /**
140      * Visit certain element. Begin of visit.
141      *
142      @param   header              Begin visit of this element.
143      @throws  ModuleDataException Major problem occurred.
144      */
145     public void visitEnter(Header headerthrows ModuleDataException;
146 
147     /**
148      * Visit certain element. Begin of visit.
149      *
150      @param   imp                 Begin visit of this element.
151      @throws  ModuleDataException Major problem occurred.
152      */
153     public void visitEnter(Import impthrows ModuleDataException;
154 
155     /**
156      * Visit certain element. Begin of visit.
157      *
158      @param   importList          Begin visit of this element.
159      @throws  ModuleDataException Major problem occurred.
160      */
161     public void visitEnter(ImportList importListthrows ModuleDataException;
162 
163     /**
164      * Visit certain element. Begin of visit.
165      *
166      @param   latex               Begin visit of this element.
167      @throws  ModuleDataException Major problem occurred.
168      */
169     public void visitEnter(Latex latexthrows ModuleDataException;
170 
171     /**
172      * Visit certain element. Begin of visit.
173      *
174      @param   latexList           Begin visit of this element.
175      @throws  ModuleDataException Major problem occurred.
176      */
177     public void visitEnter(LatexList latexListthrows ModuleDataException;
178 
179     /**
180      * Visit certain element. Begin of visit.
181      *
182      @param   linkList            Begin visit of this element.
183      @throws  ModuleDataException Major problem occurred.
184      */
185     public void visitEnter(LinkList linkListthrows ModuleDataException;
186 
187     /**
188      * Visit certain element. Begin of visit.
189      *
190      @param   literatureItem      Begin visit of this element.
191      @throws  ModuleDataException Major problem occurred.
192      */
193     public void visitEnter(LiteratureItem literatureItemthrows ModuleDataException;
194 
195     /**
196      * Visit certain element. Begin of visit.
197      *
198      @param   literatureItemList  Begin visit of this element.
199      @throws  ModuleDataException Major problem occurred.
200      */
201     public void visitEnter(LiteratureItemList literatureItemListthrows ModuleDataException;
202 
203     /**
204      * Visit certain element. Begin of visit.
205      *
206      @param   location            Begin visit of this element.
207      @throws  ModuleDataException Major problem occurred.
208      */
209     public void visitEnter(Location locationthrows ModuleDataException;
210 
211     /**
212      * Visit certain element. Begin of visit.
213      *
214      @param   locationList        Begin visit of this element.
215      @throws  ModuleDataException Major problem occurred.
216      */
217     public void visitEnter(LocationList locationListthrows ModuleDataException;
218 
219     /**
220      * Visit certain element. Begin of visit.
221      *
222      @param   node                Begin visit of this element.
223      @throws  ModuleDataException Major problem occurred.
224      */
225     public void visitEnter(Node nodethrows ModuleDataException;
226 
227     /**
228      * Visit certain element. Begin of visit.
229      *
230      @param   predicateDefinition Begin visit of this element.
231      @throws  ModuleDataException Major problem occurred.
232      */
233     public void visitEnter(InitialPredicateDefinition predicateDefinitionthrows ModuleDataException;
234 
235     /**
236      * Visit certain element. Begin of visit.
237      *
238      @param   predicateDefinition Begin visit of this element.
239      @throws  ModuleDataException Major problem occurred.
240      */
241     public void visitEnter(PredicateDefinition predicateDefinitionthrows ModuleDataException;
242 
243     /**
244      * Visit certain element. Begin of visit.
245      *
246      @param   proof               Begin visit of this element.
247      @throws  ModuleDataException Major problem occurred.
248      */
249     public void visitEnter(FormalProof proofthrows ModuleDataException;
250 
251     /**
252      * Visit certain element. Begin of visit.
253      *
254      @param   proofList       Begin visit of this element.
255      @throws  ModuleDataException Major problem occurred.
256      */
257     public void visitEnter(FormalProofList proofListthrows ModuleDataException;
258 
259     /**
260      * Visit certain element. Begin of visit.
261      *
262      @param   proofLine           Begin visit of this element.
263      @throws  ModuleDataException Major problem occurred.
264      */
265     public void visitEnter(FormalProofLine proofLinethrows ModuleDataException;
266 
267     /**
268      * Visit certain element. Begin of visit.
269      *
270      @param   reasonType          End visit of this element.
271      @throws  ModuleDataException Major problem occurred.
272      */
273     public void visitEnter(ReasonType reasonTypethrows ModuleDataException;
274 
275     /**
276      * Visit certain element. Begin of visit.
277      *
278      @param   reason              Begin visit of this element.
279      @throws  ModuleDataException Major problem occurred.
280      */
281     public void visitEnter(ModusPonens reasonthrows ModuleDataException;
282 
283     /**
284      * Visit certain element. Begin of visit.
285      *
286      @param   reason              Begin visit of this element.
287      @throws  ModuleDataException Major problem occurred.
288      */
289     public void visitEnter(Add reasonthrows ModuleDataException;
290 
291     /**
292      * Visit certain element. Begin of visit.
293      *
294      @param   reason              Begin visit of this element.
295      @throws  ModuleDataException Major problem occurred.
296      */
297     public void visitEnter(Rename reasonthrows ModuleDataException;
298 
299     /**
300      * Visit certain element. Begin of visit.
301      *
302      @param   reason              Begin visit of this element.
303      @throws  ModuleDataException Major problem occurred.
304      */
305     public void visitEnter(SubstFree reasonthrows ModuleDataException;
306 
307     /**
308      * Visit certain element. Begin of visit.
309      *
310      @param   reason              Begin visit of this element.
311      @throws  ModuleDataException Major problem occurred.
312      */
313     public void visitEnter(SubstFunc reasonthrows ModuleDataException;
314 
315     /**
316      * Visit certain element. Begin of visit.
317      *
318      @param   reason              Begin visit of this element.
319      @throws  ModuleDataException Major problem occurred.
320      */
321     public void visitEnter(SubstPred reasonthrows ModuleDataException;
322 
323     /**
324      * Visit certain element. Begin of visit.
325      *
326      @param   reason              Begin visit of this element.
327      @throws  ModuleDataException Major problem occurred.
328      */
329     public void visitEnter(Existential reasonthrows ModuleDataException;
330 
331     /**
332      * Visit certain element. Begin of visit.
333      *
334      @param   reason              Begin visit of this element.
335      @throws  ModuleDataException Major problem occurred.
336      */
337     public void visitEnter(Universal reasonthrows ModuleDataException;
338 
339     /**
340      * Visit certain element. Begin of visit.
341      *
342      @param   proofLineList       Begin visit of this element.
343      @throws  ModuleDataException Major problem occurred.
344      */
345     public void visitEnter(FormalProofLineList proofLineListthrows ModuleDataException;
346 
347     /**
348      * Visit certain element. Begin of visit.
349      *
350      @param   proof               Begin visit of this element.
351      @throws  ModuleDataException Major problem occurred.
352      */
353     public void visitEnter(Proof proofthrows ModuleDataException;
354 
355     /**
356      * Visit certain element. Begin of visit.
357      *
358      @param   proofList           Begin visit of this element.
359      @throws  ModuleDataException Major problem occurred.
360      */
361     public void visitEnter(ProofList proofListthrows ModuleDataException;
362 
363     /**
364      * Visit certain element. Begin of visit.
365      *
366      @param   proposition         Begin visit of this element.
367      @throws  ModuleDataException Major problem occurred.
368      */
369     public void visitEnter(Proposition propositionthrows ModuleDataException;
370 
371     /**
372      * Visit certain element. Begin of visit.
373      *
374      @param   qedeq               Begin visit of this element.
375      @throws  ModuleDataException Major problem occurred.
376      */
377     public void visitEnter(Qedeq qedeqthrows ModuleDataException;
378 
379     /**
380      * Visit certain element. Begin of visit.
381      *
382      @param   rule                Begin visit of this element.
383      @throws  ModuleDataException Major problem occurred.
384      */
385     public void visitEnter(Rule rulethrows ModuleDataException;
386 
387     /**
388      * Visit certain element. Begin of visit.
389      *
390      @param   section             Begin visit of this element.
391      @throws  ModuleDataException Major problem occurred.
392      */
393     public void visitEnter(Section sectionthrows ModuleDataException;
394 
395     /**
396      * Visit certain element. Begin of visit.
397      *
398      @param   sectionList         Begin visit of this element.
399      @throws  ModuleDataException Major problem occurred.
400      */
401     public void visitEnter(SectionList sectionListthrows ModuleDataException;
402 
403     /**
404      * Visit certain element. Begin of visit.
405      *
406      @param   specification       Begin visit of this element.
407      @throws  ModuleDataException Major problem occurred.
408      */
409     public void visitEnter(Specification specificationthrows ModuleDataException;
410 
411     /**
412      * Visit certain element. Begin of visit.
413      *
414      @param   subsection          Begin visit of this element.
415      @throws  ModuleDataException Major problem occurred.
416      */
417     public void visitEnter(Subsection subsectionthrows ModuleDataException;
418 
419     /**
420      * Visit certain element. Begin of visit.
421      *
422      @param   subsectionList      Begin visit of this element.
423      @throws  ModuleDataException Major problem occurred.
424      */
425     public void visitEnter(SubsectionList subsectionListthrows ModuleDataException;
426 
427     /**
428      * Visit certain element. Begin of visit.
429      *
430      @param   subsectionType      Begin visit of this element.
431      @throws  ModuleDataException Major problem occurred.
432      */
433     public void visitEnter(SubsectionType subsectionTypethrows ModuleDataException;
434 
435     /**
436      * Visit certain element. Begin of visit.
437      *
438      @param   term      Begin visit of this element.
439      @throws  ModuleDataException Major problem occurred.
440      */
441     public void visitEnter(Term termthrows ModuleDataException;
442 
443     /**
444      * Visit certain element. Begin of visit.
445      *
446      @param   usedByList          Begin visit of this element.
447      @throws  ModuleDataException Major problem occurred.
448      */
449     public void visitEnter(UsedByList usedByListthrows ModuleDataException;
450 
451     /**
452      * Visit certain element. Begin of visit.
453      *
454      @param   variableList        Begin visit of this element.
455      @throws  ModuleDataException Major problem occurred.
456      */
457     public void visitEnter(VariableList variableListthrows ModuleDataException;
458 
459     /**
460      * Visit certain element. End of visit.
461      *
462      @param   author              End visit of this element.
463      @throws  ModuleDataException Major problem occurred.
464      */
465     public void visitLeave(Author authorthrows ModuleDataException;
466 
467     /**
468      * Visit certain element. End of visit.
469      *
470      @param   authorList          End visit of this element.
471      @throws  ModuleDataException Major problem occurred.
472      */
473     public void visitLeave(AuthorList authorListthrows ModuleDataException;
474 
475     /**
476      * Visit certain element. End of visit.
477      *
478      @param   axiom               End visit of this element.
479      @throws  ModuleDataException Major problem occurred.
480      */
481     public void visitLeave(Axiom axiomthrows ModuleDataException;
482 
483     /**
484      * Visit certain element. End of visit.
485      *
486      @param   chapter             End visit of this element.
487      @throws  ModuleDataException Major problem occurred.
488      */
489     public void visitLeave(Chapter chapterthrows ModuleDataException;
490 
491     /**
492      * Visit certain element. End of visit.
493      *
494      @param   chapterList         End visit of this element.
495      @throws  ModuleDataException Major problem occurred.
496      */
497     public void visitLeave(ChapterList chapterListthrows ModuleDataException;
498 
499     /**
500      * Visit certain element. End of visit.
501      *
502      @param   formula       End visit of this element.
503      @throws  ModuleDataException Major problem occurred.
504      */
505     public void visitLeave(Formula formulathrows ModuleDataException;
506 
507     /**
508      * Visit certain element. End of visit.
509      *
510      @param   functionDefinition  End visit of this element.
511      @throws  ModuleDataException Major problem occurred.
512      */
513     public void visitLeave(InitialFunctionDefinition functionDefinitionthrows ModuleDataException;
514 
515     /**
516      * Visit certain element. End of visit.
517      *
518      @param   functionDefinition  End visit of this element.
519      @throws  ModuleDataException Major problem occurred.
520      */
521     public void visitLeave(FunctionDefinition functionDefinitionthrows ModuleDataException;
522 
523     /**
524      * Visit certain element. End of visit.
525      *
526      @param   header              End visit of this element.
527      @throws  ModuleDataException Major problem occurred.
528      */
529     public void visitLeave(Header headerthrows ModuleDataException;
530 
531     /**
532      * Visit certain element. End of visit.
533      *
534      @param   imp                 End visit of this element.
535      @throws  ModuleDataException Major problem occurred.
536      */
537     public void visitLeave(Import impthrows ModuleDataException;
538 
539     /**
540      * Visit certain element. End of visit.
541      *
542      @param   importList          End visit of this element.
543      @throws  ModuleDataException Major problem occurred.
544      */
545     public void visitLeave(ImportList importListthrows ModuleDataException;
546 
547     /**
548      * Visit certain element. End of visit.
549      *
550      @param   latex               End visit of this element.
551      @throws  ModuleDataException Major problem occurred.
552      */
553     public void visitLeave(Latex latexthrows ModuleDataException;
554 
555     /**
556      * Visit certain element. End of visit.
557      *
558      @param   latexList           End visit of this element.
559      @throws  ModuleDataException Major problem occurred.
560      */
561     public void visitLeave(LatexList latexListthrows ModuleDataException;
562 
563     /**
564      * Visit certain element. End of visit.
565      *
566      @param   linkList            End visit of this element.
567      @throws  ModuleDataException Major problem occurred.
568      */
569     public void visitLeave(LinkList linkListthrows ModuleDataException;
570 
571     /**
572      * Visit certain element. End of visit.
573      *
574      @param   literatureItem      End visit of this element.
575      @throws  ModuleDataException Major problem occurred.
576      */
577     public void visitLeave(LiteratureItem literatureItemthrows ModuleDataException;
578 
579     /**
580      * Visit certain element. End of visit.
581      *
582      @param   literatureItemList  End visit of this element.
583      @throws  ModuleDataException Major problem occurred.
584      */
585     public void visitLeave(LiteratureItemList literatureItemListthrows ModuleDataException;
586 
587     /**
588      * Visit certain element. End of visit.
589      *
590      @param   location            End visit of this element.
591      @throws  ModuleDataException Major problem occurred.
592      */
593     public void visitLeave(Location locationthrows ModuleDataException;
594 
595     /**
596      * Visit certain element. End of visit.
597      *
598      @param   locationList        End visit of this element.
599      @throws  ModuleDataException Major problem occurred.
600      */
601     public void visitLeave(LocationList locationListthrows ModuleDataException;
602 
603     /**
604      * Visit certain element. End of visit.
605      *
606      @param   authorList          End visit of this element.
607      @throws  ModuleDataException Major problem occurred.
608      */
609     public void visitLeave(Node authorListthrows ModuleDataException;
610 
611     /**
612      * Visit certain element. End of visit.
613      *
614      @param   predicateDefinition End visit of this element.
615      @throws  ModuleDataException Major problem occurred.
616      */
617     public void visitLeave(InitialPredicateDefinition predicateDefinitionthrows ModuleDataException;
618 
619     /**
620      * Visit certain element. End of visit.
621      *
622      @param   predicateDefinition End visit of this element.
623      @throws  ModuleDataException Major problem occurred.
624      */
625     public void visitLeave(PredicateDefinition predicateDefinitionthrows ModuleDataException;
626 
627     /**
628      * Visit certain element. End of visit.
629      *
630      @param   proofList       End visit of this element.
631      @throws  ModuleDataException Major problem occurred.
632      */
633     public void visitLeave(FormalProofList proofListthrows ModuleDataException;
634 
635     /**
636      * Visit certain element. End of visit.
637      *
638      @param   proof               End visit of this element.
639      @throws  ModuleDataException Major problem occurred.
640      */
641     public void visitLeave(FormalProof proofthrows ModuleDataException;
642 
643     /**
644      * Visit certain element. End of visit.
645      *
646      @param   proofLine           End visit of this element.
647      @throws  ModuleDataException Major problem occurred.
648      */
649     public void visitLeave(FormalProofLine proofLinethrows ModuleDataException;
650 
651     /**
652      * Visit certain element. End of visit.
653      *
654      @param   reasonType          End visit of this element.
655      @throws  ModuleDataException Major problem occurred.
656      */
657     public void visitLeave(ReasonType reasonTypethrows ModuleDataException;
658 
659     /**
660      * Visit certain element. End of visit.
661      *
662      @param   proofLineList       End visit of this element.
663      @throws  ModuleDataException Major problem occurred.
664      */
665     public void visitLeave(FormalProofLineList proofLineListthrows ModuleDataException;
666 
667     /**
668      * Visit certain element. End of visit.
669      *
670      @param   reason              End visit of this element.
671      @throws  ModuleDataException Major problem occurred.
672      */
673     public void visitLeave(ModusPonens reasonthrows ModuleDataException;
674 
675     /**
676      * Visit certain element. End of visit.
677      *
678      @param   reason              End visit of this element.
679      @throws  ModuleDataException Major problem occurred.
680      */
681     public void visitLeave(Add reasonthrows ModuleDataException;
682 
683     /**
684      * Visit certain element. End of visit.
685      *
686      @param   reason              End visit of this element.
687      @throws  ModuleDataException Major problem occurred.
688      */
689     public void visitLeave(Rename reasonthrows ModuleDataException;
690 
691     /**
692      * Visit certain element. End of visit.
693      *
694      @param   reason              End visit of this element.
695      @throws  ModuleDataException Major problem occurred.
696      */
697     public void visitLeave(SubstFree reasonthrows ModuleDataException;
698 
699     /**
700      * Visit certain element. End of visit.
701      *
702      @param   reason              End visit of this element.
703      @throws  ModuleDataException Major problem occurred.
704      */
705     public void visitLeave(SubstFunc reasonthrows ModuleDataException;
706 
707     /**
708      * Visit certain element. End of visit.
709      *
710      @param   reason              End visit of this element.
711      @throws  ModuleDataException Major problem occurred.
712      */
713     public void visitLeave(SubstPred reasonthrows ModuleDataException;
714 
715     /**
716      * Visit certain element. End of visit.
717      *
718      @param   reason              End visit of this element.
719      @throws  ModuleDataException Major problem occurred.
720      */
721     public void visitLeave(Existential reasonthrows ModuleDataException;
722 
723     /**
724      * Visit certain element. End of visit.
725      *
726      @param   reason              End visit of this element.
727      @throws  ModuleDataException Major problem occurred.
728      */
729     public void visitLeave(Universal reasonthrows ModuleDataException;
730 
731     /**
732      * Visit certain element. End of visit.
733      *
734      @param   proof               End visit of this element.
735      @throws  ModuleDataException Major problem occurred.
736      */
737     public void visitLeave(Proof proofthrows ModuleDataException;
738 
739     /**
740      * Visit certain element. End of visit.
741      *
742      @param   proofList           End visit of this element.
743      @throws  ModuleDataException Major problem occurred.
744      */
745     public void visitLeave(ProofList proofListthrows ModuleDataException;
746 
747     /**
748      * Visit certain element. End of visit.
749      *
750      @param   proposition         End visit of this element.
751      @throws  ModuleDataException Major problem occurred.
752      */
753     public void visitLeave(Proposition propositionthrows ModuleDataException;
754 
755     /**
756      * Visit certain element. End of visit.
757      *
758      @param   qedeq               End visit of this element.
759      @throws  ModuleDataException Major problem occurred.
760      */
761     public void visitLeave(Qedeq qedeqthrows ModuleDataException;
762 
763     /**
764      * Visit certain element. End of visit.
765      *
766      @param   rule                End visit of this element.
767      @throws  ModuleDataException Major problem occurred.
768      */
769     public void visitLeave(Rule rulethrows ModuleDataException;
770 
771     /**
772      * Visit certain element. End of visit.
773      *
774      @param   section             End visit of this element.
775      @throws  ModuleDataException Major problem occurred.
776      */
777     public void visitLeave(Section sectionthrows ModuleDataException;
778 
779     /**
780      * Visit certain element. End of visit.
781      *
782      @param   sectionList         End visit of this element.
783      @throws  ModuleDataException Major problem occurred.
784      */
785     public void visitLeave(SectionList sectionListthrows ModuleDataException;
786 
787     /**
788      * Visit certain element. End of visit.
789      *
790      @param   specification       End visit of this element.
791      @throws  ModuleDataException Major problem occurred.
792      */
793     public void visitLeave(Specification specificationthrows ModuleDataException;
794 
795     /**
796      * Visit certain element. End of visit.
797      *
798      @param   subsection          End visit of this element.
799      @throws  ModuleDataException Major problem occurred.
800      */
801     public void visitLeave(Subsection subsectionthrows ModuleDataException;
802 
803     /**
804      * Visit certain element. End of visit.
805      *
806      @param   subsectionList      End visit of this element.
807      @throws  ModuleDataException Major problem occurred.
808      */
809     public void visitLeave(SubsectionList subsectionListthrows ModuleDataException;
810 
811     /**
812      * Visit certain element. End of visit.
813      *
814      @param   subsectionType      End visit of this element.
815      @throws  ModuleDataException Major problem occurred.
816      */
817     public void visitLeave(SubsectionType subsectionTypethrows ModuleDataException;
818 
819     /**
820      * Visit certain element. End of visit.
821      *
822      @param   term                End visit of this element.
823      @throws  ModuleDataException Major problem occurred.
824      */
825     public void visitLeave(Term termthrows ModuleDataException;
826 
827     /**
828      * Visit certain element. End of visit.
829      *
830      @param   usedByList          End visit of this element.
831      @throws  ModuleDataException Major problem occurred.
832      */
833     public void visitLeave(UsedByList usedByListthrows ModuleDataException;
834 
835     /**
836      * Visit certain element. End of visit.
837      *
838      @param   variableList        End visit of this element.
839      @throws  ModuleDataException Major problem occurred.
840      */
841     public void visitLeave(VariableList variableListthrows ModuleDataException;
842 
843 }