Computer Science Distance Education Course Implementation: A Case Study in Automated Reasoning Systems Jito Vanualailai∗ Department of Mathematics and Computing Science, University of the South Pacific, Suva, FIJI. February 4, 2004 1 Introduction 1.1 Background The author of this report has been an employee of the University of the South Pacific (USP) 1 since April, 1994, and has begun his term on January 1, 2004, as the Head of the largest department in the university; the Department of Mathematics and Computing Science (henceforth, the Department). The Department caters for about 500 new intakes per year, and has a total enrollment of about 2000 students in the 20 or so courses it offers per year. In the face of rising student number and the rapid development of the information technology, the Department is struggling to meet new challenges, ∗ The author has a PhD in Applied Mathematics in March 1994 from Kobe University, Japan, and is now a senior lecturer in mathematics. 1 USP, established in 1968, is the premier provider of tertiary education in the South Pacific region. Currently, it is owned by 12 island countries; Fiji, Samoa, Cook Islands, Tonga, Solomon Islands, Nauru, Tuvalu, Niue, Kiribati, Vanuatu, Marshall Islands and Tokelau. 1 two of which are particularly urgent, but are difficult and inherently intertwined: (a) the recruitment and retaining of highly qualified computer scientists and mathematicians, and (b) the review of its course offerings, particularly in computing science and information technology, to reflect the changes brought about by the Internet and all that it encompasses. Any review or modernization of course offerings could only be meaningful if the stability of the staffing situation could be guaranteed. As the author begins his term at the helm of the Department, staffing stability is the foremost priority area to look into, with the aim of successfully persuading new staff to complete at least their first contract. This could be done essentially by providing an atmosphere that academics prefer the most: reasonable teaching hours, excellent research support and participation in decision making. It is advantageous to begin, at the same time, the process of reviewing and modernizing, where necessary, the courses offered by the Department. An approach in the modernization process is the adoption of computing science courses that can be offered online via the Internet, at least at the postgraduate level, where the student number is small and therefore easily manageable. Such a course need not be fully maintained by the Department - rather, it is envisaged that the most reasonable approach is to buy online courses from other universities under an agreement that benefits both the recipient (the Department) and the service provider (the other university). The agreement could also cover issues such as the level and type of contribution by each party. For example, the Department could provide computing resources and tutorship, whereas the service provider could provide direction and maintain quality of the course. This JICA-sponsored trip begins the process of delving into such arrangements. In this instance, the trip allows the author to be trained in, and hence gauge the difficulty of, an advanced computing science course, given the constraints faced by his Department, namely that at the postgraduate level (a) the students are equipped with math and computing knowledge, which may not be at the required level, and (b) the Internet is the only available tool to obtain all that is needed for the course. 2 1.2 Purpose of Trip The aim of this three-week JICA-sponsored trip is to study an advanced course in computing science and to determine the possibility of adopting the course offered by the Department of Information Engineering, Shinshu University, Nagano, Japan. The course is for MSc and PhD students and requires very strong mathematical and computing science background. 2 Automated Reasoning Systems Mathematicians rigorously report their findings under, at least, four headings: Definition, Lemma, Theorem and Corollary. Of these, the Theorem section is the most important, since theorems establish once and for all (in a subsection called Proof) the truth of mathematical statements. In Definition, all the terms to be used thereafter are defined mathematically and their consistency with other mathematical definitions are established. In Lemma, necessary results that are used in Theorem are stated and proved. In Corollary, an outcome of the theorems proved in Theorem are stated and, if needs be, proved. The rigorous thought processes within these sections, apparently, can be automated in principle via the computer, with the computer capable of checking each and every mathematical statement, and each and every step that leads from one mathematical statement to another. Indeed, it appears that almost all elementary results in mathematics (e.g. algebra, geometry, trigonometry and set theory) have been already automated via the computer in several systems developed, and in continuous development since the early 1980s, mainly by the Europeans, Japanese and, to some extent, the Americans. For a mathematician, the idea that a mathematical process can be automated, is not new and accepted. Indeed, the usual computer languages like BASIC, FORTRAN, COBOL, C and VISUAL BASIC, and Computer Algebra Systems such as MAPLE, MATLAB and MATHEMATICA, are nothing more than tools to automate a mathematical process. On the other hand, the idea that a mathematical thought process can be automated, is usually ignored 3 for one simple reason: that the automation process is an exercise in boring, even mind-numbing, repetition, of the proof of a mathematical statement. Nonetheless, this ignorance may soon be receding among mathematicians, given recent fast-paced developments that have been helped along by the technologies that now power the Internet. Indeed, several systems have been developed to such stage that real-life engineering applications have begun to appear. Not surprisingly, these applications require complicated algorithms, whose soundness or correctness can only be easily checked by automated reasoning systems. One such well-developed and powerful system is called the Mizar. 3 The Mizar System The Mizar system, named after a star (scientific name: Zeta Ursae Majoris) situated 78 light years away in the Big Dipper, was conceived in 1973 by the Polish mathematician, Andrzej Trybulec, then of Warsaw University and now of BiaÃlystok University, Poland. Trybulec continues to be active in developing the system, and he has now followers in other parts of Europe, Japan and Canada. Japan, under the guidance of Yatsuka Nakamura, a mathematician at Shinshu University, is a particularly active partner in the development of the system. It is at Shinshu University, Nagano, Japan, where the author spends three weeks to study the system. The Mizar system checks the proof of a mathematical statement written in the so-called Mizar computer language to produce the Mizar article. Hence, like any other computer language, the Mizar article can only be typed in a particular format using reserved commands, and then verified via a compiler called the Mizar verifier. For example, the Mizar article (given in the Appendix) shows that the proof of the mathematical statement |a + b| ≤ |a| + |b|, where a, b are real numbers. (1) is correct, where | · | is the absolute value function. The Mizar article is arranged as follows: 4 Step 1: Checks the consistency of the definition of the absolute value function, which is typed in by the user. Step 2: Checks the proofs of several lemmas that the user typed in to facilitate the proving of the final result. Step 3: Checks the proof (typed in by the user) of the final theorem, which is stated in equation (1). 4 Conclusion The Mizar system, especially its ever-expanding Mizar Mathematical Library (MML) database, is now applied by computer scientists and computer science students at the postgraduate level at Shinshu University to problems in artificial intelligence, abstract computers, and electronic engineering. The MML database is, in fact, the most powerful component of the Mizar system, and because of its large size, it is endowed with Internet-based systems such the Journal of Formalized Mathematics and MML Query to help in the search for previously proved theorems to use in a new Mizar article. In this sense, the Internet is extremely important to work efficiently with the Mizar system. The Mizar system is now readily available (for free) and can be taught online. Mizar is an excellent tool to teach the fundamental of mathematics and computing concepts, since every step in a Mizar article requires good mathematical or deductive skills coupled with a good understanding of what the computer does, via the Mizar language, to obtain the required information. The author of this report concludes that it is possible to mount a Mizar course at USP as a specialized applied computing course at the postgraduate level. The author is satisfied that the postgraduate students of his Department are sufficiently equipped with the necessary math and computing background to undertake the course, with the Internet playing a central role in providing necessary support, whether from Shinshu University or elsewhere. 5 5 Acknowledgments The author would like to sincerely thank the officials of JICA for their help in making this visit possible. The following JICA officials were particularly helpful: • Professor Fujinobu Takahashi, Chief Advisor, JICA ICT Capacity Building Project, USP • Ms. Maki Kato, Project Coordinator, JICA ICT Capacity Building Project, USP • Mr. Takayuki Sugawara, Programme Officer, First Programme Division, JICA Tokyo • Mr. Yasuki Kiuchi, Training Coordinator, JICE Also, the author is very grateful to Professor Yatsuka Nakamura of Shinshu University for allowing the visit to take place. His colleagues in the Department of Information Engineering, particularly Professor Yasunari Shidama, Dr. Hiroshi Yamazaki, Dr. Pauline Kawamoto and Ms. Mieko Horiuchi were of tremendous help. Finally, I would like to thank very much Dr. Artur KorniÃlowicz (of BiaÃlystok University, Poland, but on a fellowship programme at the Department of Information Engineering, Shinshu University) for teaching the author the A-B-C of the Mizar system and its many amazing features. Thank you, Artur! 6 6 Appendix environ vocabulary ABS,ARYTM, ARYTM_1; notation XREAL_0, REAL_1, ORDINAL1, XCMPLX_0; constructors XCMPLX_0, XREAL_0, REAL_1; clusters XREAL_0, ARYTM_3; requirements SUBSET, NUMERALS; theorems REAL_1, AXIOMS, XCMPLX_1; begin :: This is the definition of the absolute value function |x| definition let x be real number; func absv(x)->real number means :jitodef1: it=x if x>=0 otherwise it = -x; existence; uniqueness; consistency; end; :: This LEMMA jitothm1 shows that x <= |x| theorem jitothm1: for x being real number holds x <= absv(x) proof let x be real number; per cases; suppose x>=0; hence x<=absv(x) by jitodef1; suppose a0: x<0; then a1: absv(x)=-x by jitodef1; -x>0 by a0, REAL_1:66; then x<=-x by a0, AXIOMS:22; 7 hence x<=absv(x) by a1; end; :: This LEMMA jitothm2 shows that 0 <= |x| theorem jitothm2: for x being real number holds 0<=absv(x) proof let x be real number; per cases; suppose x>=0; hence 0<=absv(x) by jitodef1; suppose a0: x<0; then a1: absv(x)=-x by jitodef1; -x>0 by a0, REAL_1:66; hence 0<=absv(x) by a1; end; :: This LEMMA jitothm3 shows that ||x||=|x| theorem jitothm3: for x being real number holds absv(absv(x))=absv(x) proof let x be real number; 0<=absv(x) by jitothm2; hence thesis by jitodef1; end; :: This LEMMA jitothm4 shows that |x|=|-x| theorem jitothm4: for x being real number holds absv(x)=absv(-x) proof let x be real number; per cases by REAL_1:def 5; suppose x = 0; hence thesis by REAL_1:26, jitodef1; 8 suppose a1: x > 0; then --x>0; then a2: -x<0 by REAL_1:66; thus absv(x) = --x by a1, jitodef1 .= absv(-x) by a2, jitodef1; suppose a1: x < 0; then a2: -x>0 by REAL_1:66; thus absv(x) = -x by a1, jitodef1 .= absv(-x) by a2, jitodef1; end; :: This is the MAIN theorem theorem jitomainthm: for a,b being real number holds absv(a+b)<=absv(a)+absv(b) proof let a,b be real number; per cases; suppose a1: a+b >=0; a<=absv(a) & b<=absv(b) by jitothm1; then a+b <= absv(a)+ absv(b) by REAL_1:55; hence thesis by a1, jitodef1; suppose a1: a+b < 0; -a<=absv(-a) & -b<=absv(-b) by jitothm1; then -a + -b <= absv(-a)+ absv(-b) by REAL_1:55; then -(a + b) <= absv(-a)+ absv(-b) by XCMPLX_1:140; then -(a + b) <= absv(a)+ absv(-b) by jitothm4; then -(a + b) <= absv(a)+ absv(b) by jitothm4; hence thesis by a1,jitodef1; end; 9
© Copyright 2026 Paperzz